:root {
    --primary: #286048;
    --primary-light: #cde8e3;
    --border-color: #e6e6e6;
}

/* Skrytí záložek / tabů na homepage (Akční zboží, Novinky, Papírové obaly) */

/* Zobrazení všech produktů ze záložek najednou */
#homepageProducts1,
#homepageProducts2,
#homepageProducts6 {
    display: block;
    opacity: 1;
}

/* Skrytí nabídky záložek */
.shp-tabs-row.responsive-nav {
    display: none;
}

/* Skrytí informací o e-shopu a nejprodávanějších produktů na homepage */
.homepage-texts-wrapper {
    display: none;
}

/* Kategorie u hero sekce na homepage do dvou sloupců na mobilních zařízeních */
@media only screen and (max-width: 767px) {
    .next-to-carousel-banners {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Přidání pole autora k blogovým příspěvkům */
.author {
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "photo"
        "info"
        "description";
    gap: 16px;
    justify-items: center;
    align-items: center;
    text-align: center;
    padding: 32px;
    margin-top: 40px;
    background-color: #f5f5f5;
}

.author__photo {
    grid-area: photo;
    max-width: none !important;
}

.author__info {
    grid-area: info;
}

.author__position {
    font-size: 14px;
}

.author__description {
    grid-area: description;
}

.author__introduction,
.author__name,
.author__description {
    margin: 0px;
}

@media only screen and (min-width: 400px) {
    .author {
        grid-template-columns: min-content auto;
        grid-template-areas:
            "photo info"
            "description description";
        justify-items: flex-start;
        text-align: left;
    }
}

@media only screen and (min-width: 1200px) {
    .author {
        grid-template-columns: min-content auto;
        grid-template-areas:
            "photo info"
            "photo description";
        gap: 8px 16px;
        align-items: flex-start;
    }
}

/* Banner věrnostního programu v košíku*/
.loyaltyprogrambanner {
    display: block;
    margin: 40px 0px;
}

/* Přidání tlačítka registrace na stránku o věrnostním programu */
.loyaltyprogramregistration__button {
    color: #3d3425;
    background-color: #f1c300;
    font-weight: bold;
    border: none;
    padding: 8px 24px;
    transition: background-color 0.3s ease-out;
}

.loyaltyprogramregistration__button:hover {
    background-color: #DBB300;
}

.loyaltyprogramregistration:hover .loyaltyprogramregistration__button {
    background-color: #DBB300;
}

/* Detail produktu */
.breadcrumbs {
    margin-top: 30px;
}

.dklabBanplusIkonaImg img {
    max-height: none !important;
    display: inline-block;
}

.type-detail #dklabBanplusIkony {
    padding: 20px 0px 20px 0px;
}

.productDetail {
    display: grid;
    gap: 16px;
    grid-template-areas:
        "image"
        "data"
        "content"
        "pobo"
        "loyaltyProgramme"
        "relatedProducts"
        "alternativeProducts";
}

.productDetail__image {
    grid-area: image;
}

.productDetail__image .p-image-wrapper {
    width: auto;
    margin: 0px;
}

.productDetail__data {
    grid-area: data;
}

.productDetail__data .p-data-wrapper {
    width: auto;
}

.productDetail__content {
    grid-area: content;
}

.productDetail__pobo {
    grid-area: pobo;
}

.productDetail__loyaltyProgramme {
    grid-area: loyaltyProgramme;
}

.productDetail__relatedProducts {
    grid-area: relatedProducts;
}

.productDetail__alternativeProducts {
    grid-area: alternativeProducts;
}

@media only screen and (min-width: 992px) {
    .productDetail {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "image data"
            "content data"
            "pobo pobo"
            "loyaltyProgramme loyaltyProgramme"
            "relatedProducts relatedProducts"
            "alternativeProducts alternativeProducts";
    }
}

.p-detail-inner {
    display: block;
}

.p-detail .p-detail-inner .tab-content .tab-pane {
    display: block;
}

.helpCard {
    display: grid;
    grid-template-areas:
        "person"
        "phone"
        "email";
    gap: 16px;
    padding: 16px;
    margin-top: 24px;
    border: 1px solid #e7e7e7;
}

@media only screen and (min-width: 410px) {
    .helpCard {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "person person"
            "phone email";
    }
}

.helpCard p,
.helpCard h5 {
    margin: 0px;
}

.helpCard__person {
    grid-area: person;
    display: flex;
    align-items: center;
    gap: 16px;
}

.helpCard__photo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.helpCard__text {
    color: #5a5a5a;
}

.helpCard__contactData {
    display: grid;
    gap: 4px;
}

.helpCard__contactMethod {
    display: flex;
    gap: 12px;
}

.helpCard__contactMethod--phone {
    grid-area: phone;
}

.helpCard__contactMethod--email {
    grid-area: email;
}

.helpCard__dataLink {
    color: #000000;
    text-decoration: none;
    font-weight: bold;
}

.helpCard__dataSmall {
    font-size: 12px;
    color: #5f5f5f;
}

/* Homepage blog */
.blog {
    display: grid;
    gap: 36px;
    margin-top: 36px;
    margin-bottom: 36px;
}

.blog__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 24px;
}

.blog__headline {
    margin: 0px;
}

.blog__link {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px;
    justify-self: flex-start;
    align-items: center;
    padding: 8px 16px;
    background-color: var(--primary-light);
    font-weight: 600;
}

.blog__icon {
    fill: var(--primary);
}

.blog__posts {
    display: grid;
    gap: 24px;
}

.post__headline,
.post__date,
.post__text,
.post__link {
    margin: 0px;
}

.post {
    display: grid;
    align-items: center;
    gap: 24px;
    border: 1px solid var(--border-color);
    padding: 16px;
}

.post__info {
    display: grid;
    gap: 16px;
}

.post__data {
    display: grid;
    gap: 8px;
}

.post__thumbnail {
    width: 100%;
    height: 200px;
    margin: auto;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.blog__posts .post:nth-child(1) .post__thumbnail {
    width: 100%;
    height: 330px;
}

.post__badge {
    justify-self: flex-start;
    background-color: var(--primary);
    border-radius: 50px;
    padding: 4px 8px;
}

.post__badgeText {
    color: #ffffff;
    margin: 0px;
}

.post__headline, .post__link {
    color: var(--primary);
}

.post__link {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px;
    justify-self: flex-start;
    align-items: center;
    padding: 8px 16px;
    background-color: var(--primary-light);
    font-weight: 600;
}

.post__icon {
    fill: var(--primary);
}

@media only screen and (min-width: 550px) {
    .blog__posts {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "post1 post1"
            "post2 post3";
    }

    .blog__posts .post:nth-child(1) {
        grid-area: post1;
    }

    .blog__posts .post:nth-child(2) {
        grid-area: post2;
    }

    .blog__posts .post:nth-child(3) {
        grid-area: post3;
    }
}

@media only screen and (min-width: 992px) {
    .blog__posts {
        grid-template-areas:
            "post1 post2"
            "post1 post3";
    }

    .post {
        padding: 32px;
    }

    .blog__posts .post:nth-child(2) {
        grid-template-columns: auto 1fr;
    }

    .blog__posts .post:nth-child(3) {
        grid-template-columns: auto 1fr;
    }

    .blog__posts .post:nth-child(2) .post__thumbnail, .blog__posts .post:nth-child(3) .post__thumbnail {
        width: 200px;
        height: 100%;
    }
}