/**
 * Detail produktu – vizuálne úpravy.
 *
 * Načítava sa iba na stránke detailu produktu, takže sa nemôže prepísať
 * do zvyšku webu. Etapa 1: hierarchia ceny + odznak úspory.
 *
 * Pôvodné pravidlá sú vo web.css (riadky ~3603–3631). Tu ich len prebíjame,
 * nič sa neodstraňuje – stačí odstrániť <link> a všetko je ako predtým.
 */

/* --- 1. Cena ------------------------------------------------------------- */

.productDetail__main .productDetail__price {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    padding: 10px 0 6px;
}

/* Aktuálna cena ide vizuálne na prvé miesto a je výrazne väčšia. */
.productDetail__main .productDetail__price .productDetail__price__current {
    order: 1;
    margin: 0;
}

.productDetail__main .productDetail__price .productDetail__price__current span.text--small {
    font-weight: 700;
    font-size: 3.2rem !important;
    line-height: 1.1;
    color: #167ac6;
    letter-spacing: -0.02em;
}

/* Pôvodná cena je až za ňou, menšia a tlmená. */
.productDetail__main .productDetail__price .productDetail__price__previous {
    order: 2;
    margin-right: 0;
    color: #9aa0a6;
    text-decoration: line-through;
}

.productDetail__main .productDetail__price .productDetail__price__previous span.text--small {
    font-size: 1.6rem !important;
    font-weight: 400;
}

/* --- 2. Odznak úspory ---------------------------------------------------- */

.productDetail__saving {
    order: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #e7f6ec;
    border: 1px solid #b7e4c7;
    color: #1b7a41;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.productDetail__saving i {
    font-size: 1.2rem;
}

/* --- 3. Pravý panel s parametrami ---------------------------------------- */
/*
 * Z dvoch riadkov (VEĽKÝ NADPIS + sivý štítok pod ním) sa stáva tabuľka:
 * názov vľavo, hodnota vpravo, medzi riadkami tenká linka.
 *
 * Všetko je zámerne obmedzené na .content__right. Ten istý panel je totiž
 * v šablóne aj druhýkrát, v .content__left, kde sa pod 1200 px zobrazuje ako
 * štvorstĺpcová mriežka – tej sa nesmieme dotknúť.
 */

.content__right .productDetail__sidebar.site--box {
    padding: 6px 20px;
}

.content__right .productDetail__sidebar.site--box .productDetail__sidebar__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 0;
    padding: 12px 0;
    border-bottom: 1px solid #edeff2;
}

.content__right .productDetail__sidebar.site--box .productDetail__sidebar__item:last-child {
    border-bottom: 0;
}

/* Názov parametra: bez verzálok, tlmený, nie tučný. */
.content__right .productDetail__sidebar.site--box .productDetail__sidebar__item .text--sm-title {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.35;
    text-transform: none;
    color: #6b7280;
}

/* Hodnoty sa zarovnávajú doprava. */
.content__right .productDetail__sidebar.site--box .productDetail__sidebar__item ul {
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
}

.content__right .productDetail__sidebar.site--box .productDetail__sidebar__item ul li {
    margin: 0;
}

/* Sivý štítok sa mení na obyčajný text. */
.content__right .productDetail__sidebar.site--box .productDetail__sidebar__item ul li .text--label {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    color: #1f2937;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.35;
    text-align: right;
}

/* --- 4. Doladenie -------------------------------------------------------- */

/*
 * Štítky („Nová licencia“, „Trvalá, prenosná“…) boli absolútne umiestnené
 * cez ľavý horný roh a ležali priamo na krabici produktu. Presúvame ich
 * nad obrázok do jedného riadka a zmenšujeme.
 *
 * V DOM je poradie img → discountLabel → štítky, preto je náhľad flex
 * stĺpec a poradie sa mení cez order.
 *
 * Farby sa nastavujú inline z administrácie, tie nechávame tak.
 */
/*
 * POZOR: náhľad je v šablóne dvakrát. Vonkajší (priame dieťa .productDetail__main)
 * sa zobrazuje nad 900 px, vnútorný (v .productDetail__main__content) pod 900 px.
 * Vždy je viditeľný práve jeden.
 *
 * Preto sa tu nesmie nastavovať display bez obmedzenia na šírku – prebilo by to
 * `display: none` toho druhého a produkt by mal dva rovnaké obrázky.
 *
 * Úprava sa týka len desktopového náhľadu. Mobilný ostáva presne ako bol.
 */
@media (min-width: 901px) {
    /*
     * Náhľad je riadok, ktorý sa zalamuje: prvý riadok nesú štítky spolu so
     * zľavou, obrázok ide pod ne cez celú šírku (flex-basis 100 %).
     * V DOM je poradie img -> discountLabel -> štítky, preto order.
     */
    .productDetail__main > .productDetail__main__preview {
        display: flex;
        flex-flow: row wrap;
        align-items: flex-start;
        /*
         * align-content musí byť flex-start. Bez neho je hodnota "normal", čo sa
         * pri wrape správa ako stretch: kontajner je vysoký kvôli obrázku a voľná
         * výška sa rozdelí medzi zalomené riadky – riadok so štítkami sa roztiahol
         * z 21 px na 37 px a medzi štítkami vznikla diera. Prejaví sa len vtedy,
         * keď sú štítky dosť dlhé na zalomenie do druhého riadka.
         */
        align-content: flex-start;
        gap: 6px;
    }

    .productDetail__main > .productDetail__main__preview img {
        order: 3;
        flex: 0 0 100%;
        margin-top: 10px;
    }

    /*
     * display: contents vyradí obal štítkov z rozloženia, takže sa jednotlivé
     * štítky stanú priamymi položkami náhľadu. Bez toho tvorili samostatný blok
     * a zľava sa nemala ako zaradiť medzi ne – padala na vlastný riadok, aj keď
     * vedľa bolo miesto.
     */
    .productDetail__main > .productDetail__main__preview .productCard__labels--left {
        display: contents;
    }

    /* Zľava je teraz súčasťou riadka so štítkami, nie odznak v rohu. */
    .productDetail__main > .productDetail__main__preview .discountLabel {
        order: 2;
        position: static;
        top: auto;
        right: auto;
        align-self: flex-start;
        margin: 0;
        padding: 2px 7px;
        border-radius: 999px;
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1.45;
    }

    .productDetail__main > .productDetail__main__preview .productCard__label {
        order: 1;
        margin: 0;
        padding: 2px 7px;
        border-radius: 999px;
    }

    .productDetail__main > .productDetail__main__preview .productCard__label p {
        font-size: 1.2rem;
        line-height: 1.45;
        white-space: nowrap;
    }
}

/* --- 5. Názov produktu ---------------------------------------------------- */
/*
 * Názov mal na desktope 24 px oproti 32 px ceny – pôsobil ako podnadpis.
 * Dvíhame na 28 px, cena tak ostáva dominantná, ale rozdiel nie je taký veľký.
 *
 * Zámerne nízka špecificita: pre úzke displeje existuje vlastné pravidlo
 * (web.css:3597) s 32 px, ktoré musí ostať v platnosti.
 */
.productDetail__main .productDetail__main__content h4 {
    font-size: 2.8rem;
    line-height: 1.2;
}

/* --- 6. Dostupnosť a doručenie -------------------------------------------- */
/*
 * Riadky „Skladom / Predpokladané doručenie / Licencia / Záruka“ mali 16 px,
 * teda viac než select aj pravý panel (14 px) – boli najväčším bežným textom
 * na stránke. Zrovnávame ich na 14 px, čo je hlavná veľkosť tejto šablóny.
 */
/*
 * Riadky sedeli na sebe nadoraz – každý meral 21 px a nemal žiadny odstup,
 * takže dostupnosť, doručenie, licencia a záruka splývali do jedného bloku.
 * Pridávame medzeru medzi ne.
 */
.productDetail__main .productDetail__main__content .text--ico {
    display: block;
    margin-bottom: 6px;
    font-size: 1.4rem;
    line-height: 1.5;
}

.productDetail__main .productDetail__main__content .text--ico:last-of-type {
    margin-bottom: 0;
}

/* --- 6. Varianta, množstvo, tlačidlo, kupón ------------------------------ */
/*
 * Podľa návrhu: výber varianty ako ohraničené pole, tlačidlá na bielom
 * (nie v modrom boxe) a zľavový kupón ako samostatný pruh pod nimi.
 */

/* Popisok nad výberom varianty – menší a tlmený. */
.productDetail__main label[for="products_variants"] {
    font-size: 1.3rem;
    color: #6b7280;
    font-weight: 400;
}

/* Výber varianty: biele pole s rámom namiesto sivej výplne. */
.productDetail__main #products_variants {
    background-color: #ffffff;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    height: 40px;
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 12px;
    padding-right: 38px;
}

/*
 * Šípka.
 *
 * V šablóne síce je <i class="bi bi-chevron-down">, ale sedí vnútri
 * <div class="select">, čo je skrytá náhrada selectu od frameworku – má
 * nulové rozmery a nikdy sa nevykreslí. Navyše Bootstrap Icons sa na webe
 * vôbec nenačítavajú (používa sa Font Awesome).
 *
 * Preto si vkladáme vlastný prvok (product-detail.js). Skutočný prvok,
 * nie pozadie selectu – pozadie sa nedá otočiť.
 */
.productDetail__main .inputContainer[js-id="input::select#products_variants"] {
    position: relative;
}

.productDetail__main .pd-select-arrow {
    position: absolute;
    right: 13px;
    bottom: 13px;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px;
    pointer-events: none;
    transition: transform 0.18s ease;
}

.productDetail__main .inputContainer.is-select-open .pd-select-arrow {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .productDetail__main .pd-select-arrow {
        transition: none;
    }
}

/*
 * Modrý box okolo tlačidiel v návrhu nie je – tlačidlá stoja na bielom
 * a kupón je až pod nimi cez celú šírku.
 */
.productDetail__main .productDetail__ctaContainer {
    background-color: transparent;
    padding: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

/* Riadok s tlačidlami zaberá celú šírku, „Kúpiť“ vypĺňa zvyšok. */
.productDetail__main .productDetail__ctaContainer > div:first-child {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 0;
}

.productDetail__main .productDetail__ctaContainer > div:first-child > *:not(:last-child) {
    margin-right: 0;
}

.productDetail__main .productDetail__ctaContainer .btn--buy {
    flex: 1 1 auto;
    font-weight: 600;
    white-space: nowrap;
}

/* Mobilné šírky sú až na konci súboru – musia prísť po základných hodnotách. */

/*
 * Množstvo ako krokovač − / číslo / +, ako je v návrhu.
 *
 * V šablóne sú obe tlačidlá zabalené v <div class="input__buttons"> vedľa
 * vstupu, teda v jednom stĺpci. `display: contents` ten obal vyradí z rozloženia,
 * takže sa tlačidlá stanú priamymi položkami riadka a dajú sa cez `order`
 * rozostaviť na obe strany čísla.
 *
 * Ikony chevron-up/down skrývame a znamienka kreslíme cez ::before bežným
 * písmom – nezávisle na tom, či sa Font Awesome načíta.
 */
.productDetail__main .productDetail__ctaContainer .inputContainer--number {
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    background-color: #ffffff;
    width: 122px;
    min-width: 122px;
}

/*
 * Framework dáva .input výšku 50 px. Krokovač má 2px rám na oboch stranách,
 * takže vnútro musí byť o 4 px nižšie než cieľových 44 – inak by riadok
 * nesedel na rovnakej výške.
 */
.productDetail__main .inputContainer--number .input {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 40px;
}

.productDetail__main .inputContainer--number .input__buttons {
    display: contents;
}

.productDetail__main .inputContainer--number .input__buttons button {
    order: 1;
    width: 34px;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    font-size: 17px;
    line-height: 1;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.productDetail__main .inputContainer--number .input__buttons button:hover {
    background-color: #f3f5f7;
    color: #167ac6;
}

/* Prvé tlačidlo je „hore“ (pridať), preto ide doprava. */
.productDetail__main .inputContainer--number .input__buttons button:first-child {
    order: 3;
}

.productDetail__main .inputContainer--number .input__buttons button i {
    display: none;
}

.productDetail__main .inputContainer--number .input__buttons button:first-child::before {
    content: "+";
}

.productDetail__main .inputContainer--number .input__buttons button:last-child::before {
    content: "\2212";
}

/*
 * Vstup má od frameworku vlastný 2px modrý rám a zaoblenie, oboje cez
 * !important (global.css ~8865). V krokovači to pôsobí ako krabica v krabici,
 * takže to musíme prebiť rovnakou zbraňou. Ohraničenie nesie celý krokovač.
 */
.productDetail__main .inputContainer--number .input input[type="number"] {
    order: 2;
    flex: 1 1 auto;
    min-width: 0 !important;
    width: auto;
    padding: 0;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent;
    -moz-appearance: textfield;
    appearance: textfield;
}

.productDetail__main .inputContainer--number .input input[type="number"]:focus {
    outline: none;
}

/* Zameranie je vidieť na celom krokovači, nie na samotnom čísle. */
.productDetail__main .productDetail__ctaContainer .inputContainer--number:focus-within {
    border-color: #167ac6;
}

.productDetail__main .inputContainer--number input[type="number"]::-webkit-outer-spin-button,
.productDetail__main .inputContainer--number input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*
 * Nižší riadok. 44 px je zároveň spodná hranica pohodlného cieľa pre prst,
 * takže nižšie už nejdeme.
 */
.productDetail__main .productDetail__ctaContainer .btn--buy,
.productDetail__main .productDetail__ctaContainer .btn--heart {
    border-radius: 8px;
    height: 44px;
    min-height: 44px;
}

/*
 * Obľúbené. Srdce má od frameworku farbu #c5c5c5, čo na bielom pozadí
 * prakticky splýva – stmavujeme ho a mierne zväčšujeme.
 *
 * Len pre nezapnutý stav (:not(.is-toggled)), aby sme nezasiahli do farby,
 * ktorou sa označuje produkt už pridaný medzi obľúbené.
 */
.productDetail__main .productDetail__ctaContainer .btn--heart {
    width: 58px;
    min-width: 58px;
}

.productDetail__main .productDetail__ctaContainer .btn--heart i {
    font-size: 18px;
}

/*
 * Farby nastavujeme VÝHRADNE pre pokojný stav.
 *
 * Framework má srdce navrhnuté takto (global.css 9196–9215):
 *   :hover        → biele srdce na červenom (#e84c3d)
 *   .is-toggled   → to isté červené, produkt je v obľúbených
 *   toggled+hover → srdce sa zmení na zlomené = „odobrať“
 *
 * Bez tých :not(...) by naše biele pozadie prebilo červené a biele srdce
 * by na bielom zmizlo.
 */
.productDetail__main .productDetail__ctaContainer .btn--heart:not(:hover):not(.is-toggled):not(.is-followed) {
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
}

.productDetail__main .productDetail__ctaContainer .btn--heart:not(:hover):not(.is-toggled):not(.is-followed) i {
    color: #9ca3af;
}

/* Zľavový kupón: pruh cez celú šírku pod tlačidlami. */
.productDetail__main .productDetail__ctaContainer .text--label-info {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 12px 14px;
    background-color: #eaf3fb;
    border: 1px solid #cfe3f5;
    border-radius: 10px;
    color: #14568f;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
}

/*
 * Blikanie sa vypína len tu. Pruh s pozadím by pulzoval celý a kód kupónu
 * by bol polovicu času neviditeľný.
 */
.productDetail__main .productDetail__ctaContainer .text--label-info.blink {
    -webkit-animation: none;
    animation: none;
    opacity: 1;
}

@media (max-width: 600px) {
    .productDetail__main .productDetail__price .productDetail__price__current span.text--small {
        font-size: 3.4rem !important;
    }

    .productDetail__main .productDetail__price {
        justify-content: flex-start;
    }

    .productDetail__saving {
        order: 4;
        flex-basis: 100%;
        align-self: flex-start;
    }
}

/* --- 7. Mobilné šírky nákupného riadka ------------------------------------ */
/*
 * Na mobile ostáva krokovač, tlačidlo aj srdce v jednom riadku. Aby sa
 * tlačidlo zmestilo, krokovač a srdce sú užšie a popis tlačidla je skrátený
 * („Koupit“) – to rieši product-detail.js podľa šírky okna.
 *
 * Blok je zámerne na konci súboru. Základné šírky (122 px / 58 px) sa
 * nastavujú vyššie s rovnakou špecificitou, takže musí prísť po nich.
 */
@media (max-width: 600px) {
    .productDetail__main .productDetail__ctaContainer > div:first-child {
        gap: 8px;
    }

    .productDetail__main .productDetail__ctaContainer .inputContainer--number {
        width: 104px;
        min-width: 104px;
    }

    .productDetail__main .inputContainer--number .input__buttons button {
        width: 28px;
    }

    .productDetail__main .productDetail__ctaContainer .btn--heart {
        width: 48px;
        min-width: 48px;
    }
}

/* --- 8. Karty variant produktu -------------------------------------------- */
/*
 * Týká sa VÝHRADNE karuselu variant v detaile (.relatedProducts__content).
 * Rovnaké triedy .productCard používa aj výpis v obchode – ten sa nesmie
 * zmeniť, preto je pred každým pravidlom .relatedProducts__content.
 *
 * Pracujeme len s údajmi, ktoré karta varianty naozaj dostáva: názov, obrázok,
 * cena, zľava, štítky. Nič nové z backendu.
 */

/*
 * Rám ani tieň nepredpisujeme – ostáva pôvodné .site--box (biele pozadie,
 * zaoblenie 5 px, bez rámu) a pôvodný tieň pri prejdení myšou
 * (web.css: 0 8px 32px rgba(0,0,0,.1)). Meníme len vnútro karty.
 */
.relatedProducts__content .productCard {
    overflow: hidden;
    background: #fff;
}

.relatedProducts__content .productCard .productCard__preview {
    height: 200px;
    padding: 18px;
    border-radius: 0;
    background: #ffffff;
}

/* Štítky ako pilulky vľavo hore. */
.relatedProducts__content .productCard .productCard__labels--left {
    top: 10px;
    left: 10px;
    gap: 2px;
}

/* Farebné štítky z administrácie – rovnaká veľkosť ako sivé štítky pod názvom. */
.relatedProducts__content .productCard .productCard__labels--left .productCard__label p {
    font-size: 1.2rem;
}


/* Zľavový štítok vpravo hore. */
.relatedProducts__content .productCard .productCard__labels {
    top: 10px;
    right: 10px;
}

.relatedProducts__content .productCard .productCard__labels .productCard__label {
    background: #d8402f;
    color: #fff;
}

/* Názov: väčší, vľavo, dva riadky. */
.relatedProducts__content .productCard .productCard__title {
    min-height: 0;
    padding: 14px 16px 0;
    text-align: left;
    flex-grow: 0;
}

.relatedProducts__content .productCard .productCard__title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
}

.relatedProducts__content .productCard .productCard__title a:hover {
    color: #167ac6;
}

/*
 * Pätka bola vodorovný pásik s pevnou výškou 43 px. Meníme ju na stĺpec,
 * aby sa pod cenu zmestilo tlačidlo cez celú šírku.
 */
.relatedProducts__content .productCard .productCard__footer {
    flex-direction: column;
    align-items: stretch;
    height: auto;
    gap: 10px;
    padding: 12px 16px 16px;
    border-radius: 0;
    overflow: visible;
}

/*
 * Riadok s ikonou kategórie skrývame. Srdce v ňom má nulovú šírku (skrýva ho
 * framework), takže ostávala len osamotená ikona štítu na vlastnom riadku
 * a 37 px zbytočného miesta.
 */
.relatedProducts__content .productCard .productCard__footer__platform {
    display: none;
}

/*
 * Pevná výška bloku s cenou. Bez nej mali karty so zľavou o riadok viac
 * (pôvodná cena) a tlačidlá v karuseli nesedeli na jednej úrovni.
 * align-content: flex-end pritlačí cenu k spodku, takže ceny sú zarovnané
 * naprieč všetkými kartami bez ohľadu na to, či zľavu majú.
 */
.relatedProducts__content .productCard .productCard__footer__price {
    order: 2;
    display: flex;
    align-items: baseline;
    align-content: flex-end;
    /* framework tu má justify-content: center, cena preto stála na stred */
    justify-content: flex-start;
    gap: 4px 8px;
    flex-wrap: wrap;
    min-height: 50px;
    padding: 0;
    border: 0;
    background: transparent;
}

/* Pôvodná cena má vlastný riadok, aby zľava mohla stáť vedľa novej ceny. */
.relatedProducts__content .productCard .productCard__price--old {
    flex: 0 0 100%;
}

.relatedProducts__content .productCard .productCard__footer__price p {
    margin: 0;
}

.relatedProducts__content .productCard .productCard__footer__price .amount,
.relatedProducts__content .productCard .productCard__footer__price .currency {
    font-size: 2rem !important;
    font-weight: 700;
    color: #111827;
}

/* Pôvodná cena – menšia, prečiarknutá. */
.relatedProducts__content .productCard .productCard__price--old .amount,
.relatedProducts__content .productCard .productCard__price--old .currency {
    font-size: 1.3rem !important;
    font-weight: 400;
    color: #9ca3af;
    text-decoration: line-through;
}

/* Tlačidlo cez celú šírku s popisom. */
.relatedProducts__content .productCard .btn--basket {
    order: 3;
    width: 100%;
    height: 34px;
    min-height: 34px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .03em;
    /* Hodnota kľúča BUY je v databáze malými písmenami – verzálky to zrovnajú. */
    text-transform: uppercase;
}

.relatedProducts__content .productCard .btn--basket i {
    font-size: 1.2rem;
}

/* Veľkosť musí sedieť priamo na spane – tlačidlo ju naň neprenesie. */
.relatedProducts__content .productCard .productCard__buyLabel {
    display: inline;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .03em;
}

@media (max-width: 700px) {
    .relatedProducts__content .productCard .productCard__preview {
        height: 170px;
        padding: 14px;
    }

    .relatedProducts__content .productCard .productCard__footer__price .amount,
    .relatedProducts__content .productCard .productCard__footer__price .currency {
        font-size: 1.8rem !important;
    }
}

/* --- 9. Zľava a štítky na kartách variant ---------------------------------- */
/*
 * Obsah dopĺňa product-detail.js. Zľava sa presúva z rohu k cene, štítky sa
 * odvodzujú z názvov variant – žiadne nové dáta z backendu.
 */

/* Odznak zľavy v rohu je zbytočný, keď je zľava pri cene. */
.relatedProducts__content .productCard.pd-has-save .productCard__labels {
    display: none;
}

.relatedProducts__content .productCard .pd-save {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2e9e5b;
    letter-spacing: .02em;
    white-space: nowrap;
}

.relatedProducts__content .productCard .pd-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 8px 16px 0;
}

.relatedProducts__content .productCard .pd-chip {
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1f3f6;
    color: #566270;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}
