@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600;700;800;900&display=swap');

.mod-megamenu>.mod-megamenu--item:last-child {
    margin-left: auto;
}

.mod-megamenu>.mod-megamenu--item:last-child>.mod-megamenu--item-anchor {
    padding-right: 0;
}

/* Richter Czech – mobile header only */
@media (max-width: 991.98px) {
    .top-bar-content {
        background: #fff;
        color: #173768;
        border: 0;
    }

    .top-bar-content .container-inner {
        padding: 14px 0 12px;
    }

    .top-bar-content .top-left {
        display: none !important;
    }

    .top-bar-content .top-right {
        width: 100%;
        justify-content: center !important;
    }

    .top-bar-content .top-right > .mod-inline:not(:first-child) {
        display: none !important;
    }

    .top-bar-content .top-right ul,
    .top-bar-content .top-right .mod-list {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 28px;
        margin: 0;
        padding: 0;
    }

    .top-bar-content .top-right a,
    .top-bar-content .top-right i {
        color: #173768 !important;
        font-size: 27px;
    }

    .header-main,
    .header-main .container-xxl,
    .header-main .container-fluid,
    .header-main .container-inner {
        padding: 0 !important;
        max-width: none;
    }

    .richter-mobile-header {
        width: 100%;
        background: #fff;
    }

    .richter-mobile-main-row {
        display: grid;
        grid-template-columns: minmax(145px, 1.7fr) repeat(3, minmax(62px, .72fr));
        width: 100%;
        min-height: 148px;
        padding: 18px 14px;
        background: #0d2f62;
        color: #fff;
        align-items: stretch;
    }

    .richter-mobile-logo {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 16px 0 4px;
        border-right: 1px solid rgba(255,255,255,.28);
    }

    .richter-mobile-logo .brand-logo,
    .richter-mobile-logo img,
    .richter-mobile-logo .logo {
        display: block;
        width: 100%;
        max-width: 215px;
        height: auto;
        max-height: 105px;
        object-fit: contain;
    }

    .richter-mobile-action {
        position: relative;
        min-width: 0;
        margin: 0;
        padding: 12px 7px;
        border: 0;
        border-right: 1px solid rgba(255,255,255,.28);
        border-radius: 0;
        background: transparent;
        color: #fff !important;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-align: center;
        text-decoration: none;
    }

    .richter-mobile-menu {
        border-right: 0;
    }

    .richter-mobile-action .vpi,
    .richter-mobile-action > i {
        color: #fff !important;
        font-size: 35px;
        line-height: 1;
    }

    .richter-mobile-action-label {
        color: #fff;
        font-size: 14px;
        line-height: 1;
        font-weight: 500;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .richter-mobile-cart > div,
    .richter-mobile-cart .mod-vpprime-minicart,
    .richter-mobile-cart .moduletable {
        display: contents !important;
    }

    .richter-mobile-cart a,
    .richter-mobile-cart .btn-icon {
        color: #fff !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .richter-mobile-cart .jewel {
        background: #e4001b !important;
    }

    .richter-mobile-search {
        width: 100%;
        padding: 22px 18px 14px;
        background: #fff;
    }

    .richter-mobile-search input[type="search"],
    .richter-mobile-search input[type="text"] {
        width: 100%;
        min-height: 62px;
        padding: 12px 70px 12px 24px;
        border: 0;
        border-radius: 20px;
        background: #f4f5f7;
        color: #182638;
        font-size: 17px;
        box-shadow: none;
    }

    .richter-mobile-search input::placeholder {
        color: #8b8f96;
        opacity: 1;
    }

    .richter-mobile-search button,
    .richter-mobile-search .btn {
        min-width: 58px;
    }

    .richter-mobile-quicklinks {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 9px;
        width: 100%;
        padding: 8px 18px 22px;
        background: #fff;
    }

    .richter-mobile-quicklinks a {
        min-width: 0;
        padding: 11px 8px;
        border-radius: 15px;
        background: #f4f5f7;
        color: #0d2f62;
        font-size: 12px;
        line-height: 1.2;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        white-space: normal;
    }

    .richter-mobile-quicklinks a:hover,
    .richter-mobile-quicklinks a:focus {
        background: #e4001b;
        color: #fff;
    }

    body {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 575.98px) {
    .richter-mobile-main-row {
        grid-template-columns: minmax(125px, 1.55fr) repeat(3, minmax(56px, .72fr));
        min-height: 126px;
        padding: 14px 8px;
    }

    .richter-mobile-logo {
        padding: 0 9px 0 2px;
    }

    .richter-mobile-logo .brand-logo,
    .richter-mobile-logo img,
    .richter-mobile-logo .logo {
        max-height: 90px;
    }

    .richter-mobile-action {
        padding: 9px 4px;
        gap: 8px;
    }

    .richter-mobile-action .vpi,
    .richter-mobile-action > i {
        font-size: 30px;
    }

    .richter-mobile-action-label {
        font-size: 11px;
    }

    .richter-mobile-search {
        padding: 18px 12px 11px;
    }

    .richter-mobile-search input[type="search"],
    .richter-mobile-search input[type="text"] {
        min-height: 56px;
        border-radius: 17px;
        font-size: 15px;
    }

    .richter-mobile-quicklinks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 7px 12px 18px;
    }

    .richter-mobile-quicklinks a {
        font-size: 12px;
        padding: 10px 7px;
    }
}

/* Richter Czech – mobile header refinements v3 */
@media (max-width: 991.98px) {
    /* Compact social row */
    .top-bar-content .container-inner {
        padding: 7px 0 6px;
    }

    .top-bar-content .top-right ul,
    .top-bar-content .top-right .mod-list {
        gap: 24px;
    }

    .top-bar-content .top-right a,
    .top-bar-content .top-right i {
        font-size: 22px;
        line-height: 1;
    }

    /* Compact dark-blue logo/action row */
    .richter-mobile-main-row {
        min-height: 104px;
        padding: 10px 10px;
    }

    .richter-mobile-logo {
        padding-right: 10px;
    }

    .richter-mobile-logo .brand-logo,
    .richter-mobile-logo img,
    .richter-mobile-logo .logo {
        max-height: 72px;
    }

    .richter-mobile-action {
        padding: 7px 4px;
        gap: 6px;
    }

    .richter-mobile-action .vpi,
    .richter-mobile-action > i {
        font-size: 28px;
    }

    .richter-mobile-action-label {
        font-size: 10px;
    }

    /* Search field only – remove submit button completely */
    .richter-mobile-search button,
    .richter-mobile-search input[type="submit"],
    .richter-mobile-search .btn,
    .richter-mobile-search [type="submit"] {
        display: none !important;
    }

    .richter-mobile-search form,
    .richter-mobile-search .input-group,
    .richter-mobile-search .search-wrapper,
    .richter-mobile-search .form-group {
        display: block !important;
        width: 100% !important;
    }

    .richter-mobile-search input[type="search"],
    .richter-mobile-search input[type="text"] {
        width: 100% !important;
        padding-right: 24px !important;
        border-radius: 18px !important;
    }

    /* Ensure cart/offcanvas close control is visible on a white panel */
    .offcanvas .btn-icon[data-bs-dismiss="offcanvas"],
    .offcanvas button[data-bs-dismiss="offcanvas"],
    .offcanvas .offcanvas-header .btn-close {
        color: #0d2f62 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .offcanvas .btn-icon[data-bs-dismiss="offcanvas"] .vpi,
    .offcanvas button[data-bs-dismiss="offcanvas"] .vpi {
        color: #0d2f62 !important;
        font-size: 25px !important;
        opacity: 1 !important;
    }
}

@media (max-width: 575.98px) {
    .top-bar-content .container-inner {
        padding: 6px 0 5px;
    }

    .top-bar-content .top-right a,
    .top-bar-content .top-right i {
        font-size: 21px;
    }

    .richter-mobile-main-row {
        min-height: 92px;
        padding: 8px 6px;
    }

    .richter-mobile-logo .brand-logo,
    .richter-mobile-logo img,
    .richter-mobile-logo .logo {
        max-height: 62px;
    }

    .richter-mobile-action {
        padding: 5px 3px;
        gap: 5px;
    }

    .richter-mobile-action .vpi,
    .richter-mobile-action > i {
        font-size: 25px;
    }

    .richter-mobile-action-label {
        font-size: 9px;
    }

    .richter-mobile-search {
        padding-top: 14px;
    }
}

/* ========================================================================
   RICHTER CZECH – MODERN HOMEPAGE
   Applies only inside the article wrapper .richter-homepage
   ======================================================================== */
.richter-homepage {
    --richter-navy: #173665;
    --richter-navy-dark: #0d2f62;
    --richter-red: #e4001b;
    --richter-text: #16243a;
    --richter-muted: #687386;
    --richter-soft: #f4f6f9;
    --richter-line: #dde3eb;
    --richter-shadow: 0 14px 40px rgba(13, 47, 98, .08);
    overflow: hidden;
}

.richter-homepage .richter-home-section {
    position: relative;
    margin-bottom: clamp(3.75rem, 7vw, 7rem);
}

.richter-homepage .richter-section-heading {
    position: relative;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.richter-homepage .richter-section-heading::after {
    display: block;
    width: 72px;
    height: 3px;
    margin: 1rem auto 0;
    border-radius: 999px;
    background: var(--richter-red);
    content: "";
}

.richter-homepage .richter-section-heading--row::after {
    position: absolute;
    bottom: -1.15rem;
    left: 0;
    margin: 0;
}

.richter-homepage .richter-section-heading h2 {
    color: var(--richter-text);
    text-wrap: balance;
}

.richter-homepage .richter-eyebrow {
    color: var(--richter-red);
    letter-spacing: .12em;
}

.richter-homepage .richter-heading-link {
    padding: .7rem 1rem;
    border: 1px solid var(--richter-line);
    border-radius: 999px;
    background: #fff;
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.richter-homepage .richter-heading-link:hover,
.richter-homepage .richter-heading-link:focus-visible {
    border-color: var(--richter-red);
    background: var(--richter-red);
    color: #fff;
    transform: translateY(-2px);
}

/* Promotional banners */
.richter-homepage .richter-banner-grid {
    align-items: stretch;
}

.richter-homepage .richter-banner-card {
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: 0 18px 45px rgba(13, 47, 98, .14);
    transition: transform .35s ease, box-shadow .35s ease;
}

.richter-homepage .richter-banner-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(13, 47, 98, .2);
}

.richter-homepage .richter-banner-button {
    min-width: 132px;
}

/* Rady a tipy – remove template padding, dark overlay and inherited hover colours */
.richter-homepage .richter-news-strip {
    padding: clamp(1rem, 2vw, 1.5rem) !important;
    border: 1px solid var(--richter-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--richter-shadow);
}

.richter-homepage .richter-news-strip ul,
.richter-homepage .richter-news-strip ol,
.richter-homepage .richter-news-strip .mod-articlesnews,
.richter-homepage .richter-news-strip .newsflash,
.richter-homepage .richter-news-strip .blog-items {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.richter-homepage .richter-news-strip .mod-articlesnews,
.richter-homepage .richter-news-strip .newsflash,
.richter-homepage .richter-news-strip .blog-items {
    gap: clamp(1rem, 2vw, 1.5rem) !important;
}

.richter-homepage .richter-news-strip article,
.richter-homepage .richter-news-strip li,
.richter-homepage .richter-news-strip .mod-articlesnews__item,
.richter-homepage .richter-news-strip .newsflash-item {
    position: relative;
    min-width: 0;
    margin: 0 !important;
    padding: 1rem !important;
    overflow: hidden;
    border: 1px solid var(--richter-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: var(--richter-text) !important;
    box-shadow: none !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.richter-homepage .richter-news-strip article::before,
.richter-homepage .richter-news-strip article::after,
.richter-homepage .richter-news-strip li::before,
.richter-homepage .richter-news-strip li::after,
.richter-homepage .richter-news-strip .mod-articlesnews__item::before,
.richter-homepage .richter-news-strip .mod-articlesnews__item::after,
.richter-homepage .richter-news-strip .newsflash-item::before,
.richter-homepage .richter-news-strip .newsflash-item::after {
    display: none !important;
    background: transparent !important;
    opacity: 0 !important;
}

.richter-homepage .richter-news-strip article:hover,
.richter-homepage .richter-news-strip li:hover,
.richter-homepage .richter-news-strip .mod-articlesnews__item:hover,
.richter-homepage .richter-news-strip .newsflash-item:hover {
    border-color: rgba(23, 54, 101, .22) !important;
    background: #fff !important;
    color: var(--richter-text) !important;
    box-shadow: 0 14px 30px rgba(13, 47, 98, .1) !important;
    transform: translateY(-4px);
}

.richter-homepage .richter-news-strip h3,
.richter-homepage .richter-news-strip h4,
.richter-homepage .richter-news-strip .newsflash-title {
    margin: 0 0 .75rem !important;
    color: var(--richter-navy-dark) !important;
    font-weight: 800;
}

.richter-homepage .richter-news-strip a,
.richter-homepage .richter-news-strip a:visited,
.richter-homepage .richter-news-strip article:hover a,
.richter-homepage .richter-news-strip li:hover a {
    color: var(--richter-navy-dark) !important;
    text-decoration: none !important;
}

.richter-homepage .richter-news-strip a:hover,
.richter-homepage .richter-news-strip a:focus-visible {
    color: var(--richter-red) !important;
}

.richter-homepage .richter-news-strip p,
.richter-homepage .richter-news-strip .mod-articlesnews__introtext,
.richter-homepage .richter-news-strip article:hover p,
.richter-homepage .richter-news-strip li:hover p {
    margin: .75rem 0 0 !important;
    color: var(--richter-muted) !important;
    line-height: 1.65;
}

.richter-homepage .richter-news-strip img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 .85rem !important;
    border-radius: 11px;
    object-fit: cover;
}

/* Both VP Prime product carousel modules */
.richter-homepage .richter-carousel-wrap {
    padding: clamp(.9rem, 2vw, 1.35rem) !important;
    overflow: hidden;
    border: 1px solid var(--richter-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--richter-shadow);
}

.richter-homepage .richter-home-products--alt .richter-carousel-wrap {
    background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
}

.richter-homepage .richter-carousel-wrap .vpprime-product-carousel-item,
.richter-homepage .richter-carousel-wrap .tns-item,
.richter-homepage .richter-carousel-wrap .product-grid-view {
    height: 100%;
}

.richter-homepage .richter-carousel-wrap .product-container {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: 100% !important;
    min-height: 100%;
    padding: .65rem !important;
    overflow: hidden;
    border: 1px solid var(--richter-line) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.richter-homepage .richter-carousel-wrap .product-container:hover {
    border-color: rgba(23, 54, 101, .24) !important;
    box-shadow: 0 12px 28px rgba(13, 47, 98, .1) !important;
    transform: translateY(-4px);
}

.richter-homepage .richter-carousel-wrap .product-top-container,
.richter-homepage .richter-carousel-wrap .product-list-images,
.richter-homepage .richter-carousel-wrap .vm-product-media-container {
    overflow: hidden;
    border-radius: 11px;
    background: #f7f8fa;
}

.richter-homepage .richter-carousel-wrap .product-list-images img,
.richter-homepage .richter-carousel-wrap .product-top-container img,
.richter-homepage .richter-carousel-wrap .vm-product-media-container img {
    transition: transform .3s ease;
}

.richter-homepage .richter-carousel-wrap .product-container:hover img {
    transform: scale(1.025);
}

.richter-homepage .richter-carousel-wrap .product-name {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 3.7rem !important;
    margin: .65rem 0 .35rem !important;
    padding: 0 .35rem;
    text-align: center !important;
}

.richter-homepage .richter-carousel-wrap .product-name a,
.richter-homepage .richter-carousel-wrap .product-name h4,
.richter-homepage .richter-carousel-wrap .product-name h5 {
    color: var(--richter-text) !important;
    line-height: 1.35;
    text-decoration: none;
}

.richter-homepage .richter-carousel-wrap .product-prices {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end;
    min-height: 4.7rem;
    margin: auto 0 .65rem !important;
    padding: 0 .25rem !important;
    text-align: center !important;
}

.richter-homepage .richter-carousel-wrap .vm-price-value,
.richter-homepage .richter-carousel-wrap .PricesalesPrice,
.richter-homepage .richter-carousel-wrap .vm-price-desc,
.richter-homepage .richter-carousel-wrap .PricepriceWithoutTax {
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.richter-homepage .richter-carousel-wrap .PricesalesPrice.vm-display.vm-price-value,
.richter-homepage .richter-carousel-wrap .PricesalesPrice.vm-price-value {
    display: block !important;
    white-space: nowrap !important;
}

.richter-homepage .richter-carousel-wrap .PricesalesPrice .vm-price-desc,
.richter-homepage .richter-carousel-wrap .PricesalesPrice > .vm-price-desc {
    display: inline !important;
    margin-right: .35rem !important;
    color: #555f6d !important;
    font-weight: 700 !important;
}

.richter-homepage .richter-carousel-wrap .PricesalesPrice > .PricesalesPrice,
.richter-homepage .richter-carousel-wrap span.PricesalesPrice {
    display: inline !important;
    color: var(--richter-red) !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.richter-homepage .richter-carousel-wrap .PricepriceWithoutTax.vm-price-value {
    display: block !important;
    margin-top: .3rem !important;
    color: #7a8492 !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
}

.richter-homepage .richter-carousel-wrap .addtocart-area,
.richter-homepage .richter-carousel-wrap .product-bottom-container {
    margin-top: auto;
    text-align: center;
}

.richter-homepage .richter-carousel-wrap .addtocart-button,
.richter-homepage .richter-carousel-wrap .addtocart-button input,
.richter-homepage .richter-carousel-wrap .btn-primary {
    min-height: 40px;
    padding: .58rem 1rem !important;
    border: 1px solid var(--richter-navy-dark) !important;
    border-radius: 7px !important;
    background: var(--richter-navy-dark) !important;
    color: #fff !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    box-shadow: none !important;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.richter-homepage .richter-carousel-wrap .addtocart-button:hover,
.richter-homepage .richter-carousel-wrap .addtocart-button input:hover,
.richter-homepage .richter-carousel-wrap .btn-primary:hover {
    border-color: var(--richter-red) !important;
    background: var(--richter-red) !important;
    color: #fff !important;
    transform: translateY(-2px);
}

.richter-homepage .richter-carousel-wrap .tns-controls button {
    border: 1px solid var(--richter-line);
    background: #fff;
    color: var(--richter-navy-dark);
    box-shadow: 0 5px 16px rgba(13, 47, 98, .08);
}

.richter-homepage .richter-carousel-wrap .tns-nav button {
    background: #cdd5e0;
}

.richter-homepage .richter-carousel-wrap .tns-nav button.tns-nav-active {
    width: 24px;
    border-radius: 999px;
    background: var(--richter-navy-dark);
}

/* Make the homepage breathe better inside the template container */
body.view-featured .main-content-area,
body.itemid-101 .main-content-area,
body.itemid-476 .main-content-area {
    padding-top: clamp(1rem, 3vw, 2.5rem);
}

@media (max-width: 991.98px) {
    .richter-homepage .richter-home-section {
        margin-bottom: 4rem;
    }

    .richter-homepage .richter-section-heading h2 {
        font-size: clamp(1.8rem, 6vw, 2.5rem);
    }

    .richter-homepage .richter-carousel-wrap {
        padding: .75rem !important;
        border-radius: 17px;
    }
}

@media (max-width: 767.98px) {
    .richter-homepage .richter-section-heading--row {
        padding-bottom: .4rem;
    }

    .richter-homepage .richter-section-heading--row::after {
        bottom: -.7rem;
    }

    .richter-homepage .richter-heading-link {
        padding: .55rem .8rem;
    }

    .richter-homepage .richter-news-strip {
        padding: .75rem !important;
        border-radius: 17px;
    }

    .richter-homepage .richter-news-strip article,
    .richter-homepage .richter-news-strip li,
    .richter-homepage .richter-news-strip .mod-articlesnews__item,
    .richter-homepage .richter-news-strip .newsflash-item {
        padding: .8rem !important;
    }

    .richter-homepage .richter-carousel-wrap .product-container {
        padding: .5rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .richter-homepage *,
    .richter-homepage *::before,
    .richter-homepage *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* =========================================================
   RICHTER CZECH – KONTAKT
   Všechny styly jsou omezené pouze na .rc-contact
   ========================================================= */

.rc-contact {
    --rc-navy: #071f40;
    --rc-navy-light: #123760;
    --rc-red: #e51c32;
    --rc-red-dark: #c91429;
    --rc-blue: #2366a5;
    --rc-bg: #f5f7fa;
    --rc-card: #ffffff;
    --rc-border: #e2e7ed;
    --rc-text: #142238;
    --rc-muted: #667085;
    --rc-shadow: 0 14px 38px rgba(7, 31, 64, 0.09);

    width: 100%;
    color: var(--rc-text);
    font-family: inherit;
    line-height: 1.65;
}

.rc-contact *,
.rc-contact *::before,
.rc-contact *::after {
    box-sizing: border-box;
}

.rc-contact a {
    color: inherit;
    text-decoration: none;
}

.rc-contact svg {
    display: block;
    width: 1em;
    height: 1em;
}

.rc-contact__container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

/* HERO */

.rc-contact__hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 85% 20%, rgba(229, 28, 50, 0.20), transparent 28%),
        linear-gradient(125deg, #061b38 0%, #092b53 58%, #0d3b6d 100%);
    box-shadow: var(--rc-shadow);
}

.rc-contact__hero::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -70px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.rc-contact__hero::after {
    content: "";
    position: absolute;
    right: 90px;
    bottom: -150px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.rc-contact__hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    min-height: 470px;
}

.rc-contact__hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 58px 54px;
    color: #fff;
}

.rc-contact__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin-bottom: 18px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.rc-contact__eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rc-red);
    box-shadow: 0 0 0 5px rgba(229, 28, 50, 0.18);
}

.rc-contact__hero h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.04;
    letter-spacing: -0.045em;
}

.rc-contact__hero-lead {
    max-width: 650px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 18px;
}

.rc-contact__hero-address {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    max-width: 590px;
    margin-bottom: 28px;
    padding: 19px 21px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(6px);
}

.rc-contact__hero-address-icon {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 11px;
    background: var(--rc-red);
    color: #fff;
    font-size: 21px;
}

.rc-contact__hero-address strong {
    display: block;
    margin-bottom: 2px;
    color: #fff;
    font-size: 16px;
}

.rc-contact__hero-address span {
    color: rgba(255, 255, 255, 0.78);
}

.rc-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rc-contact__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.rc-contact__button:hover {
    transform: translateY(-2px);
}

.rc-contact__button--red {
    background: var(--rc-red);
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(229, 28, 50, 0.24);
}

.rc-contact__button--red:hover {
    background: var(--rc-red-dark);
    color: #fff !important;
}

.rc-contact__button--light {
    border-color: rgba(255, 255, 255, 0.30);
    background: rgba(255, 255, 255, 0.09);
    color: #fff !important;
}

.rc-contact__button--light:hover {
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.16);
    color: #fff !important;
}

.rc-contact__map {
    position: relative;
    min-height: 470px;
    background: #dfe5ec;
}

.rc-contact__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 470px;
    border: 0;
    filter: saturate(0.85) contrast(1.02);
}

.rc-contact__map-label {
    position: absolute;
    right: 22px;
    bottom: 22px;
    left: 22px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 17px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 28px rgba(7, 31, 64, 0.18);
    backdrop-filter: blur(8px);
}

.rc-contact__map-label-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 8px;
    background: var(--rc-navy);
    color: #fff;
    font-size: 18px;
}

.rc-contact__map-label strong {
    display: block;
    line-height: 1.3;
}

.rc-contact__map-label span {
    color: var(--rc-muted);
    font-size: 13px;
}

/* RYCHLÉ INFORMACE */

.rc-contact__quick-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 18px;
    margin-bottom: 54px;
}

.rc-contact__quick-card {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    min-height: 142px;
    padding: 25px;
    border: 1px solid var(--rc-border);
    border-radius: 13px;
    background: var(--rc-card);
    box-shadow: 0 8px 26px rgba(7, 31, 64, 0.05);
}

.rc-contact__quick-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 11px;
    background: #eef4fb;
    color: var(--rc-navy);
    font-size: 22px;
}

.rc-contact__quick-card:first-child .rc-contact__quick-icon {
    background: #fff0f2;
    color: var(--rc-red);
}

.rc-contact__quick-card h2,
.rc-contact__quick-card h3 {
    margin: 0 0 7px;
    color: var(--rc-navy);
    font-size: 17px;
    line-height: 1.35;
}

.rc-contact__quick-card p {
    margin: 0;
    color: var(--rc-muted);
    font-size: 14px;
}

.rc-contact__hours {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 3px 17px;
    margin-top: 8px;
    font-size: 14px;
}

.rc-contact__hours strong {
    color: var(--rc-navy);
}

.rc-contact__hours span {
    color: var(--rc-text);
}

/* NADPISY SEKCÍ */

.rc-contact__section {
    margin-bottom: 58px;
}

.rc-contact__section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 24px;
}

.rc-contact__section-title-wrap {
    max-width: 760px;
}

.rc-contact__section-label {
    display: block;
    margin-bottom: 7px;
    color: var(--rc-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rc-contact__section-heading h2 {
    position: relative;
    margin: 0;
    padding-bottom: 14px;
    color: var(--rc-navy);
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.18;
    letter-spacing: -0.025em;
}

.rc-contact__section-heading h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 44px;
    height: 3px;
    border-radius: 5px;
    background: var(--rc-red);
}

.rc-contact__section-description {
    max-width: 520px;
    margin: 0;
    color: var(--rc-muted);
    font-size: 15px;
}

/* KONTAKTNÍ OSOBY */

.rc-contact__people-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.rc-contact__person {
    position: relative;
    grid-column: span 2;
    overflow: hidden;
    min-height: 290px;
    padding: 27px;
    border: 1px solid var(--rc-border);
    border-radius: 14px;
    background: var(--rc-card);
    box-shadow: 0 9px 30px rgba(7, 31, 64, 0.055);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.rc-contact__person:nth-child(4),
.rc-contact__person:nth-child(5) {
    grid-column: span 3;
}

.rc-contact__person::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rc-red) 0 22%, var(--rc-navy) 22% 100%);
}

.rc-contact__person:hover {
    transform: translateY(-5px);
    border-color: #cbd5e0;
    box-shadow: 0 17px 40px rgba(7, 31, 64, 0.11);
}

.rc-contact__person-head {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 21px;
}

.rc-contact__avatar {
    display: grid;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 13px;
    background: var(--rc-navy);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.rc-contact__person:nth-child(even) .rc-contact__avatar {
    background: var(--rc-red);
}

.rc-contact__person-role {
    margin-bottom: 3px;
    color: var(--rc-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.rc-contact__person h3 {
    margin: 0;
    color: var(--rc-navy);
    font-size: 19px;
    line-height: 1.3;
}

.rc-contact__person-note {
    min-height: 25px;
    margin: -8px 0 15px;
    color: var(--rc-muted);
    font-size: 13px;
}

.rc-contact__person-links {
    display: grid;
    gap: 9px;
}

.rc-contact__person-link {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 11px 13px;
    border-radius: 8px;
    background: var(--rc-bg);
    color: var(--rc-text) !important;
    font-size: 14px;
    font-weight: 650;
    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.rc-contact__person-link svg {
    flex: 0 0 18px;
    color: var(--rc-red);
    font-size: 18px;
}

.rc-contact__person-link span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.rc-contact__person-link:hover {
    background: var(--rc-navy);
    color: #fff !important;
}

.rc-contact__person-link:hover svg {
    color: #fff;
}

/* FIREMNÍ INFORMACE */

.rc-contact__company-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.9fr 0.95fr;
    gap: 18px;
}

.rc-contact__company-card {
    position: relative;
    overflow: hidden;
    min-height: 315px;
    padding: 30px;
    border: 1px solid var(--rc-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 30px rgba(7, 31, 64, 0.055);
}

.rc-contact__company-card--navy {
    border-color: transparent;
    background:
        radial-gradient(circle at 100% 0, rgba(229, 28, 50, 0.23), transparent 35%),
        var(--rc-navy);
    color: #fff;
}

.rc-contact__company-icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    place-items: center;
    border-radius: 12px;
    background: #eef4fb;
    color: var(--rc-navy);
    font-size: 24px;
}

.rc-contact__company-card--navy .rc-contact__company-icon {
    background: var(--rc-red);
    color: #fff;
}

.rc-contact__company-card h3 {
    margin: 0 0 18px;
    color: var(--rc-navy);
    font-size: 21px;
}

.rc-contact__company-card--navy h3 {
    color: #fff;
}

.rc-contact__detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.rc-contact__detail-row {
    display: grid;
    grid-template-columns: minmax(105px, 0.8fr) minmax(0, 1.5fr);
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rc-border);
}

.rc-contact__detail-row:last-child {
    border-bottom: 0;
}

.rc-contact__detail-row dt,
.rc-contact__detail-row dd {
    margin: 0;
}

.rc-contact__detail-row dt {
    color: var(--rc-muted);
    font-size: 13px;
    font-weight: 700;
}

.rc-contact__detail-row dd {
    color: var(--rc-text);
    font-size: 14px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.rc-contact__company-card--navy .rc-contact__detail-row {
    border-color: rgba(255, 255, 255, 0.13);
}

.rc-contact__company-card--navy .rc-contact__detail-row dt {
    color: rgba(255, 255, 255, 0.63);
}

.rc-contact__company-card--navy .rc-contact__detail-row dd {
    color: #fff;
}

.rc-contact__address-large {
    margin: 0 0 18px;
    color: var(--rc-text);
    font-size: 18px;
    font-weight: 750;
    line-height: 1.55;
}

.rc-contact__address-note {
    margin: 0;
    color: var(--rc-muted);
    font-size: 14px;
}

/* PROVOZNÍ INFORMACE */

.rc-contact__notice {
    position: relative;
    overflow: hidden;
    padding: 38px;
    border-radius: 16px;
    background: var(--rc-bg);
    border: 1px solid var(--rc-border);
}

.rc-contact__notice::after {
    content: "";
    position: absolute;
    top: -85px;
    right: -85px;
    width: 230px;
    height: 230px;
    border: 35px solid rgba(229, 28, 50, 0.055);
    border-radius: 50%;
}

.rc-contact__notice-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.55fr);
    gap: 42px;
}

.rc-contact__notice-heading {
    padding-right: 15px;
}

.rc-contact__notice-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 17px;
    padding: 7px 11px;
    border-radius: 5px;
    background: #fff0f2;
    color: var(--rc-red);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rc-contact__notice h2 {
    margin: 0 0 12px;
    color: var(--rc-navy);
    font-size: 30px;
    line-height: 1.2;
}

.rc-contact__notice-heading p {
    margin: 0;
    color: var(--rc-muted);
}

.rc-contact__notice-content {
    display: grid;
    gap: 18px;
}

.rc-contact__notice-box {
    padding: 22px 24px;
    border: 1px solid var(--rc-border);
    border-radius: 11px;
    background: #fff;
}

.rc-contact__notice-box h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 13px;
    color: var(--rc-navy);
    font-size: 17px;
}

.rc-contact__notice-box h3 span {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 7px;
    background: var(--rc-navy);
    color: #fff;
    font-size: 15px;
}

.rc-contact__notice-box ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rc-contact__notice-box li {
    position: relative;
    padding-left: 23px;
    color: var(--rc-text);
    font-size: 14px;
}

.rc-contact__notice-box li::before {
    content: "";
    position: absolute;
    top: 0.67em;
    left: 2px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rc-red);
    box-shadow: 0 0 0 4px rgba(229, 28, 50, 0.10);
}

/* SPODNÍ CTA */

.rc-contact__cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 30px;
    padding: 35px 40px;
    border-radius: 15px;
    background:
        linear-gradient(110deg, rgba(7, 31, 64, 0.98), rgba(13, 59, 109, 0.96));
    color: #fff;
    box-shadow: var(--rc-shadow);
}

.rc-contact__cta h2 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 28px;
}

.rc-contact__cta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

/* RESPONZIVITA */

@media (max-width: 1100px) {
    .rc-contact__hero-inner {
        grid-template-columns: 1fr;
    }

    .rc-contact__map,
    .rc-contact__map iframe {
        min-height: 380px;
    }

    .rc-contact__quick-grid {
        grid-template-columns: 1fr 1fr;
    }

    .rc-contact__quick-card:first-child {
        grid-column: 1 / -1;
    }

    .rc-contact__person {
        grid-column: span 3;
    }

    .rc-contact__person:nth-child(4),
    .rc-contact__person:nth-child(5) {
        grid-column: span 3;
    }

    .rc-contact__company-grid {
        grid-template-columns: 1fr 1fr;
    }

    .rc-contact__company-card:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .rc-contact__hero {
        border-radius: 12px;
    }

    .rc-contact__hero-content {
        padding: 40px 24px;
    }

    .rc-contact__hero-lead {
        font-size: 16px;
    }

    .rc-contact__actions {
        display: grid;
    }

    .rc-contact__button {
        width: 100%;
    }

    .rc-contact__map,
    .rc-contact__map iframe {
        min-height: 330px;
    }

    .rc-contact__quick-grid,
    .rc-contact__company-grid {
        grid-template-columns: 1fr;
    }

    .rc-contact__quick-card:first-child,
    .rc-contact__company-card:first-child {
        grid-column: auto;
    }

    .rc-contact__section-heading {
        display: block;
    }

    .rc-contact__section-description {
        margin-top: 15px;
    }

    .rc-contact__people-grid {
        grid-template-columns: 1fr;
    }

    .rc-contact__person,
    .rc-contact__person:nth-child(4),
    .rc-contact__person:nth-child(5) {
        grid-column: auto;
    }

    .rc-contact__notice {
        padding: 27px 20px;
    }

    .rc-contact__notice-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .rc-contact__cta {
        grid-template-columns: 1fr;
        padding: 29px 23px;
    }

    .rc-contact__detail-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}

@media (max-width: 480px) {
    .rc-contact__hero-content {
        padding: 34px 19px;
    }

    .rc-contact__hero h1 {
        font-size: 37px;
    }

    .rc-contact__hero-address {
        padding: 16px;
    }

    .rc-contact__quick-card,
    .rc-contact__person,
    .rc-contact__company-card {
        padding: 22px 19px;
    }

    .rc-contact__map-label {
        right: 12px;
        bottom: 12px;
        left: 12px;
    }
}

/* Richter Czech – desktop header utility actions */
@media (min-width: 992px) {
  .header-right-lg {
    gap: 9px;
    flex: 0 0 auto;
  }

  .header-right-lg .rc-header-action,
  .header-right-lg > a.btn-icon,
  .header-right-lg .mod-minicart__anchor > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid rgba(255, 255, 255, .92);
    border-radius: 50%;
    background: transparent;
    color: #fff !important;
    text-decoration: none;
    line-height: 1;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
  }

  .header-right-lg .rc-header-action:hover,
  .header-right-lg > a.btn-icon:hover,
  .header-right-lg .mod-minicart__anchor > a:hover {
    background: #e4001b;
    border-color: #e4001b;
    color: #fff !important;
    transform: translateY(-2px);
  }

  .header-right-lg .rc-header-action svg {
    width: 27px;
    height: 27px;
    fill: currentColor;
  }

  .header-right-lg > a.btn-icon .vpi-user {
    font-size: 29px !important;
    line-height: 1;
  }

  .header-right-lg .rc-language-switcher {
    position: relative;
  }

  .header-right-lg .rc-language-toggle::after {
    display: none;
  }

  .header-right-lg .rc-flag {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .65);
  }

  .header-right-lg .rc-flag--cs {
    background: linear-gradient(to bottom, #fff 0 50%, #d7141a 50% 100%);
  }

  .header-right-lg .rc-flag--cs::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 58%;
    background: #11457e;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }

  .header-right-lg .rc-flag--en {
    background:
      linear-gradient(33deg, transparent 43%, #fff 43% 57%, transparent 57%),
      linear-gradient(-33deg, transparent 43%, #fff 43% 57%, transparent 57%),
      linear-gradient(to right, transparent 38%, #c8102e 38% 62%, transparent 62%),
      linear-gradient(to bottom, transparent 38%, #c8102e 38% 62%, transparent 62%),
      #012169;
  }

  .header-right-lg .rc-language-menu {
    min-width: 178px;
    margin-top: 10px !important;
    padding: 8px;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(12, 41, 83, .2);
  }

  .header-right-lg .rc-language-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #0c2953;
    font-weight: 700;
  }

  .header-right-lg .rc-language-menu .dropdown-item:hover,
  .header-right-lg .rc-language-menu .dropdown-item.active {
    background: #eef3f9;
    color: #0c2953;
  }

  .header-right-lg .rc-language-menu .rc-flag {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    box-shadow: 0 0 0 1px rgba(12, 41, 83, .18);
  }

  .header-right-lg .mod-minicart,
  .header-right-lg .mod-minicart__inner,
  .header-right-lg .mod-minicart__anchor {
    display: flex;
    align-items: center;
  }

  .header-right-lg .mod-minicart__cart-subtotal,
  .header-right-lg .mod-minicart__anchor .jewel-group > .vpi {
    display: none !important;
  }

  .header-right-lg .mod-minicart__anchor .jewel-group {
    position: relative;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
  }

  .header-right-lg .mod-minicart__anchor .jewel-group::before {
    content: "";
    display: block;
    width: 29px;
    height: 29px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h2l2.4 10.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4L21 7H7.1l-.5-2H3V3Zm6.2 13.4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h2l2.4 10.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4L21 7H7.1l-.5-2H3V3Zm6.2 13.4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .header-right-lg .mod-minicart__product-count.jewel {
    top: -7px;
    right: -8px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border: 2px solid #1d396d;
    border-radius: 10px;
    background: #e4001b;
    color: #fff;
    font-size: 10px;
    line-height: 13px;
  }
}


/* Language flag fills the complete desktop switcher circle. */
@media (min-width: 992px) {
  .header-right-lg .rc-language-toggle {
    overflow: hidden;
  }

  .header-right-lg .rc-language-toggle .rc-flag {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    box-shadow: none;
  }
}


/* Richter Czech – restored desktop top navigation */
@media (min-width: 992px) {
  #mega-menu {
    position: relative;
    z-index: 1020;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid #e4e8ef;
    background: #fff;
    box-shadow: 0 4px 14px rgba(12, 41, 83, .06);
  }

  #mega-menu .container-inner,
  #mega-menu .container-inner > .d-flex {
    width: 100%;
  }

  #mega-menu .mod-megamenu {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 12px;
    align-items: center;
    justify-content: center;
    list-style: none;
  }

  #mega-menu .mod-megamenu > .mod-megamenu--level-1 {
    position: relative;
    flex: 1 1 0;
    max-width: 168px;
    margin: 0;
  }

  #mega-menu .mod-megamenu > .mod-megamenu--level-1 > .mod-megamenu--item-anchor {
    display: flex;
    min-height: 38px;
    padding: 8px 15px;
    border: 0;
    border-radius: 8px;
    background: #f0f2f6;
    color: #0c2953;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;

    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
  }

  #mega-menu .mod-megamenu > .mod-megamenu--level-1 > .mod-megamenu--item-anchor:hover,
  #mega-menu .mod-megamenu > .mod-megamenu--level-1:focus-within > .mod-megamenu--item-anchor {
    background: #e4001b;
    color: #fff;
    transform: translateY(-1px);
  }

  #mega-menu .mod-megamenu > .mod-megamenu--current > .mod-megamenu--item-anchor,
  #mega-menu .mod-megamenu > .mod-megamenu--active > .mod-megamenu--item-anchor {
    background: #f0f2f6;
    color: #0c2953;
    box-shadow: inset 0 -3px 0 #e4001b;
  }

  #mega-menu .mod-megamenu--container {
    margin-top: 8px;
    padding: 8px;
    border: 1px solid #e4e8ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(12, 41, 83, .16);
  }

  #mega-menu .mod-megamenu--sub {
    gap: 4px;
    margin: 0;
    padding: 0;
  }

  #mega-menu .mod-megamenu--sub .mod-megamenu--item-anchor {
    display: block;
    padding: 9px 12px;
    border-radius: 7px;
    color: #0c2953;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }

  #mega-menu .mod-megamenu--sub .mod-megamenu--item-anchor:hover {
    background: #eef2f7;
    color: #e4001b;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #mega-menu .mod-megamenu {
    gap: 6px;
  }

  #mega-menu .mod-megamenu > .mod-megamenu--level-1 > .mod-megamenu--item-anchor {
    padding-right: 9px;
    padding-left: 9px;
    font-size: 12px;
  }
}


/* Desktop top navigation hover: grey background with Richter red text. */
@media (min-width: 992px) {
  #mega-menu .mod-megamenu > .mod-megamenu--level-1 > .mod-megamenu--item-anchor:hover,
  #mega-menu .mod-megamenu > .mod-megamenu--level-1:focus-within > .mod-megamenu--item-anchor {
    background: #f0f2f6;
    color: #e4001b;
  }
}


/* Richter Czech homepage – compact desktop hero alignment and controls */
@media (min-width: 992px) {
  body.itemid-476 .main-content-area {
    padding-top: 12px;
  }

  body.itemid-476 .main-section {
    padding-top: 0;
  }

  body.itemid-476 .richter-home-banners {
    margin-top: 0 !important;
  }

  body.itemid-476 .richter-hero-carousel {
    box-sizing: border-box;
    padding: 0 42px !important;
  }

  body.itemid-476 .richter-carousel-dots {
    display: none !important;
  }

  body.itemid-476 .richter-carousel-arrow {
    top: 50%;
    width: 42px;
    height: 42px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0c2953;
    transform: translateY(-50%);
  }

  body.itemid-476 .richter-carousel-prev {
    left: 0;
  }

  body.itemid-476 .richter-carousel-next {
    right: 0;
  }

  body.itemid-476 .richter-carousel-arrow:hover,
  body.itemid-476 .richter-carousel-arrow:focus-visible {
    background: transparent !important;
    color: #e4001b;
    box-shadow: none !important;
  }
}


/* Match the homepage content top spacing to the desktop menu item spacing. */
@media (min-width: 992px) {
  body.itemid-476 .main-content-area {
    padding-top: 8px;
  }
}


/* Additional inner top breathing room for the desktop homepage white content block. */
@media (min-width: 992px) {
  body.itemid-476 .main-content-area {
    padding-top: 16px;
  }
}


/* Apply the requested extra top inset to every homepage menu variant. */
@media (min-width: 992px) {
  body.itemid-101 .main-content-area,
  body.itemid-476 .main-content-area,
  body.itemid-3604 .main-content-area {
    padding-top: 24px;
  }

  body.itemid-101 .main-section,
  body.itemid-476 .main-section,
  body.itemid-3604 .main-section {
    padding-top: 0;
  }

  body.itemid-101 .richter-home-banners,
  body.itemid-476 .richter-home-banners,
  body.itemid-3604 .richter-home-banners {
    margin-top: 0 !important;
  }
}


/* Separate the homepage block's outer gap from its inner top padding. */
@media (min-width: 992px) {
  body.itemid-101 .main-content-area,
  body.itemid-476 .main-content-area,
  body.itemid-3604 .main-content-area {
    padding-top: 8px;
  }

  body.itemid-101 .main-section,
  body.itemid-476 .main-section,
  body.itemid-3604 .main-section {
    padding-top: 8px;
  }
}


/* Homepage product modules: frameless sections, individually bordered products. */
.richter-homepage .richter-home-products .richter-carousel-wrap {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.richter-homepage .richter-home-products .product.product-grid-view .product-container {
  box-sizing: border-box !important;
  overflow: hidden;
  border: 1px solid #dfe3e8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.richter-homepage .richter-home-products .product.product-grid-view .product-container:hover {
  border-color: #cfd6df !important;
  box-shadow: 0 6px 18px rgba(8, 33, 70, .07) !important;
}


/* Win over the product module's later inline !important reset. */
body .richter-homepage section.richter-home-products .product.product-grid-view .product-container {
  border: 1px solid #dfe3e8 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body .richter-homepage section.richter-home-products .product.product-grid-view .product-container:hover {
  border-color: #cfd6df !important;
  box-shadow: 0 6px 18px rgba(8, 33, 70, .07) !important;
}


/* Desktop hero carousel: full width of the benefits block, arrows on outer edges. */
@media (min-width: 992px) {
  body.itemid-101 .richter-hero-carousel,
  body.itemid-476 .richter-hero-carousel,
  body.itemid-3604 .richter-hero-carousel {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.itemid-101 .richter-carousel-prev,
  body.itemid-476 .richter-carousel-prev,
  body.itemid-3604 .richter-carousel-prev {
    left: -21px;
  }

  body.itemid-101 .richter-carousel-next,
  body.itemid-476 .richter-carousel-next,
  body.itemid-3604 .richter-carousel-next {
    right: -21px;
  }
}


/* Shop-wide add-to-cart buttons matching www.richterczech.cz */
body .product .addtocart-area .addtocart-button-container {
  display: flex !important;
  justify-content: center;
  text-align: center;
}

body .product .addtocart-area input.addtocart-button,
body .product .addtocart-area button.addtocart-button {
  display: inline-block !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 175px !important;
  max-width: 100%;
  height: 41px !important;
  min-height: 41px !important;
  margin: 0 !important;
  padding: 0 45px !important;
  border: 2px solid #162d5c !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #162d5c !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 37px !important;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: color .2s ease, background-color .2s ease;
}

body .product .addtocart-area input.addtocart-button:hover,
body .product .addtocart-area input.addtocart-button:focus,
body .product .addtocart-area button.addtocart-button:hover,
body .product .addtocart-area button.addtocart-button:focus {
  border-color: #162d5c !important;
  background: #162d5c !important;
  color: #fff !important;
}

@media (max-width: 420px) {
  body .product .addtocart-area input.addtocart-button,
  body .product .addtocart-area button.addtocart-button {
    min-width: 0 !important;
    width: 100% !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}


/* Product detail uses .addtocart-area > form.product (reverse nesting). */
body .addtocart-area form.product .addtocart-button-container {
  display: flex !important;
  justify-content: center;
  text-align: center;
}

body .addtocart-area form.product input.addtocart-button,
body .addtocart-area form.product button.addtocart-button {
  display: inline-block !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 175px !important;
  max-width: 100%;
  height: 41px !important;
  min-height: 41px !important;
  margin: 0 !important;
  padding: 0 45px !important;
  border: 2px solid #162d5c !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #162d5c !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 37px !important;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: color .2s ease, background-color .2s ease;
}

body .addtocart-area form.product input.addtocart-button:hover,
body .addtocart-area form.product input.addtocart-button:focus,
body .addtocart-area form.product button.addtocart-button:hover,
body .addtocart-area form.product button.addtocart-button:focus {
  border-color: #162d5c !important;
  background: #162d5c !important;
  color: #fff !important;
}

@media (max-width: 420px) {
  body .addtocart-area form.product input.addtocart-button,
  body .addtocart-area form.product button.addtocart-button {
    min-width: 0 !important;
    width: 100% !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}


/* Unified 15px desktop page rhythm */
@media (min-width: 992px) {
  :root {
    --rc-page-space: 15px;
  }

  #mega-menu {
    margin-right: var(--rc-page-space);
    margin-left: var(--rc-page-space);
    padding-top: var(--rc-page-space);
    padding-bottom: var(--rc-page-space);
  }

  #mega-menu .mod-megamenu {
    gap: var(--rc-page-space);
  }

  body.itemid-101 .main-content-area,
  body.itemid-476 .main-content-area,
  body.itemid-3604 .main-content-area {
    padding-top: var(--rc-page-space);
  }

  body.itemid-101 .main-section,
  body.itemid-476 .main-section,
  body.itemid-3604 .main-section {
    padding-top: var(--rc-page-space);
  }

  body.itemid-101 .main-content-area > .container-xxl,
  body.itemid-476 .main-content-area > .container-xxl,
  body.itemid-3604 .main-content-area > .container-xxl {
    padding-right: var(--rc-page-space);
    padding-left: var(--rc-page-space);
  }

  body.itemid-101 .main-section > .row,
  body.itemid-476 .main-section > .row,
  body.itemid-3604 .main-section > .row {
    --bs-gutter-x: var(--rc-page-space);
  }

  body.itemid-101 .richter-carousel-track,
  body.itemid-476 .richter-carousel-track,
  body.itemid-3604 .richter-carousel-track {
    gap: var(--rc-page-space);
  }

  body.itemid-101 .richter-carousel-card,
  body.itemid-476 .richter-carousel-card,
  body.itemid-3604 .richter-carousel-card {
    flex-basis: calc((100% - 30px) / 3);
  }

  body.itemid-101 .richter-benefits,
  body.itemid-476 .richter-benefits,
  body.itemid-3604 .richter-benefits {
    margin-top: var(--rc-page-space);
    margin-bottom: var(--rc-page-space);
    padding: var(--rc-page-space);
  }

  body.itemid-101 .richter-home-products,
  body.itemid-476 .richter-home-products,
  body.itemid-3604 .richter-home-products,
  body.itemid-101 .richter-home-news,
  body.itemid-476 .richter-home-news,
  body.itemid-3604 .richter-home-news {
    margin-top: var(--rc-page-space);
  }

  body.itemid-101 .richter-home-products .vpprime-product-carousel-item,
  body.itemid-476 .richter-home-products .vpprime-product-carousel-item,
  body.itemid-3604 .richter-home-products .vpprime-product-carousel-item {
    padding-right: 7.5px !important;
    padding-left: 7.5px !important;
  }

  body.itemid-101 .richter-home-news .mod-articles-items,
  body.itemid-476 .richter-home-news .mod-articles-items,
  body.itemid-3604 .richter-home-news .mod-articles-items {
    gap: var(--rc-page-space);
  }
}


/* Enforce the 15px rhythm over template-specific gutter and inline module rules. */
@media (min-width: 992px) {
  body.itemid-101 .main-section > .row,
  body.itemid-476 .main-section > .row,
  body.itemid-3604 .main-section > .row {
    --gutter-x: 15px;
    --bs-gutter-x: 15px;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .vpprime-product-carousel-item,
  body.itemid-476 .richter-homepage section.richter-home-products .vpprime-product-carousel-item,
  body.itemid-3604 .richter-homepage section.richter-home-products .vpprime-product-carousel-item {
    padding-right: 7.5px !important;
    padding-left: 7.5px !important;
  }

  body.itemid-101 .richter-home-products,
  body.itemid-476 .richter-home-products,
  body.itemid-3604 .richter-home-products {
    margin-bottom: 15px !important;
  }
}


/* Homepage: exact 15px outer product padding and section rhythm */
@media (min-width: 992px) {
  body.itemid-101 .richter-homepage .richter-home-banners,
  body.itemid-476 .richter-homepage .richter-home-banners,
  body.itemid-3604 .richter-homepage .richter-home-banners {
    margin-bottom: 15px !important;
  }

  body.itemid-101 .richter-homepage .richter-home-products,
  body.itemid-476 .richter-homepage .richter-home-products,
  body.itemid-3604 .richter-homepage .richter-home-products {
    margin-top: 0 !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .tns-ovh,
  body.itemid-476 .richter-homepage section.richter-home-products .tns-ovh,
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-ovh {
    padding-right: 7.5px !important;
    padding-left: 7.5px !important;
  }
}


/* Homepage product carousels: clearer side spacing, arrow controls, no dots */
@media (min-width: 992px) {
  body.itemid-101 .richter-homepage section.richter-home-products .tns-ovh,
  body.itemid-476 .richter-homepage section.richter-home-products .tns-ovh,
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-ovh {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .tns-nav,
  body.itemid-476 .richter-homepage section.richter-home-products .tns-nav,
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-nav {
    display: none !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .richter-carousel-wrap,
  body.itemid-101 .richter-homepage section.richter-home-products .tns-outer,
  body.itemid-476 .richter-homepage section.richter-home-products .richter-carousel-wrap,
  body.itemid-476 .richter-homepage section.richter-home-products .tns-outer,
  body.itemid-3604 .richter-homepage section.richter-home-products .richter-carousel-wrap,
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-outer {
    overflow: visible !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .tns-controls button,
  body.itemid-476 .richter-homepage section.richter-home-products .tns-controls button,
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-controls button {
    width: 36px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0c2953 !important;
    font-size: 27px !important;
    line-height: 40px !important;
    z-index: 20 !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .tns-controls button[data-controls="prev"],
  body.itemid-476 .richter-homepage section.richter-home-products .tns-controls button[data-controls="prev"],
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-controls button[data-controls="prev"] {
    left: -21px !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .tns-controls button[data-controls="next"],
  body.itemid-476 .richter-homepage section.richter-home-products .tns-controls button[data-controls="next"],
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-controls button[data-controls="next"] {
    right: -21px !important;
  }

  body.itemid-101 .richter-homepage .richter-home-news .richter-heading-link,
  body.itemid-476 .richter-homepage .richter-home-news .richter-heading-link,
  body.itemid-3604 .richter-homepage .richter-home-news .richter-heading-link {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #092451 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
  }

  body.itemid-101 .richter-homepage .richter-home-news .richter-heading-link:hover,
  body.itemid-101 .richter-homepage .richter-home-news .richter-heading-link:focus-visible,
  body.itemid-476 .richter-homepage .richter-home-news .richter-heading-link:hover,
  body.itemid-476 .richter-homepage .richter-home-news .richter-heading-link:focus-visible,
  body.itemid-3604 .richter-homepage .richter-home-news .richter-heading-link:hover,
  body.itemid-3604 .richter-homepage .richter-home-news .richter-heading-link:focus-visible {
    border: 0 !important;
    background: transparent !important;
    color: #e30620 !important;
  }
}


/* Homepage product carousels: neutralize module bleed so card edges are exactly 15px */
@media (min-width: 992px) {
  body.itemid-101 .richter-homepage section.richter-home-products .product-carousel-tns-outer,
  body.itemid-476 .richter-homepage section.richter-home-products .product-carousel-tns-outer,
  body.itemid-3604 .richter-homepage section.richter-home-products .product-carousel-tns-outer {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .tns-ovh,
  body.itemid-476 .richter-homepage section.richter-home-products .tns-ovh,
  body.itemid-3604 .richter-homepage section.richter-home-products .tns-ovh {
    padding-right: 7.5px !important;
    padding-left: 7.5px !important;
  }
}


/* Shop add-to-cart hover: keep surface and border, change text only */
input.addtocart-button.btn.btn-primary:hover,
input.addtocart-button.btn.btn-primary:focus,
input.addtocart-button.btn.btn-primary:focus-visible,
button.addtocart-button.btn.btn-primary:hover,
button.addtocart-button.btn.btn-primary:focus,
button.addtocart-button.btn.btn-primary:focus-visible,
.addtocart-area .btn-primary:hover,
.addtocart-area .btn-primary:focus,
.addtocart-area .btn-primary:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  border-color: #162d5c !important;
  color: #e30620 !important;
  box-shadow: none !important;
}


/* Homepage: keep the articles section on the shared 15px vertical rhythm */
@media (min-width: 992px) {
  body.itemid-101 .richter-homepage .richter-home-news,
  body.itemid-476 .richter-homepage .richter-home-news,
  body.itemid-3604 .richter-homepage .richter-home-news {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
}


/* Homepage partners carousel */
.richter-home-partners {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.richter-partners-carousel {
  position: relative;
}

.richter-partners-viewport {
  overflow: hidden;
}

.richter-partners-track {
  display: flex;
  gap: 15px;
  overflow-x: auto;
  padding: 10px 15px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.richter-partners-track::-webkit-scrollbar {
  display: none;
}

.richter-partner-item {
  display: flex;
  flex: 0 0 calc((100% - 75px) / 6);
  min-width: 0;
  height: 64px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  background: #fff;
  color: #092451;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  scroll-snap-align: start;
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.richter-partner-item img {
  display: block;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.richter-partner-item span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.richter-partner-item:hover,
.richter-partner-item:focus-visible {
  border-color: #e30620;
  color: #e30620;
  box-shadow: 0 5px 16px rgba(9, 36, 81, .08);
}

.richter-partners-arrow {
  position: absolute;
  top: 50%;
  z-index: 20;
  width: 36px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  color: #0c2953;
  font-size: 37px;
  font-weight: 400;
  line-height: 36px;
  transform: translateY(-50%);
}

.richter-partners-arrow:hover,
.richter-partners-arrow:focus-visible {
  background: transparent;
  color: #e30620;
}

.richter-partners-prev {
  left: -21px;
}

.richter-partners-next {
  right: -21px;
}

@media (max-width: 1199.98px) {
  .richter-partner-item {
    flex-basis: calc((100% - 45px) / 4);
  }
}

@media (max-width: 767.98px) {
  .richter-partners-track {
    padding-right: 12px;
    padding-left: 12px;
  }

  .richter-partner-item {
    flex-basis: calc((100% - 15px) / 2);
  }

  .richter-partners-prev {
    left: -8px;
  }

  .richter-partners-next {
    right: -8px;
  }
}


/* Partners strip – compact logo row matching the supplied reference. */
.richter-home-partners .richter-section-heading {
  display: none !important;
}

.richter-home-partners .richter-partners-carousel {
  box-sizing: border-box;
  min-height: 70px;
  padding: 0 28px;
  border: 1px solid #e1e5eb;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(9, 36, 81, .04);
}

.richter-home-partners .richter-partners-viewport {
  height: 68px;
}

.richter-home-partners .richter-partners-track {
  height: 68px;
  gap: 34px;
  padding: 0;
  align-items: center;
}

.richter-home-partners .richter-partner-item {
  flex: 0 0 auto;
  width: auto;
  min-width: 105px;
  height: 68px;
  gap: 7px;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #102c59;
  scroll-snap-align: start;
}

.richter-home-partners .richter-partner-item img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain;
}

.richter-home-partners .richter-partner-item span {
  overflow-wrap: normal;
  color: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.richter-home-partners .richter-partner-item:hover,
.richter-home-partners .richter-partner-item:focus-visible {
  color: #e30620;
  box-shadow: none !important;
}

.richter-home-partners .richter-partners-arrow {
  top: 50%;
  width: 27px;
  height: 68px;
  font-size: 24px;
  line-height: 68px;
}

.richter-home-partners .richter-partners-prev {
  left: 0;
}

.richter-home-partners .richter-partners-next {
  right: 0;
}

@media (max-width: 767.98px) {
  .richter-home-partners .richter-partners-carousel {
    padding-right: 25px;
    padding-left: 25px;
  }

  .richter-home-partners .richter-partners-track {
    gap: 24px;
  }

  .richter-home-partners .richter-partner-item {
    min-width: 98px;
  }
}


/* Left-column B2B and contact action banners. */
.richter-left-actions {
  display: grid;
  gap: 12px;
  margin-top: 15px;
}

.richter-left-action {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 16px;
  gap: 12px;
  align-items: center;
  min-height: 82px;
  padding: 13px 14px;
  border: 1px solid #dfe4ec;
  border-radius: 24px;
  background: #fff;
  color: #0c2953;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(9, 36, 81, .055);
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.richter-left-action__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #eef3fa;
  color: #154f9e;
}

.richter-left-action__icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.richter-left-action__copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.richter-left-action__copy strong {
  color: #0c2953;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
}

.richter-left-action__copy small {
  color: #66758b;
  font-size: 12px;
  line-height: 1.25;
}

.richter-left-action__arrow {
  color: #e30620;
  font-size: 25px;
  line-height: 1;
}

.richter-left-action:hover,
.richter-left-action:focus-visible {
  border-color: #e30620;
  color: #e30620;
  box-shadow: 0 7px 20px rgba(9, 36, 81, .10);
  transform: translateY(-2px);
}

.richter-left-action:hover .richter-left-action__icon,
.richter-left-action:focus-visible .richter-left-action__icon {
  background: #fff0f2;
  color: #e30620;
}

.richter-left-action:hover .richter-left-action__copy strong,
.richter-left-action:focus-visible .richter-left-action__copy strong {
  color: #e30620;
}

@media (max-width: 991.98px) {
  .richter-left-actions {
    display: none;
  }
}


/* Left action module refinements: frameless wrapper, 15px module gap, 50% larger copy. */
.aside-inner > .mod-position-left:has(.richter-left-actions),
.mod-position-left:has(.richter-left-actions),
.mod-block:has(.richter-left-actions),
.mod-block-body:has(.richter-left-actions) {
  margin-top: 15px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.richter-left-actions {
  margin-top: 0 !important;
}

.richter-left-action {
  min-height: 96px;
}

.richter-left-action__copy strong {
  font-size: 27px;
}

.richter-left-action__copy small {
  font-size: 18px;
}


/* Richter Czech – shared four-column footer */
.footer-area {
  padding: 44px 0 38px;
  border: 0;
  background: #173665;
  color: #fff;
}

.footer-area .container-inner > .row {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(190px, 1fr);
  gap: clamp(28px, 4vw, 64px);
  margin: 0;
}

.footer-area .footer-left-section,
.footer-area .footer-right-section {
  display: block !important;
  width: auto;
  max-width: none;
  margin: 0 !important;
  padding: 0;
  text-align: left !important;
}

.footer-area .footer-left-section {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 52px);
}

.footer-area .rc-footer-column {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #fff;
}

.footer-area .rc-footer-column > h3,
.footer-area .rc-footer-column .module-title,
.footer-area .rc-footer-column .card-header {
  margin: 0 0 17px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: none;
}

.footer-area .rc-footer-social > h3,
.footer-area .rc-footer-social .module-title {
  font-size: 20px;
  text-transform: uppercase;
}

.footer-area .rc-footer-menu ul,
.footer-area .rc-footer-social-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-area .rc-footer-menu li,
.footer-area .rc-footer-social-list li {
  margin: 0;
  padding: 0;
  border: 0;
}

.footer-area .rc-footer-menu a,
.footer-area .rc-footer-social-list a {
  color: rgba(255,255,255,.92) !important;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}

.footer-area .rc-footer-menu a {
  display: inline-block;
}

.footer-area .rc-footer-menu a:hover,
.footer-area .rc-footer-menu a:focus-visible,
.footer-area .rc-footer-social-list a:hover,
.footer-area .rc-footer-social-list a:focus-visible {
  color: #fff !important;
  text-decoration: underline;
  text-decoration-color: #e4001b;
  text-underline-offset: 4px;
}

.footer-area .rc-footer-social-list {
  gap: 13px;
}

.footer-area .rc-footer-social-list a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
}

.footer-area .rc-footer-social-list i {
  width: 18px;
  color: #fff;
  font-size: 18px;
  text-align: center;
}

@media (max-width: 991.98px) {
  .footer-area .container-inner > .row {
    grid-template-columns: 1fr;
  }

  .footer-area .footer-left-section {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .footer-area {
    padding: 34px 0 30px;
  }

  .footer-area .footer-left-section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }
}

@media (max-width: 479.98px) {
  .footer-area .footer-left-section {
    grid-template-columns: 1fr;
  }
}


.footer-area .rc-footer-menu a,
.footer-area .rc-footer-social-list a {
  text-transform: none !important;
  letter-spacing: normal;
}


.footer-area .container-inner {
  padding: 0 !important;
  background: transparent !important;
}

.footer-area .rc-footer-column {
  display: block !important;
}


/* Left action banners – spacing, red icons and unclipped hover. */
@media (min-width: 992px) {
  .aside-inner > .mod-position-left:has(+ .mod-position-left:has(.richter-left-actions)) {
    margin-bottom: 0 !important;
  }

  .aside-inner > .mod-position-left:has(.richter-left-actions),
  .mod-position-left:has(.richter-left-actions),
  .mod-block:has(.richter-left-actions) {
    overflow: visible !important;
  }

  .richter-left-action__icon {
    background: #fff0f2;
    color: #e30620;
  }

  /* Keep the language dropdown above the desktop navigation. */
  .header-main {
    position: relative;
    z-index: 1040;
  }

  .header-right-lg .rc-language-switcher,
  .header-right-lg .rc-language-menu {
    z-index: 1100 !important;
  }
}


@media (min-width: 992px) {
  .aside-inner > .mod-position-left:has(+ .mod-position-left .richter-left-actions) {
    margin-bottom: 0 !important;
  }
}


/* Richter Czech – balanced desktop header proportions. */
@media (min-width: 992px) {
  #headerSearch.header-search-container {
    flex: 0 1 50vw !important;
    width: 50vw;
    max-width: 50vw;
    min-width: 0;
  }

  #headerSearch .header-search-inner,
  #headerSearch .header-search-inner > .flex-grow-1,
  #headerSearch .mod-vpprime-ajax-search,
  #headerSearch form {
    width: 100%;
    min-width: 0;
  }

  .header-right-lg {
    gap: 18px;
  }
}


/* Desktop search: half the previous width and exactly centered. */
@media (min-width: 992px) {
  .header-main .container-inner > .d-none.d-lg-flex {
    position: relative;
  }

  #headerSearch.header-search-container {
    position: absolute;
    left: 50%;
    flex: none !important;
    width: 25vw;
    max-width: 25vw;
    transform: translateX(-50%);
  }
}


/* Unified always-visible arrows for hero and product carousels. */
.richter-homepage .richter-carousel-arrow,
.richter-homepage section.richter-home-products .tns-controls button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #0c2953 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 20 !important;
}

.richter-homepage section.richter-home-products .tns-controls button {
  line-height: 42px !important;
}

.richter-homepage section.richter-home-products .tns-controls button .vpi {
  font-size: 24px !important;
  line-height: 1 !important;
}

.richter-homepage .richter-carousel-arrow:hover,
.richter-homepage .richter-carousel-arrow:focus-visible,
.richter-homepage section.richter-home-products .tns-controls button:hover,
.richter-homepage section.richter-home-products .tns-controls button:focus-visible {
  background: transparent !important;
  color: #e30628 !important;
  opacity: 1 !important;
}

.richter-homepage section.richter-home-products .tns-controls button[data-controls="prev"] {
  left: -21px !important;
}

.richter-homepage section.richter-home-products .tns-controls button[data-controls="next"] {
  right: -21px !important;
}

@media (max-width: 620px) {
  .richter-homepage section.richter-home-products .tns-controls button {
    background: rgba(255,255,255,.94) !important;
  }

  .richter-homepage section.richter-home-products .tns-controls button[data-controls="prev"] {
    left: 8px !important;
  }

  .richter-homepage section.richter-home-products .tns-controls button[data-controls="next"] {
    right: 8px !important;
  }
}


/* Match product control dimensions exactly to the 42px hero controls. */
body.itemid-101 .richter-homepage section.richter-home-products .tns-controls button,
body.itemid-476 .richter-homepage section.richter-home-products .tns-controls button,
body.itemid-3604 .richter-homepage section.richter-home-products .tns-controls button {
  width: 42px !important;
  height: 42px !important;
  line-height: 42px !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* Homepage desktop: align every module's visual content with product-card edges. */
@media (min-width: 992px) {
  body.itemid-101 .richter-homepage .richter-carousel-viewport,
  body.itemid-476 .richter-homepage .richter-carousel-viewport,
  body.itemid-3604 .richter-homepage .richter-carousel-viewport {
    margin-right: 15px;
    margin-left: 15px;
  }

  body.itemid-101 .richter-homepage .richter-benefits,
  body.itemid-476 .richter-homepage .richter-benefits,
  body.itemid-3604 .richter-homepage .richter-benefits {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }

  body.itemid-101 .richter-homepage section.richter-home-products .richter-section-heading,
  body.itemid-476 .richter-homepage section.richter-home-products .richter-section-heading,
  body.itemid-3604 .richter-homepage section.richter-home-products .richter-section-heading {
    margin-right: 15px;
    margin-left: 15px;
  }

  body.itemid-101 .richter-homepage .richter-home-news,
  body.itemid-476 .richter-homepage .richter-home-news,
  body.itemid-3604 .richter-homepage .richter-home-news,
  body.itemid-101 .richter-homepage .richter-home-partners,
  body.itemid-476 .richter-homepage .richter-home-partners,
  body.itemid-3604 .richter-homepage .richter-home-partners {
    box-sizing: border-box;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
}


/* Homepage advice cards: larger intro copy and tighter title rhythm. */
.richter-homepage .richter-home-news .mod-articles-item-content .mod-articles-title {
  margin-bottom: 0 !important;
}

.richter-homepage .richter-home-news .mod-articles-item-content > p,
.richter-homepage .richter-home-news .mod-articles-item-content > .rc-cylinder-guide {
  margin-top: 4px !important;
  font-size: 15.6px !important;
  line-height: 1.45 !important;
}


/* Partners carousel: 20% taller logos and row. */
.richter-home-partners .richter-partners-carousel {
  min-height: 84px;
}

.richter-home-partners .richter-partners-viewport,
.richter-home-partners .richter-partners-track,
.richter-home-partners .richter-partner-item {
  height: 82px;
}

.richter-home-partners .richter-partner-item img {
  width: 36px !important;
  height: 36px !important;
}

.richter-home-partners .richter-partners-arrow {
  height: 82px;
  line-height: 82px;
}


/* Compact left-column B2B/contact banners with stable hover geometry. */
.richter-left-actions {
  gap: 10px;
}

.richter-left-action {
  box-sizing: border-box;
  grid-template-columns: 36px minmax(0, 1fr) 14px;
  width: 100%;
  max-width: 100%;
  min-height: 74px;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 20px;
  transform: none !important;
}

.richter-left-action__icon {
  width: 36px;
  height: 36px;
}

.richter-left-action__icon svg {
  width: 24px;
  height: 24px;
}

.richter-left-action__copy {
  gap: 2px;
}

.richter-left-action__copy strong {
  font-size: 18px;
  line-height: 1.1;
}

.richter-left-action__copy small {
  font-size: 12px;
  line-height: 1.25;
}

.richter-left-action__arrow {
  font-size: 20px;
}

.richter-left-action:hover,
.richter-left-action:focus-visible {
  width: 100%;
  max-width: 100%;
  transform: none !important;
}


/* Client revision: wider centered desktop search and slimmer menu strip. */
@media (min-width: 992px) {
  #headerSearch.header-search-container {
    width: 45vw;
    max-width: 45vw;
  }

  #mega-menu {
    padding-top: 13px;
    padding-bottom: 13px;
  }
}


/* Navigation typography: title case in both horizontal and accordion menus. */
#mega-menu .mod-megamenu--item-anchor,
#mega-menu .mod-megamenu--item-anchor > span,
.accordeonck_outer .accordeonck .image-title,
.accordeonck_outer a.accordeonck {
  text-transform: capitalize !important;
}


/* Preserve the edited title-case menu labels exactly as stored in Joomla. */
#mega-menu .mod-megamenu--item-anchor,
#mega-menu .mod-megamenu--item-anchor > span,
.accordeonck_outer .accordeonck .image-title,
.accordeonck_outer a.accordeonck {
  text-transform: none !important;
}


/* Mega Menu applies uppercase on its nested title span; preserve Joomla title case there too. */
#mega-menu .mod-megamenu--item-title,
#mega-menu .mod-megamenu--item-inner,
#mega-menu .mod-megamenu--item-anchor * {
  text-transform: none !important;
}


/* Global Richter Czech typography: Google Font Figtree. */
:root {
  --neoteric-font-family-body: "Figtree", sans-serif;
  --neoteric-font-family-headings: "Figtree", sans-serif;
  --body-font-family: "Figtree", sans-serif;
  --btn-font-family: "Figtree", sans-serif;
}

html,
body,
input,
button,
select,
textarea,
optgroup {
  font-family: "Figtree", sans-serif;
}

body .product .addtocart-area input.addtocart-button,
body .product .addtocart-area button.addtocart-button,
body .addtocart-area form.product input.addtocart-button,
body .addtocart-area form.product button.addtocart-button {
  font-family: "Figtree", sans-serif !important;
}


/* Keep the desktop mini-cart offcanvas above the language switcher. */
@media (min-width: 992px) {
  .header-right-lg .mod-minicart__offcanvas-container > .offcanvas {
    z-index: 1200 !important;
  }
}

/* Richter Czech category and product mockup refresh - 2026-09-23 */
body.view-category,
body.view-productdetails {
  --rc-catalog-navy: #001b3f;
  --rc-catalog-red: #e10600;
  --rc-catalog-ink: #061b38;
  --rc-catalog-muted: #748198;
  --rc-catalog-line: #d8e0eb;
  --rc-catalog-soft: #f8fafc;
  --rc-catalog-paper: #fff;
  background: #fff;
}

body.view-category #bd_results,
body.view-category .category-view,
body.view-category .browse-view {
  width: 100%;
  max-width: none;
  color: var(--rc-catalog-ink);
}

/* Compact white category introduction. */
body.view-category .category_description.mb-5 {
  margin: 0 0 18px !important;
  padding: 0 0 18px !important;
  overflow: visible;
  border: 0 !important;
  border-bottom: 1px solid var(--rc-catalog-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--rc-catalog-ink);
  box-shadow: none !important;
}

body.view-category .category_description h1 {
  margin: 0 0 14px;
  color: var(--rc-catalog-ink) !important;
  font-size: 32px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: 0;
}

body.view-category .category_description p {
  margin: 0;
  color: var(--rc-catalog-muted);
  font-size: 0;
  line-height: 0;
}

body.view-category .category_description p::before {
  content: "Bezpečnostní i interiérové kování pro vstupní, pokojové a rámové dveře. Rozetové a štítové sady, bezpečnostní rozety s ochranou vložky i kování pro branky - v nerezu, hliníku, zamaku a oceli.";
  display: block;
  max-width: 940px;
  margin-bottom: 17px;
  color: var(--rc-catalog-muted);
  font-size: 14px;
  line-height: 1.6;
}

body.view-category .category_description br {
  display: none;
}

body.view-category .category_description strong {
  display: inline-flex;
  min-height: 39px;
  margin: 0 7px 0 0;
  padding: 0 16px;
  border: 1px solid var(--rc-catalog-line);
  border-radius: 8px;
  background: #fff;
  color: var(--rc-catalog-ink);
  align-items: center;
  gap: 10px;
  vertical-align: top;
  font-size: 0;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}

body.view-category .category_description strong::before {
  content: "→";
  color: var(--rc-catalog-navy);
  font-size: 14px;
  font-weight: 700;
}

body.view-category .category_description strong::after {
  font-size: 13px;
  line-height: 1;
}

body.view-category .category_description strong:nth-of-type(1)::after {
  content: "Jak vybrat dveřní kování";
}

body.view-category .category_description strong:nth-of-type(2)::after {
  content: "Bezpečnostní třídy TB2-TB4";
}

body.view-category .category_description strong:nth-of-type(3)::after {
  content: "Jak změřit rozteč kování";
}

body.view-category .category_description strong:nth-of-type(4) {
  display: none;
}

/* Horizontal subcategory cards. */
body.view-category .virtuemart-categories.mb-4 {
  margin: 0 0 22px !important;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--rc-catalog-line);
}

body.view-category .virtuemart-categories > .row {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.view-category .virtuemart-categories .category {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

body.view-category .virtuemart-categories .item-container {
  position: relative;
  display: grid !important;
  min-width: 0;
  min-height: 90px;
  margin: 0 !important;
  padding: 13px 16px !important;
  overflow: hidden;
  border: 1px solid var(--rc-catalog-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  transform: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.view-category .virtuemart-categories .item-container:hover,
body.view-category .virtuemart-categories .item-container:focus-within {
  border-color: #b8c5d6 !important;
  box-shadow: 0 8px 20px rgba(0, 27, 63, .07) !important;
  transform: none !important;
}

body.view-category .virtuemart-categories .category-image {
  width: 66px;
  height: 62px;
  min-height: 0;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 0;
  background: #fff;
}

body.view-category .virtuemart-categories .category-image a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

body.view-category .virtuemart-categories .category-image img {
  width: 100%;
  height: 100%;
  padding: 2px;
  object-fit: contain;
}

body.view-category .virtuemart-categories .category-name,
body.view-category .virtuemart-categories h3 {
  min-width: 0;
  margin: 0 !important;
  color: var(--rc-catalog-ink);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 750;
  text-align: left !important;
}

body.view-category .virtuemart-categories .category-name a,
body.view-category .virtuemart-categories h3 a {
  color: inherit;
  text-decoration: none;
}

/* Flat results and sorting row. */
body.view-category .browse-view {
  margin-right: 0 !important;
}

body.view-category .top-toolbar.row {
  display: flex;
  min-height: 66px;
  margin: 0 0 18px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rc-catalog-line) !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  align-items: center;
}

body.view-category .productlist-results {
  color: var(--rc-catalog-muted);
  font-size: 14px;
  font-weight: 500;
}

body.view-category .productlist-results strong {
  color: var(--rc-catalog-ink);
  font-weight: 800;
}

body.view-category .top-toolbar .toolbar-seprator,
body.view-category .manufacturer-filter-container,
body.view-category .productlist-viewmodes,
body.view-category .orderby-container .btn-switch {
  display: none !important;
}

body.view-category .orderby-container {
  margin-left: auto;
  color: var(--rc-catalog-muted);
  font-size: 14px;
}

body.view-category .orderby-container .choices__inner {
  min-width: 170px;
  min-height: 39px;
  border: 1px solid var(--rc-catalog-line);
  border-radius: 8px;
  background: #fff;
  color: var(--rc-catalog-ink);
}

/* Product grid and reference-style cards. */
body.view-category .product-items-container > .row {
  --bs-gutter-x: 16px;
  --bs-gutter-y: 18px;
}

body.view-category .product.product-grid-view {
  display: flex;
}

body.view-category .product.product-grid-view .product-container {
  display: flex !important;
  box-sizing: border-box !important;
  min-width: 0;
  min-height: 100%;
  margin-bottom: 0 !important;
  padding: 16px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(0, 27, 63, .08) !important;
  flex-direction: column;
  align-self: stretch !important;
  transform: none !important;
  transition: box-shadow .2s ease;
}

body.view-category .product.product-grid-view .product-container:hover,
body.view-category .product.product-grid-view .product-container:focus-within {
  border: 0 !important;
  box-shadow: 0 8px 26px rgba(0, 27, 63, .12) !important;
  transform: none !important;
}

body.view-category .product-top-container,
body.view-category .product-bottom-container {
  display: contents;
}

body.view-category .product-list-images {
  position: relative;
  order: 1;
  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  margin: 0 0 13px !important;
  overflow: hidden;
  border: 1px solid #e2e7ef;
  border-radius: 8px;
  background: #fff;
}

body.view-category .product-image-default,
body.view-category .product-image-default a,
body.view-category .product-image-hover,
body.view-category .product-image-hover a {
  display: block;
  width: 100%;
  height: 100%;
}

body.view-category .product-list-images img,
body.view-category .product-container .product-thumbnail,
body.view-category .product-container .product-image {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-height: none;
  padding: 6px;
  object-fit: contain;
}

body.view-category .product-list-utilities {
  display: none !important;
}

body.view-category h3.product-name.text-center.m-0.mb-2 {
  order: 2;
  min-height: 0;
  margin: 0 0 7px !important;
  text-align: left !important;
}

body.view-category .product-name a {
  display: block;
  color: #8793a7 !important;
  font-size: 12px !important;
  line-height: 1.3;
  font-weight: 500 !important;
  text-transform: none !important;
  text-decoration: none;
  overflow-wrap: anywhere;
}

body.view-category .product-categories {
  display: none !important;
}

body.view-category .product-container .product-short-description {
  order: 3;
  max-height: none;
  min-height: 48px;
  margin: 0 0 11px !important;
  color: #111 !important;
  opacity: 1;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 500;
  text-align: left !important;
}

body.view-category .product-container:hover .product-short-description {
  max-height: none;
  margin-bottom: 11px !important;
}

body.view-category .product-prices {
  order: 4;
  margin: auto 0 13px !important;
  padding-top: 8px;
  text-align: left !important;
}

body.view-category .product-prices .product-price {
  display: grid;
  gap: 3px;
}

body.view-category .product-prices .vm-display {
  display: flex;
  float: none !important;
  align-items: baseline;
  justify-content: flex-start;
  gap: 8px;
}

body.view-category .product-prices .vm-price-desc {
  color: var(--rc-catalog-muted);
  font-size: 11px;
  font-weight: 500;
}

body.view-category .product-prices .PricesalesPrice {
  color: var(--rc-catalog-red);
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
}

body.view-category .product-prices .PricepriceWithoutTax {
  color: #7f8a9c;
  font-size: 12px;
  white-space: nowrap;
}

body.view-category .addtocart-area {
  order: 5;
  margin-top: 0;
}

body.view-category .product .addtocart-area .addtocart-button-container {
  display: flex !important;
  width: 100% !important;
}

body.view-category .product .addtocart-area input.addtocart-button.btn.btn-primary,
body.view-category .product .addtocart-area button.addtocart-button.btn.btn-primary {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid var(--rc-catalog-navy) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--rc-catalog-navy) !important;
  font-family: Figtree, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  text-transform: none !important;
  box-shadow: none !important;
}

body.view-category .product .addtocart-area input.addtocart-button.btn.btn-primary:hover,
body.view-category .product .addtocart-area input.addtocart-button.btn.btn-primary:focus,
body.view-category .product .addtocart-area button.addtocart-button.btn.btn-primary:hover,
body.view-category .product .addtocart-area button.addtocart-button.btn.btn-primary:focus {
  border-color: var(--rc-catalog-navy) !important;
  background: var(--rc-catalog-navy) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Product detail keeps the same restrained visual language. */
body.view-productdetails #product-main-content {
  padding: clamp(18px, 2.4vw, 30px) !important;
  border: 1px solid var(--rc-catalog-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(0, 27, 63, .07);
}

body.view-productdetails .product-page-title {
  color: var(--rc-catalog-ink) !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.1;
  font-weight: 800 !important;
  text-transform: none !important;
}

body.view-productdetails .product-image-gallery {
  padding: 18px;
  border: 1px solid var(--rc-catalog-line);
  border-radius: 8px;
  background: #fff;
}

body.view-productdetails .product-image-gallery img {
  object-fit: contain;
}

body.view-productdetails .product-prices-wrapper {
  width: 100%;
  max-width: 420px;
  padding: 18px;
  border: 1px solid var(--rc-catalog-line);
  border-radius: 8px;
  background: var(--rc-catalog-soft);
}

body.view-productdetails .product-prices-wrapper .product-price {
  display: grid !important;
  width: 100%;
  grid-template-columns: 1fr auto !important;
  gap: 8px 18px !important;
}

body.view-productdetails .product-prices-wrapper .vm-display {
  display: contents !important;
}

body.view-productdetails .product-prices-wrapper .vm-price-value {
  text-align: right !important;
}

body.view-productdetails .product-prices-wrapper .PricesalesPrice {
  color: var(--rc-catalog-red);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 900;
}

body.view-productdetails .addtocart-area {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--rc-catalog-line);
  border-radius: 8px;
  background: #fff;
}

body.view-productdetails .addtocart-area form.product .addtocart-button-container {
  display: flex !important;
  width: 100% !important;
}

body.view-productdetails .addtocart-area form.product input.addtocart-button.btn.btn-primary,
body.view-productdetails .addtocart-area form.product button.addtocart-button.btn.btn-primary {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--rc-catalog-red) !important;
  color: #fff !important;
  font-family: Figtree, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 44px !important;
  text-transform: none !important;
  box-shadow: 0 8px 20px rgba(225, 6, 0, .18) !important;
}

@media (max-width: 991.98px) {
  body.view-category .virtuemart-categories > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.view-productdetails #product-main-content {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}

@media (max-width: 575.98px) {
  body.view-category .category_description h1 {
    font-size: 28px;
  }

  body.view-category .category_description strong {
    display: flex;
    width: 100%;
    margin: 0 0 8px;
    white-space: normal;
  }

  body.view-category .virtuemart-categories > .row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.view-category .top-toolbar.row {
    gap: 10px;
  }

  body.view-category .orderby-container {
    width: 100%;
    margin-left: 0;
  }

  body.view-category .orderby-container > .row {
    justify-content: space-between;
  }

  body.view-category .product.product-grid-view {
    width: 50%;
  }

  body.view-category .product.product-grid-view .product-container {
    padding: 10px !important;
  }

  body.view-category .product-container .product-short-description {
    min-height: 58px;
    font-size: 13px;
  }

  body.view-category .product-prices .PricesalesPrice {
    font-size: 16px;
  }

  body.view-productdetails .product-prices-wrapper .product-price {
    grid-template-columns: 1fr !important;
  }

  body.view-productdetails .product-prices-wrapper .vm-price-value {
    text-align: left !important;
  }
}


/* VP Neoteric adds state-hover and places this backdrop above display:contents children. */
body.view-category .product.product-grid-view .product-backdrop,
body.view-category .virtuemart-categories .item-backdrop {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.view-category .product.product-grid-view .product-container.add-hover-effect,
body.view-category .product.product-grid-view .product-container.add-hover-effect:hover,
body.view-category .product.product-grid-view .product-container.add-hover-effect.state-hover,
body.view-category .product.product-grid-view .product-container.add-hover-effect:focus-within {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.view-category .product.product-grid-view .product-container.add-hover-effect:hover,
body.view-category .product.product-grid-view .product-container.add-hover-effect.state-hover,
body.view-category .product.product-grid-view .product-container.add-hover-effect:focus-within {
  box-shadow: 0 6px 18px rgba(0, 0, 0, .12) !important;
}

body.view-category .product.product-grid-view .product-container .product-top-container,
body.view-category .product.product-grid-view .product-container .product-bottom-container,
body.view-category .product.product-grid-view .product-container:hover .product-top-container,
body.view-category .product.product-grid-view .product-container:hover .product-bottom-container,
body.view-category .product.product-grid-view .product-container.state-hover .product-top-container,
body.view-category .product.product-grid-view .product-container.state-hover .product-bottom-container {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.view-category .product.product-grid-view .product-container .product-name,
body.view-category .product.product-grid-view .product-container .product-short-description,
body.view-category .product.product-grid-view .product-container .product-prices,
body.view-category .product.product-grid-view .product-container .addtocart-area {
  opacity: 1 !important;
  visibility: visible !important;
}


/* Category sidebar: keep accordion arrows inside their own centered hit area. */
body.view-category .left-aside .accordeonck-wrap li.level1 > .accordeonck_outer {
  position: relative;
}

body.view-category .left-aside .accordeonck-wrap li.level1 > .accordeonck_outer > a.accordeonck {
  padding-right: 42px !important;
}

body.view-category .left-aside .accordeonck-wrap li.level1 > .accordeonck_outer > .toggler_icon {
  position: absolute !important;
  top: 50% !important;
  right: 6px !important;
  bottom: auto !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  background-position: center !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
}

/* Related products: keep VAT prices on separate readable rows. */
.product-related-products .product-price { display: flex !important; flex-direction: column !important; gap: 6px; }
.product-related-products .product-price > .vm-price-value { display: flex !important; align-items: baseline; justify-content: space-between; gap: 10px; width: 100% !important; float: none !important; margin: 0 !important; }
.product-related-products .product-price > .vm-price-value > span { float: none !important; width: auto !important; white-space: nowrap; }
.product-related-products .product-price .vm-price-desc { flex: 0 0 auto; }

/* Richter header: readable, stable navigation on compact desktops. */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .rc-reference-header .header-main .container-inner > .d-lg-flex { gap: 24px !important; }
  .rc-reference-header .header-left, .rc-reference-header .header-right-lg { flex-shrink: 0; }
  .rc-reference-header #headerSearch { min-width: 0; }
  .rc-reference-header .rc-reference-nav { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: clamp(12px, 1.6vw, 22px); width: 100%; min-width: 0; padding: 4px 12px; box-sizing: border-box; }
  .rc-reference-header .rc-reference-nav > a { flex: 0 0 auto; white-space: nowrap; font-size: 14px; line-height: 1.4; padding: 8px 0; }
}

/* Richter Czech: terms page, scoped to menu item 3151. */
body.itemid-3151 .com-content-article { color: #334155; font-family: 'Figtree', sans-serif; }
body.itemid-3151 .com-content-article > .page-header { background: #001b3d; border-radius: 18px; padding: 32px 36px; margin: 0 0 24px; box-shadow: 0 8px 24px rgba(0,27,61,.08); }
body.itemid-3151 .com-content-article > .page-header h1 { color: #fff; font-size: clamp(26px,3vw,38px); line-height: 1.2; font-weight: 800; letter-spacing: -.025em; text-transform: none; margin: 0; }
body.itemid-3151 .com-content-article > .page-header h1::after { background: #e30613; width: 48px; height: 4px; margin-top: 16px; }
body.itemid-3151 .com-content-article__body { background: #fff; border: 1px solid #dce3ee; border-radius: 18px; padding: 30px 36px; box-shadow: 0 4px 18px rgba(0,27,61,.04); overflow-wrap: anywhere; }
body.itemid-3151 .com-content-article__body > h2 { color: #001b3d; background: #f3f6fb; border-left: 4px solid #e30613; border-radius: 0 12px 12px 0; padding: 16px 20px; margin: 36px 0 20px; font-size: 23px; line-height: 1.4; font-weight: 750; text-transform: none; }
body.itemid-3151 .com-content-article__body > h2:first-child { margin-top: 0; }
body.itemid-3151 .com-content-article__body h3 { color: #001b3d; font-size: 19px; line-height: 1.4; font-weight: 700; margin: 24px 0 12px; text-transform: none; }
body.itemid-3151 .com-content-article__body p, body.itemid-3151 .com-content-article__body ul { font-size: 16px; line-height: 1.8; font-weight: 400; margin: 0 0 18px; }
body.itemid-3151 .com-content-article__body > h2:first-child + p { padding: 20px 24px; background: #f8faff; border: 1px solid #dce3ee; border-radius: 12px; }
body.itemid-3151 .com-content-article__body strong { font-weight: 700; color: #001b3d; }
body.itemid-3151 .com-content-article__body a { color: #b9000b; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
body.itemid-3151 .com-content-article__body a:hover { color: #001b3d; }
body.itemid-3151 .com-content-article__body a:focus-visible { outline: 2px solid #001b3d; outline-offset: 4px; border-radius: 2px; }
body.itemid-3151 .com-content-article__body ul { padding-left: 24px; }
body.itemid-3151 .com-content-article__body li { padding-left: 4px; margin-bottom: 8px; }
body.itemid-3151 .com-content-article__body li::marker { color: #e30613; }
body.itemid-3151 .com-content-article__body > p:last-child { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid #dce3ee; color: #64748b; font-size: 14px; }
@media (max-width: 767.98px) {
  body.itemid-3151 .com-content-article > .page-header { padding: 24px 20px; border-radius: 14px; margin-bottom: 16px; }
  body.itemid-3151 .com-content-article__body { padding: 20px 18px; border-radius: 14px; }
  body.itemid-3151 .com-content-article__body > h2 { font-size: 20px; padding: 14px; margin-top: 28px; }
  body.itemid-3151 .com-content-article__body > h2:first-child + p { padding: 16px; }
}
@media print {
  body.itemid-3151 .com-content-article > .page-header { background: #fff; box-shadow: none; padding: 0; }
  body.itemid-3151 .com-content-article > .page-header h1 { color: #001b3d; }
  body.itemid-3151 .com-content-article__body { border: 0; padding: 0; box-shadow: none; }
  body.itemid-3151 .com-content-article__body h2, body.itemid-3151 .com-content-article__body h3 { break-after: avoid; }
}

/* Shared sidebar category menu: use the homepage design on all pages. */
body #left-aside [data-mod-id="176"] { overflow: hidden; border: 1px solid rgb(220, 227, 236) !important; border-radius: 12px !important; padding: 0px !important; margin: 0px !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.08) 0px 2px 8px !important; }
body #left-aside [data-mod-id="176"] .mod-block-body { padding: 0px !important; }
body #left-aside [data-mod-id="176"]::before { content: "KATEGORIE"; display: block; padding: 14px 16px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; color: rgb(91, 102, 117); border-bottom: 1px solid rgb(220, 227, 236); }
body #left-aside #accordeonck176 { padding: 0px !important; margin: 0px !important; background: rgb(255, 255, 255) !important; }
body #left-aside #accordeonck176 > li { border-width: 0px 0px 1px !important; border-style: none none solid !important; border-color: currentcolor currentcolor rgb(220, 227, 236) !important; border-image: none !important; margin: 0px !important; padding: 0px !important; background: rgb(255, 255, 255) !important; }
body #left-aside #accordeonck176 > li:last-child { border-bottom: 0px !important; }
body #left-aside #accordeonck176 > li > .accordeonck_outer { align-items: center; position: relative; display: flex !important; margin: 0px !important; padding: 0px !important; background: rgb(255, 255, 255) !important; border: 0px !important; min-height: 45px !important; }
body #left-aside #accordeonck176 > li > .accordeonck_outer > a { align-items: center; width: 100%; display: flex !important; gap: 12px !important; padding: 12px 30px 12px 16px !important; margin: 0px !important; color: rgb(0, 27, 63) !important; font-family: Poppins, sans-serif !important; font-size: 13.5px !important; font-weight: 400 !important; line-height: 1.5 !important; white-space: normal !important; border: 0px !important; background: none !important; }
body #left-aside #accordeonck176 > li > .accordeonck_outer > a img { object-fit: contain; flex: 0 0 auto; width: 20px !important; height: 20px !important; margin: 0px !important; }
body #left-aside #accordeonck176 .image-title { font-size: 13.5px !important; font-weight: 400 !important; white-space: normal !important; line-height: 1.5 !important; }
body #left-aside #accordeonck176 .toggler_icon { width: 24px !important; right: 7px !important; font-size: 12px !important; }
body #left-aside #accordeonck176 ul a { font-family: Poppins, sans-serif !important; font-size: 12px !important; font-weight: 400 !important; white-space: normal !important; }
body #left-aside [data-mod-id="176"] { font-family: Poppins, system-ui, sans-serif !important; -webkit-font-smoothing: antialiased; }

/* Rady a tipy: equal three-column article grid */
body.itemid-3822 .com-content-category-blog .blog-items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;column-count:unset!important;columns:unset!important;align-items:start}
body.itemid-3822 .com-content-category-blog .blog-item{min-width:0;width:auto!important;margin:0!important;break-inside:auto}
body.itemid-3822 .com-content-category-blog .item-image{float:none!important;width:100%;margin:0 0 18px!important;aspect-ratio:16/9;border-radius:12px;overflow:hidden}
body.itemid-3822 .com-content-category-blog .item-image img{display:block;width:100%;height:100%;object-fit:cover}
body.itemid-3822 .com-content-category-blog .page-header h2{font-size:20px;line-height:1.4;margin-bottom:14px}
body.itemid-3822 .com-content-category-blog .item-content p{font-size:14px;line-height:1.8}
@media(max-width:991px){body.itemid-3822 .com-content-category-blog .blog-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:575px){body.itemid-3822 .com-content-category-blog .blog-items{grid-template-columns:minmax(0,1fr)}}

/* Clean white page background across the public website */
body.site.tpl-vp-neoteric{background-image:none!important;background-color:#fff!important;}

/* Smart home category introduction and compact product subcategory cards */
body.itemid-2175 .category_description:has(.rc-smart-intro){margin-bottom:28px!important;}
body.itemid-2175 .category_description .rc-smart-intro p::before,body.itemid-2175 .category_description .rc-smart-intro p::after{content:none!important;display:none!important;}
body.itemid-2175 .rc-smart-intro{padding:0 0 22px;border-bottom:1px solid #d8e2ef;}
body.itemid-2175 .rc-smart-intro h1{font-size:30px;line-height:1.25;color:#001b3d;margin:0 0 14px;}
body.itemid-2175 .rc-smart-intro p{font-size:14px!important;line-height:1.8!important;margin:0 0 18px;color:#687d99;}
body.itemid-2175 .rc-smart-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;}
body.itemid-2175 .rc-smart-links a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d8e2ef;border-radius:8px;color:#001b3d;background:#fff;font-size:12px;text-decoration:none;}
body.itemid-2175 .rc-smart-intro .rc-smart-contact{font-size:12px!important;margin-bottom:0;}
body.itemid-2175 .rc-smart-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 0;border-bottom:1px solid #d8e2ef;}
body.itemid-2175 .rc-smart-categories a{display:flex;align-items:center;gap:16px;min-height:90px;padding:12px 16px;border:1px solid #d8e2ef;border-radius:12px;background:#fff;color:#001b3d;text-decoration:none;font-size:14px;font-weight:600;}
body.itemid-2175 .rc-smart-categories img{display:block;width:64px!important;height:64px!important;object-fit:contain;flex:0 0 64px;}
body.itemid-2175 .rc-smart-links a:hover,body.itemid-2175 .rc-smart-categories a:hover{border-color:#e60012;background:#f6f8fc;}
body.itemid-2175 .category_description:has(.rc-smart-intro)+.virtuemart-categories{display:none!important;}
@media(max-width:991px){body.itemid-2175 .rc-smart-categories{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575px){body.itemid-2175 .rc-smart-categories{grid-template-columns:1fr;}body.itemid-2175 .rc-smart-intro h1{font-size:26px;}}

/* Category product cards – image, code, description, prices, cart */
body.view-category .category-view .product-items-container .product-grid-view{display:flex;}
body.view-category .category-view .product-items-container .product-grid-view>.product-container{padding:16px!important;border:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 2px 10px rgba(0,27,61,.09)!important;align-self:stretch!important;height:calc(100% - 24px);position:relative;gap:0;}
body.view-category .category-view .product-grid-view .product-top-container,body.view-category .category-view .product-grid-view .product-bottom-container{display:contents!important;}
body.view-category .category-view .product-grid-view .product-list-images{order:0;width:100%;aspect-ratio:1/1;border:1px solid #e4ebf4;border-radius:8px;overflow:hidden;margin:0 0 14px!important;position:relative;}
body.view-category .category-view .product-grid-view .product-image-default,body.view-category .category-view .product-grid-view .product-image-default>a{display:block;width:100%;height:100%;}
body.view-category .category-view .product-grid-view .product-list-images img{width:100%!important;height:100%!important;object-fit:contain;}
body.view-category .category-view .product-grid-view .product-name{order:1;text-align:left!important;font-size:11px!important;line-height:1.5!important;font-weight:400!important;margin:0 0 6px!important;overflow-wrap:anywhere;}
body.view-category .category-view .product-grid-view .product-name a{color:#8292ab!important;font-weight:400!important;}
body.view-category .category-view .product-grid-view .product-categories{display:none!important;}
body.view-category .category-view .product-grid-view .product-short-description{order:2;text-align:left!important;color:#001b3d!important;font-size:14px!important;line-height:1.4!important;margin:0 0 16px!important;min-height:59px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
body.view-category .category-view .product-grid-view .product-prices{order:3;text-align:left!important;margin:auto 0 14px!important;}
body.view-category .category-view .product-grid-view .product-price{display:flex;flex-direction:column;gap:4px;}
body.view-category .category-view .product-grid-view .product-price>div.PricesalesPrice{display:flex!important;align-items:baseline;gap:7px;flex-wrap:wrap;}
body.view-category .category-view .product-grid-view .product-price>div.PricesalesPrice>span.PricesalesPrice{order:0;font-size:18px!important;font-weight:700!important;color:#ed0013!important;line-height:1.4;}
body.view-category .category-view .product-grid-view .PricesalesPrice>.vm-price-desc{order:1;font-size:10px!important;color:#8998ad!important;font-weight:400!important;font-size:0!important;}
body.view-category .category-view .product-grid-view .PricesalesPrice>.vm-price-desc::after{content:'s DPH';font-size:10px;}
body.view-category .category-view .product-grid-view .product-price>div.PricepriceWithoutTax{display:flex!important;align-items:baseline;gap:4px;flex-wrap:wrap;color:#93a0b4!important;font-size:11px!important;font-weight:400!important;}
body.view-category .category-view .product-grid-view .PricepriceWithoutTax>span.PricepriceWithoutTax{order:0;font-size:11px!important;color:#93a0b4!important;font-weight:400!important;}
body.view-category .category-view .product-grid-view .PricepriceWithoutTax>.vm-price-desc{order:1;font-size:0!important;}
body.view-category .category-view .product-grid-view .PricepriceWithoutTax>.vm-price-desc::after{content:'bez DPH';font-size:11px;}
body.view-category .category-view .product-grid-view .addtocart-area{order:4;margin:0!important;width:100%;}
body.view-category .category-view .product-grid-view .addtocart-bar{gap:0!important;width:100%;}
body.view-category .category-view .product-grid-view .addtocart-button-container{display:block;width:100%;position:relative;}
body.view-category .category-view .product-grid-view input.addtocart-button{width:100%!important;min-height:42px;border:1px solid #001b3d!important;border-radius:8px!important;background:#e9edf3!important;color:#001b3d!important;font-size:13px!important;font-weight:600!important;box-shadow:none!important;padding:10px 12px 10px 32px!important;}
body.view-category .category-view .product-grid-view input.addtocart-button:hover{background:#001b3d!important;color:white!important;}
body.view-category .category-view .product-grid-view .product-backdrop{display:none!important;}
@media(max-width:575px){body.view-category .category-view .product-items-container .product-grid-view>.product-container{padding:10px!important;}body.view-category .category-view .product-grid-view .product-short-description{font-size:12px!important;min-height:51px;}body.view-category .category-view .product-grid-view .product-price>div.PricesalesPrice>span.PricesalesPrice{font-size:16px!important;}}

body.view-category .category-view .product-items-container>.row{row-gap:16px;}
body.view-category .category-view .product-items-container .product-grid-view input.addtocart-button{background-color:#e9edf3!important;background-image:none!important;}
body.view-category .category-view .product-items-container .product-grid-view .addtocart-button-container::before{content:'';position:absolute;left:calc(50% - 55px);top:50%;transform:translateY(-50%);width:14px;height:14px;z-index:2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235aca00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l3 12h10l3-9H6'/%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3C/svg%3E") center/contain no-repeat;}

body.site.com-virtuemart.view-category #bd_results .category-view .product-items-container .product.product-grid-view .product-container .addtocart-area .addtocart-bar input.addtocart-button.btn.btn-primary{background:#e9edf3!important;color:#001b3d!important;}

/* Thematic blog cards below category products */
body:not(.view-category) .rc-category-blog{display:none!important;}
body.view-category .rc-category-blog{margin:36px 0 20px!important;width:100%;}
body.view-category .rc-category-blog .mod-title{font-size:20px!important;color:#001b3d!important;text-transform:none!important;font-weight:700!important;margin:0!important;}
body.view-category .rc-category-blog .mod-header-group{padding-bottom:14px;border-bottom:1px solid #d8e2ef;margin-bottom:20px;}
body.view-category .rc-category-blog .mod-articles-items{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px;list-style:none;padding:0!important;margin:0!important;}
body.view-category .rc-category-blog .mod-articles-items>li{padding:0!important;margin:0!important;min-width:0;}
body.view-category .rc-category-blog .mod-articles-item-content{display:flex;flex-direction:column;}
body.view-category .rc-category-blog .item-image{order:0;aspect-ratio:16/9;width:100%;margin:0 0 14px!important;border-radius:10px;overflow:hidden;}
body.view-category .rc-category-blog .item-image img{width:100%!important;height:100%!important;object-fit:cover;}
body.view-category .rc-category-blog dl{order:1;font-size:11px;letter-spacing:1px;color:#8292ab;margin:0 0 8px;}
body.view-category .rc-category-blog .mod-articles-date .icon-calendar{display:none;}
body.view-category .rc-category-blog .mod-articles-title{order:2;font-size:14px!important;line-height:1.4!important;min-height:40px;margin:0 0 22px!important;text-transform:none!important;}
body.view-category .rc-category-blog .mod-articles-title a{color:#001b3d!important;}
body.view-category .rc-category-blog .mod-articles-item-content>p{order:3;font-size:13px!important;line-height:1.6!important;color:#71839f!important;margin:0;}
@media(max-width:991px){body.view-category .rc-category-blog .mod-articles-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:575px){body.view-category .rc-category-blog .mod-articles-items{grid-template-columns:1fr!important;}body.view-category .rc-category-blog .mod-articles-title{min-height:0;margin-bottom:14px!important;}}

body.view-category .content-bottom-vertical-section .rc-category-blog .mod-header-group,body.view-category .content-bottom-vertical-section .rc-category-blog .mod-header{text-align:left!important;justify-content:flex-start!important;}
body.view-category .content-bottom-vertical-section .rc-category-blog .mod-articles-item{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;}
body.view-category .content-bottom-vertical-section .rc-category-blog .mod-articles-item-content{padding:0!important;}
body:not(.view-category) .rc-category-blog-all{display:none!important;}

/* Homepage partners: one border and full sidebar width */
body #left-aside #mod-custom195{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
body #left-aside #mod-custom195 .rc-sidebar-partners{width:100%!important;box-sizing:border-box;margin:0!important;}

/* Blog intro and homepage-sized left sidebar */
@media(min-width:992px){body.itemid-3822 #left-aside{width:250px!important;flex:0 0 250px!important;padding:0!important;}body.itemid-3822 #content{width:calc(100% - 250px)!important;flex:0 0 calc(100% - 250px)!important;padding-left:28px!important;}}
body.itemid-3822 .rc-blog-intro{margin:0 0 28px;padding:0 0 22px;border-bottom:1px solid #d8e2ef;}
body.itemid-3822 .rc-blog-intro h1{margin:0 0 12px;font-size:30px;line-height:1.3;color:#001b3d;}
body.itemid-3822 .rc-blog-intro p{font-size:14px;line-height:1.8;color:#71839f;margin:0;max-width:960px;}
body.itemid-3822 .category-desc{margin-bottom:0!important;}
@media(max-width:575px){body.itemid-3822 .rc-blog-intro h1{font-size:26px;}}

@media(min-width:992px){body.itemid-3822 .main-section>.row{margin-left:0!important;margin-right:0!important;padding-left:24px;padding-right:24px;}body.itemid-3822 #content{padding-right:0!important;}}

/* Richter Czech: category filters inspired by Claude subcategory design. */
#left-aside .mod-block:has(.cf_wrapp_all) {background:#fff;border:1px solid #d8e1ed;border-radius:12px;box-shadow:0 2px 8px rgba(0,25,58,.05);overflow:hidden;}
#left-aside .mod-block:has(.cf_wrapp_all) > .mod-block-header {padding:16px 18px!important;border-bottom:2px solid #ed0016;background:#f5f7fb;}
#left-aside .mod-block:has(.cf_wrapp_all) .mod-block-title {margin:0!important;font-size:11px!important;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#001b3e;}
#left-aside .mod-block:has(.cf_wrapp_all) > .mod-block-body {padding:16px!important;}
#left-aside .cf_wrapp_all .cf_form_filtr {display:flex;flex-direction:column;gap:0;}
#left-aside .cf_wrapp_all .cf_flt_wrapper {margin:0 0 18px!important;padding:0!important;border:0!important;}
#left-aside .cf_wrapp_all .cf_flt_header {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 10px!important;margin:0!important;background:transparent!important;border:0!important;color:#65748a;font-size:10px!important;line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
#left-aside .cf_wrapp_all .cf_flt_header_text {order:-1;}
#left-aside .cf_wrapp_all .headexpand {opacity:.65;flex-shrink:0;}
#left-aside .cf_wrapp_all .cf_filters_list {list-style:none!important;margin:0!important;padding:0!important;max-height:265px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d4e4 #f5f7fb;}
#left-aside .cf_wrapp_all .cf_filters_list_li {margin:0 0 6px!important;padding:0!important;}
#left-aside .cf_wrapp_all .form-check {position:relative;display:flex;align-items:center;gap:8px;margin:0!important;min-height:34px;padding:6px 10px!important;border:1px solid #d8e1ed;border-radius:8px;background:#fff;transition:background .15s,border-color .15s;}
#left-aside .cf_wrapp_all .form-check:hover {border-color:#92a7c5;background:#f5f7fb;}
#left-aside .cf_wrapp_all .form-check:has(input:checked) {border-color:#001b3e;background:#eef3fa;}
#left-aside .cf_wrapp_all .form-check-input {float:none!important;position:static!important;margin:0!important;width:14px;height:14px;flex:0 0 14px;accent-color:#001b3e;}
#left-aside .cf_wrapp_all .form-check label {display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;margin:0!important;font-size:12px;line-height:1.45;color:#001b3e;}
#left-aside .cf_wrapp_all .cf_link {flex:1;min-width:0;}
#left-aside .cf_wrapp_all .cf_option {display:block;text-decoration:none!important;color:#001b3e!important;font-size:12px;line-height:1.45;overflow-wrap:anywhere;}
#left-aside .cf_wrapp_all .cf_flt_counter {font-size:10px;color:#8290a5;white-space:nowrap;}
#left-aside .cf_wrapp_all .cf_option:focus-visible {outline:2px solid #001b3e;outline-offset:3px;border-radius:3px;}
#left-aside .cf_wrapp_all [id*="cf_flt_wrapper_price_"] {order:99;margin-top:4px!important;}
#left-aside .cf_wrapp_all .input-group {gap:6px;align-items:center;flex-wrap:nowrap;}
#left-aside .cf_wrapp_all .cf_search_input {min-width:0;height:36px;border:1px solid #d8e1ed!important;border-radius:8px!important;background:#fff;color:#001b3e;font-size:12px;padding:6px 8px;box-shadow:none;}
#left-aside .cf_wrapp_all .input-group-text {padding:0;border:0;background:transparent;font-size:11px;color:#8290a5;}
#left-aside .cf_wrapp_all .cf_search_button {height:36px;width:36px;flex:0 0 36px;border-radius:8px!important;background:#001b3e;border-color:#001b3e;color:#fff;padding:6px;}
#left-aside .cf_wrapp_all .cf_search_button:disabled {opacity:.45;}
#left-aside .cf_wrapp_all .cf_filtering_slide_container {margin-top:16px;}
#left-aside .cf_wrapp_all .slider_bkg {background:#001b3e!important;}
#left-aside .cf_wrapp_all .cf_filtering_knob {accent-color:#001b3e;}
#left-aside .cf_wrapp_all .cf_resetAll_link {order:100;display:block;padding:10px 14px;margin-top:2px;border:1px solid #d8e1ed;border-radius:8px;color:#001b3e!important;background:#fff;text-align:center;font-size:12px;text-decoration:none!important;}
#left-aside .cf_wrapp_all .cf_resetAll_link:hover {background:#f5f7fb;border-color:#92a7c5;}
@media(max-width:991.98px){#left-aside .mod-block:has(.cf_wrapp_all)>.mod-block-body{padding:14px!important;}#left-aside .cf_wrapp_all .form-check{min-height:40px;}#left-aside .cf_wrapp_all .cf_option{font-size:13px;}}

#left-aside .mod-block:has(.cf_wrapp_all) .mod-header-group{margin:0!important;padding:0!important;}
#left-aside .mod-block:has(.cf_wrapp_all) .mod-block-header{padding:16px!important;margin:0!important;border-bottom:2px solid #ed0016;background:#f5f7fb;}
#left-aside .cf_wrapp_all .form-check label{display:flex!important;align-items:center!important;justify-content:space-between!important;width:auto!important;}
#left-aside .cf_wrapp_all .cf_link{display:block!important;}
#left-aside .cf_wrapp_all .cf_flt_counter{display:inline!important;margin:0!important;}
#left-aside .cf_wrapp_all input.cf_filtering_knob::-webkit-slider-thumb{background:#001b3e!important;border-color:#001b3e!important;}
#left-aside .cf_wrapp_all input.cf_filtering_knob::-moz-range-thumb{background:#001b3e!important;border-color:#001b3e!important;}

/* Richter Czech: large, consistent subcategory thumbnails only. */
.virtuemart-categories .category .item-container{min-height:112px!important;gap:12px!important;padding:14px!important;}
.virtuemart-categories .category .item-container>div.category-image{width:80px!important;height:80px!important;min-width:80px!important;flex:0 0 80px!important;margin:0!important;overflow:hidden;}
.virtuemart-categories .category .category-image>a{display:flex!important;align-items:center;justify-content:center;width:80px!important;height:80px!important;}
.virtuemart-categories .category img.category-image{display:block!important;width:80px!important;height:80px!important;max-width:80px!important;max-height:80px!important;object-fit:contain!important;object-position:center!important;margin:0!important;}
.virtuemart-categories .category .category-name{min-width:0;flex:1;margin:0!important;overflow-wrap:anywhere;}
@media(max-width:575.98px){.virtuemart-categories .category .item-container{padding:10px!important;gap:10px!important;min-height:102px!important;}.virtuemart-categories .category .category-name{font-size:13px!important;}}

/* These photos contain wider white margins; enlarge the product within the same frame. */
.virtuemart-categories .category .category-image:has(>a[href*="/bezpecnostni-rozety"]) img.category-image{transform:scale(1.8);}
.virtuemart-categories .category .category-image:has(>a[href*="/kovani-pro-branky-a-ramove-dvere"]) img.category-image{transform:scale(1.8);}

/* Richter Czech registration: scoped to OPC account form, excludes checkout. */
form#adminForm:has(#registertab){background:#fff;border:1px solid #d8e1ed;border-radius:14px;padding:28px!important;box-shadow:0 3px 14px rgba(0,25,58,.05);color:#001b3e;}
form#adminForm:has(#registertab) #vmtabs{display:flex;list-style:none;margin:0 0 24px!important;padding:0!important;border-bottom:1px solid #d8e1ed;background:#f5f7fb;border-radius:10px 10px 0 0;}
form#adminForm:has(#registertab) #vmtabs li{float:none!important;flex:1;padding:0!important;margin:0!important;border:0!important;background:transparent!important;}
form#adminForm:has(#registertab) #vmtabs a{display:block;padding:15px 18px!important;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;color:#71819a!important;text-decoration:none;font-size:14px;font-weight:700;text-align:center;}
form#adminForm:has(#registertab) #vmtabs a.selected{border-bottom-color:#ed0016!important;color:#001b3e!important;background:#fff!important;}
form#adminForm:has(#registertab) .vmTabContent,form#adminForm:has(#registertab) .vmTabContentInner,form#adminForm:has(#registertab) .tabcontent3,form#adminForm:has(#registertab) fieldset{border:0!important;background:transparent!important;padding:0!important;margin:0!important;min-width:0;}
form#adminForm:has(#registertab) .vmTabSub{background:#f5f8fc!important;border:1px solid #d8e1ed!important;border-radius:10px;padding:16px 18px!important;margin-bottom:24px!important;color:#001b3e;}
form#adminForm:has(#registertab) .vmTabSubInner{padding:0!important;}
form#adminForm:has(#registertab) .all_fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;float:none!important;margin:0 0 28px!important;}
form#adminForm:has(#registertab) .field_wrapper,form#adminForm:has(#registertab) .vr2{display:block!important;width:auto!important;float:none!important;margin:0!important;padding:0!important;min-width:0;}
form#adminForm:has(#registertab) .formLabel,form#adminForm:has(#registertab) .formField{float:none!important;width:100%!important;margin:0!important;padding:0!important;clear:none!important;}
form#adminForm:has(#registertab) .formLabel label{display:block;font-size:13px;font-weight:600;line-height:1.5;color:#001b3e;margin:0 0 7px!important;}
form#adminForm:has(#registertab) .formLabel label span{color:#ed0016;}
form#adminForm:has(#registertab) input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),form#adminForm:has(#registertab) select{width:100%!important;max-width:none!important;min-height:46px!important;padding:11px 13px!important;border:1px solid #d8e1ed!important;border-radius:8px!important;background:#fff!important;color:#001b3e!important;font-size:14px!important;box-sizing:border-box;box-shadow:none!important;}
form#adminForm:has(#registertab) input:focus-visible,form#adminForm:has(#registertab) select:focus-visible{outline:2px solid #173768;outline-offset:2px;}
form#adminForm:has(#registertab) input::placeholder{color:#8b99ad;opacity:1;}
form#adminForm:has(#registertab) h3,form#adminForm:has(#registertab) legend{font-size:20px!important;line-height:1.3;font-weight:700;color:#001b3e;text-transform:none!important;padding:20px 0 14px!important;margin:0 0 16px!important;border-bottom:1px solid #d8e1ed;}
form#adminForm:has(#registertab) #onepage_info_above_button{background:#f5f8fc;border:1px solid #d8e1ed;border-radius:10px;padding:18px!important;margin-top:8px;}
form#adminForm:has(#registertab) input[type=checkbox]{width:18px!important;height:18px!important;accent-color:#001b3e;vertical-align:middle;margin-right:8px;}
form#adminForm:has(#registertab) #agreed_div,form#adminForm:has(#registertab) #italianagreed_div{line-height:1.6;margin-bottom:14px;}
form#adminForm:has(#registertab) a{color:#173768;}
form#adminForm:has(#registertab) #confirmbtn,form#adminForm:has(#registertab) .buttonopc{border:1px solid #ed0016!important;border-radius:8px!important;background:#ed0016!important;color:#fff!important;padding:13px 25px!important;font-size:15px!important;font-weight:700;min-height:46px;cursor:pointer;}
form#adminForm:has(#registertab) #confirmbtn:hover,form#adminForm:has(#registertab) .buttonopc:hover{background:#c90012!important;}
form#adminForm:has(#registertab) #logintab .wrap_login{max-width:460px;margin:0 auto!important;}
form#adminForm:has(#registertab) #logintab .formField{margin-bottom:18px!important;}
@media(max-width:767.98px){form#adminForm:has(#registertab){padding:18px!important;}form#adminForm:has(#registertab) .all_fields{grid-template-columns:1fr;gap:16px;}form#adminForm:has(#registertab) #confirmbtn{width:100%;}form#adminForm:has(#registertab) #vmtabs a{padding:14px 10px!important;}}

/* OPC registration: centered submit label and consistent agreement rows. */
form#adminForm:has(#registertab) #confirmbtn{height:48px!important;min-height:48px!important;line-height:normal!important;padding:0 24px!important;box-sizing:border-box!important;text-align:center!important;vertical-align:middle!important;text-transform:none!important;float:none!important;margin:0!important;}
form#adminForm:has(#registertab) #onepage_submit_section{clear:both!important;padding:18px 0 0!important;margin:0!important;text-align:left!important;}
form#adminForm:has(#registertab) #onepage_info_above_button .opc_bottom_checkboxwrap{display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%!important;float:none!important;margin:0 0 12px!important;line-height:1.6!important;}
form#adminForm:has(#registertab) #onepage_info_above_button .checkbox_5{flex:0 0 18px!important;width:18px!important;float:none!important;padding:3px 0 0!important;margin:0!important;}
form#adminForm:has(#registertab) #onepage_info_above_button .checkbox_95{flex:1!important;width:auto!important;float:none!important;padding:0!important;margin:0!important;min-width:0;}
form#adminForm:has(#registertab) #onepage_info_above_button input[type=checkbox]{width:18px!important;height:18px!important;margin:0!important;}
form#adminForm:has(#registertab) #onepage_info_above_button label{display:block!important;margin:0!important;color:#001b3e!important;line-height:1.6!important;font-size:13px!important;}
form#adminForm:has(#registertab) #onepage_info_above_button a{color:#173768!important;text-decoration:underline!important;text-underline-offset:3px;}
form#adminForm:has(#registertab) #onepage_info_above_button a:hover{color:#ed0016!important;}
form#adminForm:has(#registertab) #onepage_info_above_button label br{display:none;}

/* Shared desktop sidebar width on all pages; custom cards keep a single border. */
@media(min-width:992px){body #left-aside{width:250px!important;max-width:250px!important;flex:0 0 250px!important;padding:0!important;}body #left-aside+#content{width:calc(100% - 250px)!important;max-width:calc(100% - 250px)!important;flex:0 0 calc(100% - 250px)!important;padding-left:28px!important;min-width:0;}}
body #left-aside [data-mod-id="188"],body #left-aside [data-mod-id="188"]>.mod-block-body,body #left-aside #mod-custom188{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;background:transparent!important;width:100%!important;margin-left:0!important;margin-right:0!important;}
body #left-aside .rc-sidebar-cards{width:100%!important;margin:0!important;padding:0!important;}

/* Four desktop columns for Custom Filters results, including AJAX refreshes. */
@media (min-width: 992px) {
 body.com-customfilters.view-products .product-items-container .row > .product.product-grid-view { flex: 0 0 25% !important; width: 25% !important; max-width: 25% !important; }
}

/* Match the spacing above the homepage sidebar partner card. */
body.itemid-476 #left-aside #mod-custom195 { padding-top:0 !important; }

/* Homepage article cards: image, title, then introduction. */
.richter-home-news .mod-articles-item-content { display:flex !important; flex-direction:column !important; }
.richter-home-news .mod-articles-item-content > .mod-articles-image { order:0 !important; }
.richter-home-news .mod-articles-item-content > .mod-articles-title { order:1 !important; margin:12px 0 14px !important; }
.richter-home-news .mod-articles-item-content > :not(.mod-articles-image):not(.mod-articles-title) { order:2 !important; }

/* Homepage uses a CSS grid: the content fills its assigned column. */
@media(min-width:992px){
 body.itemid-476 .main-section > .row > #left-aside + #content {width:100% !important;max-width:100% !important;flex:none !important;padding-left:0 !important;}
 body.itemid-476 .richter-homepage .richter-home-section {padding-left:0 !important;padding-right:0 !important;}
}

/* Consistent gap below the category menu on the guides page. */


/* Reserve the full thumbnail width and separate subcategory names. */
body .virtuemart-categories .category .item-container {grid-template-columns:80px minmax(0,1fr) !important;column-gap:20px !important;}
@media(max-width:575.98px){body .virtuemart-categories .category .item-container {column-gap:16px !important;}}

/* Richter discount badge, shared by product cards and product details. */
body .product-labels .product-label-sale {background:#ed001b !important;color:#fff !important;border-radius:5px !important;width:auto !important;height:auto !important;min-width:0 !important;min-height:0 !important;padding:7px 11px !important;line-height:1.2 !important;font-weight:700 !important;font-size:13px !important;text-transform:none !important;white-space:nowrap !important;aspect-ratio:auto !important;}

/* Novinky: responsive archive in the Richter website style. */
body.itemid-3957 #content .page-header{border:0!important;margin:0 0 14px!important;padding:0!important;}
body.itemid-3957 #content h1{color:#001b3f!important;font-size:36px!important;font-weight:800!important;text-transform:none!important;}
body.itemid-3957 .com-content-article__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;color:#001b3f;line-height:1.7;}
body.itemid-3957 .com-content-article__body>p:first-child{grid-column:1/-1;color:#73849f;font-size:15px;margin:0;}
body.itemid-3957 .com-content-article__body>p:not(:first-child),body.itemid-3957 .com-content-article__body>.clear,body.itemid-3957 .com-content-article__body>hr{display:none!important;}
body.itemid-3957 .com-content-article__body>.moduletable{grid-column:1/-1;min-width:0;margin:0 0 12px;}
body.itemid-3957 #flipbook{border:1px solid #d5dfed;border-radius:12px;overflow:hidden;background:#f5f8fc!important;}
body.itemid-3957 .flipbook-ui-btn{color:#001b3f!important;}
body.itemid-3957 .flipbook-ui-btn:hover{color:#ed001b!important;}
body.itemid-3957 .com-content-article__body>h2{grid-column:1/-1;border-bottom:1px solid #d5dfed;padding:0 0 14px;margin:18px 0 0;color:#001b3f;font-size:26px;font-weight:800;}
body.itemid-3957 .com-content-article__body>:is(.c1,.c2,.c3){float:none!important;width:auto!important;margin:0!important;padding:24px!important;border:1px solid #d5dfed;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(0,27,63,.05);min-width:0;display:flex;flex-direction:column;}
body.itemid-3957 .com-content-article__body>:is(.c1,.c2,.c3) h3{font-size:18px!important;line-height:1.4!important;font-weight:700!important;color:#001b3f!important;margin:0 0 16px!important;}
body.itemid-3957 .com-content-article__body>:is(.c1,.c2,.c3) p,body.itemid-3957 .com-content-article__body>:is(.c1,.c2,.c3) li{font-size:14px;}
body.itemid-3957 .com-content-article__body>:is(.c1,.c2,.c3) ul{padding-left:20px;}
body.itemid-3957 .com-content-article__body a.button{display:inline-flex!important;justify-content:center;align-items:center;background:#001b3f!important;color:#fff!important;border:1px solid #001b3f!important;border-radius:7px!important;padding:11px 14px!important;font-size:12px!important;font-weight:700!important;line-height:1.5!important;text-decoration:none!important;white-space:normal!important;max-width:100%;height:auto!important;}
body.itemid-3957 .com-content-article__body a.button:hover{background:#ed001b!important;border-color:#ed001b!important;}

@media(max-width:1100px){body.itemid-3957 .com-content-article__body{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575.98px){body.itemid-3957 .com-content-article__body{grid-template-columns:minmax(0,1fr);gap:18px;}body.itemid-3957 #content h1{font-size:28px!important;}}

/* Unified sidebar module spacing */
body #left-aside .aside-inner{display:flex!important;flex-direction:column!important;gap:16px!important;}
body #left-aside .aside-inner > *{width:100%!important;margin:0!important;}
body #left-aside [data-mod-id="188"],body #left-aside [data-mod-id="195"]{padding:0!important;}
body #left-aside .rc-sidebar-cards{display:flex!important;flex-direction:column!important;gap:16px!important;}
body #left-aside .rc-sidebar-cards > section{margin:0!important;}
/* OPC cart visual consistency */
body.view-cart #vmMainPageOPC#vmMainPageOPC{color:#001b3f;line-height:1.65;}
body.view-cart #vmMainPageOPC#vmMainPageOPC h3{background:transparent!important;border:0!important;border-bottom:1px solid #d5dfed!important;color:#001b3f!important;font-size:21px!important;padding:0 0 14px!important;margin:0 0 20px!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .black-basket.cart-summary,body.view-cart #vmMainPageOPC#vmMainPageOPC .left_checkout:has(.all_fields),body.view-cart #vmMainPageOPC#vmMainPageOPC .right_checkout{padding:24px!important;background:#fff;border:1px solid #d5dfed;border-radius:14px;box-sizing:border-box;box-shadow:0 4px 16px rgba(0,27,63,.04);margin-bottom:24px;}
body.view-cart #vmMainPageOPC#vmMainPageOPC #onepage_main_div{clear:both;padding-top:24px;}
body.view-cart #vmMainPageOPC#vmMainPageOPC fieldset{border:0!important;padding:0!important;margin:0 0 24px!important;min-width:0;}
body.view-cart #vmMainPageOPC#vmMainPageOPC input:is([type=text],[type=email],[type=tel]),body.view-cart #vmMainPageOPC#vmMainPageOPC select,body.view-cart #vmMainPageOPC#vmMainPageOPC textarea{border:1px solid #d5dfed!important;border-radius:8px!important;background:#fff!important;color:#001b3f!important;padding:11px 14px!important;min-height:46px;box-sizing:border-box;max-width:100%;font-size:14px!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC textarea{width:100%!important;min-height:110px!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC :is(.opc_ship_wrap,.opc_payment_wrap){border:1px solid #d5dfed!important;border-radius:9px;padding:14px!important;margin:0 0 10px!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC :is(.opc_ship_wrap,.opc_payment_wrap):has(input:checked){background:#f5f8fc!important;border-color:#001b3f!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC input:is([type=radio],[type=checkbox]){accent-color:#001b3f;margin-right:8px;vertical-align:middle;}
body.view-cart #vmMainPageOPC#vmMainPageOPC #couponcode_field{padding:20px!important;background:#f5f8fc;border:1px solid #d5dfed;border-radius:12px;margin:18px 0 24px;box-sizing:border-box;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .coupon_wrapper{display:flex;align-items:flex-end;gap:14px;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .coupon_in{flex:1;min-width:0;}
body.view-cart #vmMainPageOPC#vmMainPageOPC #coupon_code{width:100%!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC :is(#submit_coupon_button,#confirmbtn){width:auto!important;min-width:120px!important;min-height:48px!important;height:auto!important;border-radius:8px!important;padding:12px 22px!important;line-height:1.4!important;font-size:14px!important;font-weight:700!important;text-align:center!important;white-space:normal!important;box-sizing:border-box!important;background:#ed001b!important;color:#fff!important;border:1px solid #ed001b!important;text-transform:none!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC #confirmbtn{width:100%!important;margin-top:20px!important;}
@media(max-width:767px){body.view-cart #vmMainPageOPC#vmMainPageOPC :is(.left_checkout,.right_checkout){width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important;}body.view-cart #vmMainPageOPC#vmMainPageOPC .coupon_wrapper{flex-wrap:wrap;}}

body.view-cart #vmMainPageOPC#vmMainPageOPC :is(.opc_ship_wrap,.opc_payment_wrap){height:auto!important;min-height:58px!important;display:flex!important;align-items:flex-start!important;gap:10px;box-sizing:border-box;}
body.view-cart #vmMainPageOPC#vmMainPageOPC :is(.opc_ship_wrap,.opc_payment_wrap) label{float:none!important;width:auto!important;flex:1;line-height:1.7!important;white-space:normal;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .all_fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important;background:transparent!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .all_fields .field_wrapper{width:100%!important;float:none!important;margin:0!important;padding:0!important;background:transparent!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC fieldset{background:transparent!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC h3{text-transform:none!important;}
@media(max-width:575px){body.view-cart #vmMainPageOPC#vmMainPageOPC .all_fields{grid-template-columns:minmax(0,1fr);}}

/* OPC: sjednoceni prihlaseneho a hostovskeho kosiku */
body.view-cart #vmMainPageOPC#vmMainPageOPC #opc_logged_wrapper :is(.bt_left,.btandst>.st_right,.left_half,.right_half){background:#fff!important;border:1px solid #d5dfed!important;border-radius:14px!important;padding:24px!important;box-sizing:border-box!important;box-shadow:0 3px 12px rgba(0,27,63,.04);margin-bottom:24px!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC #opc_logged_wrapper .btandst{display:flex!important;gap:24px!important;align-items:flex-start;clear:both;}
body.view-cart #vmMainPageOPC#vmMainPageOPC #opc_logged_wrapper .btandst>:is(.bt_left,.st_right){width:calc(50% - 12px)!important;float:none!important;margin-left:0!important;margin-right:0!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .BTaddress .row{display:grid!important;grid-template-columns:minmax(100px,35%) minmax(0,1fr);gap:16px!important;padding:10px 0!important;margin:0!important;border-bottom:1px solid #e7edf5!important;background:transparent!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .BTaddress :is(.address_field_name,.address_field_value){float:none!important;width:auto!important;padding:0!important;line-height:1.6!important;overflow-wrap:anywhere;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .BTaddress .address_field_name{font-weight:600;color:#71839c;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .BTaddress a{color:#001b3f!important;text-decoration:underline;text-underline-offset:3px;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .module-title>span,body.view-cart #vmMainPageOPC#vmMainPageOPC .module-title>span>span{color:#001b3f!important;font-weight:700!important;border:0!important;padding:0!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .op_basket_header{background:#f5f8fc!important;color:#001b3f!important;font-weight:700!important;}
body.view-cart #vmMainPageOPC#vmMainPageOPC .op_basket_row{border-color:#e7edf5!important;}
@media(max-width:767px){body.view-cart #vmMainPageOPC#vmMainPageOPC #opc_logged_wrapper .btandst{display:block!important;}body.view-cart #vmMainPageOPC#vmMainPageOPC #opc_logged_wrapper :is(.bt_left,.btandst>.st_right,.left_half,.right_half){width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important;padding:20px!important;}}

/* Katalogy a cenik: stranky dokumentu */
body:is(.itemid-1598,.itemid-1501) .com-content-article__body>h1{font-size:clamp(28px,3vw,36px)!important;font-weight:800;color:#001b3f;text-transform:none;margin:0 0 20px;}
.rc-downloads-page{color:#001b3f;line-height:1.75;}
.rc-downloads-page .rc-downloads-intro{font-size:15px;color:#71839c;margin:0 0 28px;max-width:760px;}
.rc-downloads-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.rc-downloads-page .rc-download-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px 24px;border:1px solid #d5dfed;border-top:3px solid #ed001b;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(0,27,63,.05);min-width:0;}
.rc-downloads-page .rc-document-type{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#71839c;margin-bottom:18px;}
.rc-downloads-page .rc-download-card h2{font-size:22px!important;line-height:1.35;font-weight:700;color:#001b3f;margin:0 0 14px;text-transform:none;}
.rc-downloads-page .rc-download-card p{font-size:14px;color:#71839c;margin:0 0 26px;}
.rc-downloads-page a.rc-download-button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;width:100%;padding:12px 16px;border:1px solid #001b3f;border-radius:8px;background:#001b3f;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:700;line-height:1.4;margin-top:auto;box-sizing:border-box;}
.rc-downloads-page a.rc-download-button:hover{background:#ed001b;border-color:#ed001b;}
.rc-downloads-page a.rc-download-button:focus-visible{outline:3px solid #ed001b;outline-offset:3px;}
.rc-downloads-page .rc-pricelist-card{flex-direction:row;align-items:center;justify-content:space-between;gap:28px;background:#f5f8fc;margin-bottom:32px;}
.rc-downloads-page .rc-pricelist-card p{margin-bottom:0;}
.rc-downloads-page .rc-pricelist-card .rc-download-button{width:auto;min-width:190px;flex-shrink:0;margin-top:0;background:#ed001b;border-color:#ed001b;}
.rc-downloads-page .rc-viewer-heading{font-size:23px;font-weight:700;margin:0 0 20px;}
.rc-downloads-page .rc-document-viewer:has(.moduletable){margin:28px 0;border:1px solid #d5dfed;border-radius:14px;overflow:hidden;background:#f5f8fc;}
.rc-downloads-page #flipbook{background-color:#f5f8fc!important;max-width:100%;}
.rc-downloads-page .flipbook-ui-btn{color:#001b3f!important;}
.rc-downloads-page .flipbook-ui-btn:hover{color:#ed001b!important;}
@media(max-width:1100px){.rc-downloads-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.rc-downloads-grid{grid-template-columns:minmax(0,1fr);}.rc-downloads-page .rc-pricelist-card{flex-direction:column;align-items:flex-start;}.rc-downloads-page .rc-pricelist-card .rc-download-button{width:100%;}.rc-downloads-page .rc-download-card{padding:24px;}}

/* Richter order confirmation and order details — 2026-10-13 */
body .vm-wrap.vm-order-done{margin:0!important;padding:36px!important;background:linear-gradient(135deg,#f5f8fc 0%,#fff 65%);border:1px solid #d7e1ef!important;border-top:4px solid #ed0013!important;border-radius:16px!important;box-shadow:0 6px 24px rgba(0,27,61,.06);font-size:16px;line-height:1.9;color:#001b3d;}
body .vm-order-done::before{content:'✓';display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:#001b3d;color:#fff;font-size:30px;font-weight:700;margin-bottom:20px;}
body .vm-order-done>h3{font-size:30px!important;line-height:1.25;font-weight:800;margin:0 0 24px!important;padding-bottom:20px;border-bottom:1px solid #d7e1ef;color:#001b3d;}
body .vm-order-done a:not(.btn){display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:9px 22px;border-radius:8px;background:#ed0013;color:#fff!important;font-weight:700;text-decoration:none;}
body .vm-order-done a:not(.btn):hover{background:#c90010;}
body.view-orders.layout-details .vm-order-details-view{color:#001b3d;}
body.view-orders.layout-details .vm-orders-information>.page-header{margin:0 0 16px!important;padding:0 0 18px!important;border-bottom:1px solid #d7e1ef;}
body.view-orders.layout-details .page-header h1{font-size:30px!important;line-height:1.25;text-transform:none!important;font-weight:800;color:#001b3d;margin:0!important;}
body.view-orders.layout-details .page-header h1::after{display:none!important;}
body.view-orders.layout-details .vm-orders-information>.text-end a,body.view-orders.layout-details .page-header a{display:inline-flex;align-items:center;gap:8px;border:1px solid #d7e1ef;border-radius:8px;padding:10px 16px;color:#001b3d!important;background:#fff;font-weight:600;}
body.view-orders.layout-details .order-details__header>table{background:#f5f8fc;border:1px solid #d7e1ef;border-collapse:separate!important;border-spacing:0;border-radius:14px;overflow:hidden;margin-bottom:24px!important;padding:16px 24px;}
body.view-orders.layout-details .order-details__header>table th,body.view-orders.layout-details .order-details__header>table td{padding:11px 12px!important;border-bottom:1px solid #e3eaf3;line-height:1.6;}
body.view-orders.layout-details .order-details__header>table th{font-weight:600;color:#647792;width:30%!important;}
body.view-orders.layout-details .order-details__header>table tr:first-child td{font-size:19px;font-weight:800;}
body.view-orders.layout-details .order-details__header>table tr:last-child td{font-size:24px;color:#ed0013;font-weight:800;}
body.view-orders.layout-details .order-details__header>table tr:last-child>*{border-bottom:0;}
body.view-orders.layout-details .order-details__header fieldset{border:1px solid #d7e1ef;border-radius:14px;padding:22px 24px;background:#fff;height:100%;min-width:0;}
body.view-orders.layout-details .order-details__header .row{row-gap:20px;}
body.view-orders.layout-details fieldset legend{float:none;width:auto;font-size:20px;color:#001b3d;font-weight:800;margin:0 0 18px;padding:0;}
body.view-orders.layout-details fieldset table{margin:0;font-size:14px;}
body.view-orders.layout-details fieldset th,body.view-orders.layout-details fieldset td{padding:8px 0!important;border-bottom:1px solid #edf1f7;vertical-align:top;overflow-wrap:anywhere;}
body.view-orders.layout-details fieldset th{width:43%;font-weight:500;color:#647792;padding-right:14px!important;}
body.view-orders.layout-details .order-details__section{border:1px solid #d7e1ef;border-radius:14px;padding:24px;background:#fff;}
body.view-orders.layout-details .order-details__section .nav{gap:8px;border-bottom:1px solid #d7e1ef;padding-bottom:12px;}
body.view-orders.layout-details .order-details__section .nav-link{border:0!important;border-radius:8px;font-weight:700;padding:12px 18px;color:#001b3d!important;background:#f5f8fc;}
body.view-orders.layout-details .order-details__section .nav-link.active{background:#001b3d;color:#fff!important;}
body.view-orders.layout-details .order-details__section .table{font-size:14px;--bs-table-striped-bg:#f5f8fc;}
body.view-orders.layout-details .order-details__section th,body.view-orders.layout-details .order-details__section td{padding:12px 10px;vertical-align:middle;border-color:#e3eaf3;}
body.view-orders.layout-details .order-details__section thead{background:#f5f8fc;color:#647792;}
@media(max-width:767px){body .vm-wrap.vm-order-done{padding:24px!important;}body .vm-order-done>h3,body.view-orders.layout-details .page-header h1{font-size:25px!important;}body.view-orders.layout-details .order-details__header>table{padding:10px;}body.view-orders.layout-details .order-details__header>table th{white-space:normal!important;width:40%!important;}body.view-orders.layout-details .order-details__header fieldset{padding:20px;}body.view-orders.layout-details .order-details__section{padding:16px;}body.view-orders.layout-details .order-details__section .tab-pane{overflow-x:auto;}body.view-orders.layout-details .order-details__section .table{min-width:680px;}}
@media print{body .vm-wrap.vm-order-done,body.view-orders.layout-details .order-details__header>table,body.view-orders.layout-details .order-details__header fieldset,body.view-orders.layout-details .order-details__section{box-shadow:none;background:#fff;}}

/* Richter account order list — 2026-10-13 */
.vm-orders-list-view .vm-orders-list>.page-header{margin:0 0 24px!important;padding:0 0 18px!important;border-bottom:1px solid #d7e1ef;}
.vm-orders-list-view .page-header h1{font-size:30px!important;font-weight:800;text-transform:none!important;line-height:1.25;color:#001b3d;margin:0!important;}
.vm-orders-list-view .page-header h1::after{display:none!important;}
.vm-orders-list-view .table-responsive{border:1px solid #d7e1ef;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(0,27,61,.05);}
.vm-orders-list-view .table{margin:0!important;border-collapse:separate;border-spacing:0;color:#001b3d;font-size:14px;--bs-table-striped-bg:#f8fafd;--bs-table-bg:#fff;}
.vm-orders-list-view .table thead th{background:#001b3d!important;color:#fff!important;padding:18px 20px!important;font-weight:600;border:0;white-space:nowrap;}
.vm-orders-list-view .table tbody td{padding:20px!important;border-bottom:1px solid #e3eaf3;vertical-align:middle;line-height:1.5;}
.vm-orders-list-view .table tbody tr:last-child td{border-bottom:0;}
.vm-orders-list-view .table tbody tr:hover td{background:#f0f5fb!important;}
.vm-orders-list-view .table td:first-child a{display:inline-flex;align-items:center;gap:10px;color:#001b3d!important;font-weight:800;text-decoration:none;white-space:nowrap;min-height:36px;}
.vm-orders-list-view .table td:first-child a::after{content:'→';color:#ed0013;font-size:20px;}
.vm-orders-list-view .table td:first-child a:hover{color:#ed0013!important;}
.vm-orders-list-view .table td:first-child a:focus-visible{outline:2px solid #ed0013;outline-offset:4px;border-radius:3px;}
.vm-orders-list-view .table td:last-child{font-size:17px;font-weight:800;color:#ed0013!important;white-space:nowrap;}
.vm-orders-list-view .table td:nth-child(2),.vm-orders-list-view .table td:nth-child(3){color:#647792;}
.vm-orders-list-view .table td:nth-child(4){font-weight:600;}
@media(max-width:767px){.vm-orders-list-view .page-header h1{font-size:25px!important;}.vm-orders-list-view .table thead th,.vm-orders-list-view .table tbody td{padding:14px 12px!important;}.vm-orders-list-view .table{min-width:560px;}.vm-orders-list-view .table tbody td:nth-child(3){display:none;}.vm-orders-list-view .table td:last-child{font-size:15px;}}

/* Richter account and basket drawers — 2026-10-13 */
#offcanvasLogin,[id^="miniCartOffcanvas"].offcanvas{--bs-offcanvas-width:420px;max-width:100vw;background:#f5f8fc;border:0!important;box-shadow:-12px 0 40px rgba(0,27,61,.16);color:#001b3d;}
#offcanvasLogin .offcanvas-header,[id^="miniCartOffcanvas"] .offcanvas-header{padding:24px!important;background:#001b3d;border-bottom:4px solid #ed0013;color:#fff;}
#offcanvasLogin .offcanvas-title,[id^="miniCartOffcanvas"] .offcanvas-title{color:#fff;font-size:23px;font-weight:800;}
#offcanvasLogin .offcanvas-header .btn-icon,[id^="miniCartOffcanvas"] .offcanvas-header .btn-icon{color:#fff;background:rgba(255,255,255,.1);border-radius:8px;width:36px;height:36px;}
#offcanvasLogin .offcanvas-header .btn-icon:hover,[id^="miniCartOffcanvas"] .offcanvas-header .btn-icon:hover{background:#ed0013;}
#offcanvasLogin #offcanvasLoginForm{padding:28px 24px!important;}
#offcanvasLogin .offcanvas-logout>i{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:20px;background:#fff;border:1px solid #d7e1ef;color:#001b3d;font-size:38px;margin:0 0 18px;}
#offcanvasLogin .offcanvas-logout>p{font-size:20px;color:#001b3d;margin:0 0 28px;}
#offcanvasLogin .offcanvas-logout>.mb-3{width:100%;margin-bottom:12px!important;}
#offcanvasLogin .offcanvas-logout .btn-link{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #d7e1ef;border-radius:10px;width:100%;padding:16px 18px;text-align:left;text-decoration:none;text-transform:none;color:#001b3d;font-weight:700;}
#offcanvasLogin .offcanvas-logout .btn-link::after{content:'→';color:#ed0013;font-size:20px;}
#offcanvasLogin .offcanvas-logout .btn-link:hover{border-color:#001b3d;background:#edf2f8;}
#offcanvasLogin .btn-primary,[id^="miniCartOffcanvas"] .mod-minicart__show-cart .btn{background:#ed0013!important;border:1px solid #ed0013!important;color:#fff!important;border-radius:8px;min-height:48px;font-size:15px;font-weight:700;text-transform:none;padding:12px 18px;}
#offcanvasLogin .btn-primary:hover,[id^="miniCartOffcanvas"] .mod-minicart__show-cart .btn:hover{background:#c90010!important;border-color:#c90010!important;}
#offcanvasLogin .offcanvas-logout>.btn-primary{margin-top:20px!important;}
#offcanvasLogin input:not([type="hidden"]):not([type="checkbox"]){border-radius:8px;border:1px solid #d7e1ef;min-height:46px;}
[id^="miniCartOffcanvas"] .mod-minicart__product-details{margin:16px;border:1px solid #d7e1ef;border-radius:12px;background:#fff;padding:18px!important;}
[id^="miniCartOffcanvas"] .mod-minicart__product-thumbnail{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#fff;border:1px solid #edf1f7;border-radius:8px;overflow:hidden;}
[id^="miniCartOffcanvas"] .mod-minicart__product-thumbnail img{width:100%;height:100%;object-fit:contain;}
[id^="miniCartOffcanvas"] .mod-minicart__product-details strong a{font-size:14px;color:#001b3d;font-weight:800;overflow-wrap:anywhere;}
[id^="miniCartOffcanvas"] .mod-product-price{color:#ed0013!important;font-size:16px;font-weight:800;}
[id^="miniCartOffcanvas"] .mod-minicart__remove{background:#f5f8fc;border-radius:6px;color:#647792;font-size:20px;}
[id^="miniCartOffcanvas"] .mod-minicart__remove:hover{color:#ed0013;background:#ffedf0;}
[id^="miniCartOffcanvas"] .mod-minicart__cart-total{padding:22px 24px!important;background:#fff;border-top:1px solid #d7e1ef;font-size:18px!important;}
[id^="miniCartOffcanvas"] .mod-minicart__subtotal{color:#ed0013!important;font-size:23px;}
[id^="miniCartOffcanvas"] .mod-minicart__show-cart{padding:0 24px 24px!important;background:#fff;}
[id^="miniCartOffcanvas"] .empty-cart-icon{color:#001b3d;background:#fff;width:96px;height:96px;display:flex;align-items:center;justify-content:center;border:1px solid #d7e1ef;border-radius:24px;margin-bottom:20px;}
[id^="miniCartOffcanvas"] .empty-cart-icon i{font-size:40px;}
[id^="miniCartOffcanvas"] .empty-cart-heading{font-size:18px;font-weight:700;color:#001b3d;}

/* SMART handle category: display the maintained description and real advice link. */
body.view-category .category_description .rc-smart-handle-intro p{font-size:14px!important;line-height:1.6!important;margin:0 0 18px!important;color:#8292ab;}
body.view-category .category_description .rc-smart-handle-intro p::before,body.view-category .category_description .rc-smart-handle-intro p::after{content:none!important;display:none!important;}
body.view-category .category_description .rc-smart-advice-link{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid #d7e1ef;border-radius:8px;color:#001b3d;font-size:13px;line-height:1.4;font-weight:700;text-decoration:none;background:#fff;}
body.view-category .category_description .rc-smart-advice-link:hover{border-color:#001b3d;background:#f5f8fc;}

/* Keep long product codes inside mini-cart cards. */
[id^="miniCartOffcanvas"] .mod-minicart__product-details .col-8{min-width:0;}
[id^="miniCartOffcanvas"] .mod-minicart__product-details strong{display:block;min-width:0;max-width:100%;white-space:normal!important;}
[id^="miniCartOffcanvas"] .mod-minicart__product-details strong a{display:block;max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important;word-wrap:break-word;word-break:normal;line-height:1.45;}
