/* ═══════════════════════════════════════════
   FINELF CZ-SK RANKING — OVERRIDES
   Blok: finelf/cz-sk-ranking
   ═══════════════════════════════════════════ */

/* 1. Font rodziny dla całego bloku + max-width */
.offers-ranking-container {
    font-family: var(--font-family);
    max-width: var(--container);
    margin-inline: auto;
}

/* 2. Karta — zaokrąglenie i cień zgodne z motywem */
.offers-ranking-container .offers-ranking-container-offer {
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow);
    border-color: var(--color-border);
}

/* 3. Logo — mniejszy padding */
.offers-ranking-container .offers-ranking-container-offer-body-logo {
    padding: 16px;
}

/* 4. Wyróżniona karta sponsorowana — kolor motywu zamiast #1f2e42 */
.offers-ranking-container .offers-ranking-container-offer--sponsored {
    border-color: var(--color-primary);
}

.offers-ranking-container .offers-ranking-container-offer-header--sponsored {
    background: var(--color-primary);
}

/* 4. Numer miejsca w rankingu */
.offers-ranking-container .offers-ranking-container-offer-header__title .place-number {
    background: var(--color-bg);
    color: var(--color-primary);
}

/* 5. Przycisk CTA — zmiana z czerwonego gradientu na zielony motywu */
.offers-ranking-container .offers-ranking-container-offer-body-action__button {
    background-image: none;
    background-color: var(--color-cta);
    border-radius: var(--radius-sm);
    transition: background-color .2s ease, transform .2s ease;
}

.offers-ranking-container .offers-ranking-container-offer-body-action__button:hover {
    background-color: var(--color-cta-hover);
    transform: translateY(-1px);
}

/* 6. Wartości parametrów — kolor motywu */
.offers-ranking-container .offers-ranking-container-offer-body-parameters__parameter .parameter-value {
    color: var(--color-primary);
}

/* 7. Obramowania wewnętrzne — kolor motywu zamiast #f2f2f2 */
.offers-ranking-container .offers-ranking-container-offer-header__title {
    border-bottom-color: var(--color-border);
}

.offers-ranking-container .offers-ranking-container-offer-body-logo {
    border-bottom-color: var(--color-border);
}

@container ranking (min-width: 612px) {
    .offers-ranking-container .offers-ranking-container-offer-body-logo {
        border-right-color: var(--color-border);
    }

    .offers-ranking-container .offers-ranking-container-offer-header {
        border-bottom-color: var(--color-border);
    }
}

@container ranking (min-width: 1024px) {
    .offers-ranking-container .offers-ranking-container-offer-footer {
        border-top-color: var(--color-border);
    }

    .offers-ranking-container .offers-ranking-container-offer-body-action {
        border-left-color: var(--color-border);
    }
}

.opinion-url--without-url {
    display: none;
}

.offers-ranking-container .offers-ranking-container-offer-footer-tags__hot-offer-tag:empty {
    display: none;
}

/* Oferta sponsorowana bez skonfigurowanych parametrów w panelu — zwiń pustą kolumnę */
.offers-ranking-container .offers-ranking-container-offer-body:not(:has(.offers-ranking-container-offer-body-parameters__parameter)) .offers-ranking-container-offer-body-parameters {
    display: none;
}

@container ranking (min-width: 612px) {
    .offers-ranking-container .offers-ranking-container-offer-body:not(:has(.offers-ranking-container-offer-body-parameters__parameter)) {
        grid-template-areas: "logo action";
        grid-template-columns: auto 1fr;
        align-items: center;
    }

    .offers-ranking-container .offers-ranking-container-offer-body:not(:has(.offers-ranking-container-offer-body-parameters__parameter)) .offers-ranking-container-offer-body-logo {
        border-right: 0;
    }
}

/* Remove header from normal flow — card body moves up, card gets shorter */
.offers-ranking-container .offers-ranking-container-offer {
    position: relative;
}

.offers-ranking-container .offers-ranking-container-offer-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    border-bottom: 0;
}

.offers-ranking-container .offers-ranking-container-offer-header__title {
    width: fit-content;
    border-bottom: 0;
}

/* Mobile: badge oferty sponsorowanej jako pasek nagłówka w normalnym flow —
   absolutny header nachodził na logo. Pusty tytuł (nazwa jest display:none) chowamy. */
.offers-ranking-container .offers-ranking-container-offer--sponsored .offers-ranking-container-offer-header {
    position: static;
    background: transparent;
}

.offers-ranking-container .offers-ranking-container-offer--sponsored .offers-ranking-container-offer-header__title {
    display: none;
}

.offers-ranking-container .offers-ranking-container-offer--sponsored .offers-ranking-container-offer-header--sponsored__badge {
    width: 100%;
    height: auto;
    justify-content: center;
    padding: 10px;
    background-color: var(--color-primary);
    color: #fff;
}

@container ranking (min-width: 612px) {
    .offers-ranking-container .offers-ranking-container-offer-header {
        display: none;
    }
}

/* Wtyczka renderuje parametry jako flex + space-between, więc kolumny mają
   szerokość swojej treści i nie wyrównują się między kartami. Reset
   grid-template-columns jest konieczny, bo reguła bazowa (poza container query)
   ustawia 2fr 2fr — inaczej grid-auto-columns dotyczyłoby dopiero 3. kolumny. */
@container ranking (min-width: 612px) {
    .offers-ranking-container .offers-ranking-container-offer-body-parameters {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        align-items: start;
        justify-content: initial;
    }

    .offers-ranking-container .offers-ranking-container-offer-body-parameters__parameter {
        padding: 0 12px;
    }

    .offers-ranking-container .offers-ranking-container-offer-body-parameters__parameter .parameter-name {
        min-height: 26px;
    }
}
