/* =========================================================
   RESTART METABOLISMU – PRODUKTY
   Finální galerie podle schválené vizualizace
   Verze 70
   ========================================================= */

body.rm-products-page {
    --rm-green: #123e32;
    --rm-green-hover: #205b49;
    --rm-sage: #cbd8c1;
    --rm-sage-bg: #f5f8f0;
    --rm-coral: #f36b59;
    --rm-text: #111111;
}

/* 1. GALERIE */

body.rm-products-page #content .products-block {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 38px 30px !important;

    align-items: stretch !important;

    margin: 30px 0 55px !important;
    padding: 0 !important;
}

/* 2. VŠECHNY KARTY */

body.rm-products-page #content .products-block > .product {
    position: relative !important;
    display: block !important;
    float: none !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    overflow: visible !important;
    transform: none !important;
}

body.rm-products-page #content .products-block > .product:hover {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 3. VNITŘNÍ OBAL */

body.rm-products-page #content .products-block .product > .p {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* 4. OBRÁZKY – POMĚR SHOPTETU 4:3 */

body.rm-products-page #content .products-block .product .image {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    overflow: hidden !important;
}

body.rm-products-page #content .products-block .product .image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    transform: none !important;
    transition: none !important;
}

body.rm-products-page #content .products-block .product:hover .image img {
    transform: none !important;
}

/* 5. OBSAH POD OBRÁZKEM */

body.rm-products-page #content .products-block .product .p-in {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    width: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.rm-products-page #content .products-block .product .p-in-in {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Název zůstává jako záloha, pokud se nenačte JS */

body.rm-products-page #content .products-block .product .name {
    display: block !important;

    margin: 0 !important;
    padding: 14px 0 10px !important;

    color: var(--rm-text) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;

    text-align: left !important;
    text-decoration: none !important;
}

/* Po úspěšném spuštění JS název skryjeme */

body.rm-products-page #content
.products-block .product.rm-detail-ready .p-in-in .name {
    display: none !important;
}

/* 6. CENA A TLAČÍTKO */

body.rm-products-page #content .products-block .product .p-bottom {
    display: block !important;
    width: 100% !important;

    margin: auto 0 0 !important;
    padding: 14px 0 8px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.rm-products-page #content
.products-block .product .p-bottom > [data-micro="offer"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 12px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.rm-products-page #content .products-block .product .prices {
    display: block !important;
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.rm-products-page #content .products-block .product .price {
    margin: 0 !important;
    padding: 0 !important;
}

body.rm-products-page #content .products-block .product .price,
body.rm-products-page #content .products-block .product .price strong {
    color: var(--rm-text) !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;

    text-align: left !important;
}

/* 7. TLAČÍTKA */

body.rm-products-page #content .products-block .product .p-tools {
    display: flex !important;
    align-items: center !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
}

body.rm-products-page #content .products-block .product .p-tools form {
    margin: 0 !important;
    padding: 0 !important;
}

/* Původní košík je záloha, pokud se JS nespustí */

body.rm-products-page #content .products-block .product .btn,
body.rm-products-page #content .products-block .product .btn-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 130px !important;
    padding: 13px 18px !important;

    background: var(--rm-green) !important;
    color: #ffffff !important;

    border: 1px solid var(--rm-green) !important;
    border-radius: 8px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    box-shadow: none !important;
}

/* Původní košík skryjeme až po vložení nového odkazu */

body.rm-products-page #content
.products-block .product.rm-detail-ready .p-tools form {
    display: none !important;
}

/* Zjistit více */

body.rm-products-page #content
.products-block .product .rm-detail-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 145px !important;
    padding: 13px 20px !important;

    background: var(--rm-green) !important;
    color: #ffffff !important;

    border: 1px solid var(--rm-green) !important;
    border-radius: 8px !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    transition: background 0.2s ease !important;
}

body.rm-products-page #content
.products-block .product .rm-detail-link:hover {
    background: var(--rm-green-hover) !important;
    border-color: var(--rm-green-hover) !important;
    color: #ffffff !important;
}

/* Přesně jedna šipka */

body.rm-products-page #content
.products-block .product .rm-detail-link::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 8px !important;
}

/* 8. PŮVODNÍ ŠTÍTKY SHOPTETU */

body.rm-products-page #content
.products-block .product .flags,
body.rm-products-page #content
.products-block .product .flag {
    display: none !important;
}

/* =========================================================
   9. AUDIO+ – ZVÝRAZNĚNÁ KARTA
   ========================================================= */

/* Světlé pozadí a jemný rámeček */

body.rm-products-page #content
.products-block > .product.rm-bestseller,
body.rm-products-page #content
.products-block > .product.rm-bestseller:hover {
    background: var(--rm-sage-bg) !important;

    border: 2px solid var(--rm-sage) !important;
    border-radius: 13px !important;

    padding: 12px !important;

    box-shadow: none !important;
    transform: none !important;
}

/* Obrázek uvnitř zvýrazněné karty */

body.rm-products-page #content
.products-block .product.rm-bestseller .image {
    overflow: hidden !important;
}

/* Žádný starý štítek přes obrázek */

body.rm-products-page #content
.products-block .product.rm-bestseller .image::before,
body.rm-products-page #content
.products-block .product.rm-bestseller .image::after {
    content: none !important;
    display: none !important;
}

/* Korálový štítek vpravo nahoře nad kartou */

body.rm-products-page #content
.products-block > .product.rm-bestseller::before {
    content: "NEJČASTĚJŠÍ VOLBA" !important;

    position: absolute !important;
    top: -16px !important;
    right: -3px !important;
    z-index: 10 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: auto !important;

    padding: 11px 15px !important;

    background: var(--rm-coral) !important;
    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    line-height: 1.2 !important;

    text-align: center !important;
    white-space: nowrap !important;

    border: 0 !important;
    border-radius: 10px !important;

    box-shadow: none !important;
    pointer-events: none !important;
}

/* Audio+ cena a tlačítko uvnitř karty */

body.rm-products-page #content
.products-block .product.rm-bestseller .p-bottom {
    padding: 14px 6px 8px !important;
}

/* =========================================================
   10. TABLET
   ========================================================= */

@media (max-width: 991px) {

    body.rm-products-page #content .products-block {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 38px 20px !important;
    }

    body.rm-products-page #content
    .products-block .product .price,
    body.rm-products-page #content
    .products-block .product .price strong {
        font-size: 21px !important;
    }

    body.rm-products-page #content
    .products-block .product .rm-detail-link {
        min-width: 125px !important;
        padding: 12px 14px !important;
    }
}

/* =========================================================
   11. MOBIL
   ========================================================= */

@media (max-width: 600px) {

    body.rm-products-page #content .products-block {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 38px !important;
    }

    body.rm-products-page #content
    .products-block .product .price,
    body.rm-products-page #content
    .products-block .product .price strong {
        font-size: 21px !important;
    }

    body.rm-products-page #content
    .products-block .product .rm-detail-link {
        min-width: 125px !important;
        padding: 12px 14px !important;
        font-size: 13px !important;
    }

    body.rm-products-page #content
    .products-block > .product.rm-bestseller::before {
        top: -15px !important;
        right: 8px !important;

        padding: 9px 12px !important;
        font-size: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.rm-products-page #content
    .products-block .product .rm-detail-link {
        transition: none !important;
    }
}