/**
 * Coffee discovery on category 13 and in the mobile IQIT menu.
 * @author CUSTOM-NOT-UPDATE
 */
.gk-coffee-discovery {
    margin: 1.15rem 0 1.35rem;
}

.gk-coffee-discovery__heading,
.gk-coffee-subcategories__heading {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    color: #4d2e1d;
    font-size: 1.15rem;
    line-height: 1.3;
}

.gk-coffee-discovery__heading .fa {
    color: #a95f31;
}

.gk-coffee-discovery__help {
    margin: .3rem 0 .8rem;
    color: #6f625a;
    font-size: .92rem;
}

.gk-coffee-tastes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.gk-coffee-taste {
    display: flex;
    align-items: center;
    min-height: 5.15rem;
    padding: .85rem 1rem;
    border: 1px solid #e3d9d2;
    border-radius: .7rem;
    background: #fff;
    color: #4d2e1d;
    box-shadow: 0 2px 9px rgba(77, 46, 29, .06);
    text-decoration: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.gk-coffee-taste:hover,
.gk-coffee-taste:focus-visible {
    border-color: #c89069;
    color: #4d2e1d;
    box-shadow: 0 5px 15px rgba(77, 46, 29, .12);
    transform: translateY(-1px);
}

.gk-coffee-taste.is-active {
    border-color: #da925e;
    background: #fff0e2;
    color: #4d2e1d;
    box-shadow: inset 0 0 0 1px rgba(218, 146, 94, .28), 0 3px 11px rgba(77, 46, 29, .1);
}

.gk-coffee-taste__text {
    min-width: 0;
}

.gk-coffee-taste__title {
    display: block;
    margin-bottom: .12rem;
    font-weight: 700;
    line-height: 1.25;
}

.gk-coffee-taste__description {
    display: block;
    color: #776b64;
    font-size: .82rem;
    line-height: 1.35;
}

.gk-coffee-flavour-icon {
    position: relative;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    margin-right: .8rem;
}

.gk-coffee-flavour-icon--low {
    border: .24rem solid #5d3427;
    border-radius: .38rem;
    background-color: #8a5038;
    background-image:
        linear-gradient(90deg, transparent 46%, rgba(255, 236, 220, .48) 47%, rgba(255, 236, 220, .48) 53%, transparent 54%),
        linear-gradient(transparent 46%, rgba(255, 236, 220, .48) 47%, rgba(255, 236, 220, .48) 53%, transparent 54%);
    box-shadow: inset -.14rem -.14rem 0 rgba(63, 28, 18, .18);
}

.gk-coffee-flavour-icon--balanced::before {
    position: absolute;
    inset: .12rem .28rem .22rem;
    border: .18rem solid #875336;
    border-radius: 55% 48% 52% 45%;
    background: #c88c5c;
    box-shadow: inset -.2rem -.22rem 0 rgba(82, 45, 24, .14);
    content: '';
    transform: rotate(-14deg);
}

.gk-coffee-flavour-icon--balanced::after {
    position: absolute;
    top: 0;
    right: .08rem;
    width: .85rem;
    height: .52rem;
    border-radius: 90% 10% 90% 10%;
    background: #87964d;
    content: '';
    transform: rotate(-22deg);
}

.gk-coffee-flavour-icon--fruity {
    border: .24rem solid #dc8247;
    border-radius: 50%;
    background: repeating-conic-gradient(#fff1dc 0 24deg, #efb26f 25deg 57deg);
    box-shadow: inset 0 0 0 .16rem #f7d9ad;
}

.gk-coffee-roasts__heading {
    margin: .65rem 0 .38rem;
    color: #6f625a;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
}

.gk-coffee-roasts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.gk-coffee-roast {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: .38rem .65rem;
    border: 1px solid #e3d9d2;
    border-radius: .6rem;
    background: #fcfaf8;
    color: #4d2e1d;
    font-size: .86rem;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: capitalize;
}

.gk-coffee-roast:hover,
.gk-coffee-roast:focus-visible {
    border-color: #c89069;
    background: #fff;
    color: #4d2e1d;
}

.gk-coffee-roast.is-active {
    border-color: #da925e;
    background: #fff0e2;
    color: #4d2e1d;
    box-shadow: inset 0 0 0 1px rgba(218, 146, 94, .25);
}

.gk-coffee-filter-reset {
    margin-top: .38rem;
    line-height: 1;
    text-align: center;
}

.gk-coffee-filter-reset a {
    display: inline-flex;
    align-items: center;
    gap: .22rem;
    padding: .12rem .25rem;
    color: #8a7568;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: underline;
}

.gk-coffee-filter-reset a:hover,
.gk-coffee-filter-reset a:focus-visible {
    color: #4d2e1d;
}

.gk-coffee-roast-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 2.2rem;
    height: 1.65rem;
    flex: 0 0 2.2rem;
    margin-right: .5rem;
}

.gk-coffee-roast-icon > span {
    position: absolute;
    width: .83rem;
    height: 1.18rem;
    border-radius: 52% 48% 52% 48%;
    background: #b9805d;
    box-shadow: inset -.1rem -.1rem 0 rgba(63, 30, 19, .16);
    transform: rotate(24deg);
}

.gk-coffee-roast-icon > span::after {
    position: absolute;
    top: .14rem;
    bottom: .14rem;
    left: 50%;
    border-left: 1px solid rgba(255, 244, 233, .75);
    border-radius: 50%;
    content: '';
    transform: rotate(10deg);
}

.gk-coffee-roast-icon > span:nth-child(1) { left: 0; bottom: .05rem; transform: rotate(-25deg); }
.gk-coffee-roast-icon > span:nth-child(2) { left: .7rem; top: 0; }
.gk-coffee-roast-icon > span:nth-child(3) { right: 0; bottom: 0; transform: rotate(42deg); }
.gk-coffee-roast-icon--light > span { background: #c69168; }
.gk-coffee-roast-icon--medium > span { background: #966044; }
.gk-coffee-roast-icon--dark > span { background: #59382d; }

.gk-coffee-brew-filter {
    max-width: 31rem;
    margin: .45rem 0 1rem;
}

.gk-coffee-brew-filter__heading {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 .4rem;
    color: #6f625a;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
}

.gk-coffee-brew-filter__heading .fa {
    color: #a95f31;
}

.gk-coffee-brew-filter__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.gk-coffee-brew-choice {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.15rem;
    padding: .45rem .7rem;
    border: 1px solid #e3d9d2;
    border-radius: .6rem;
    background: #fcfaf8;
    color: #4d2e1d !important;
    font-size: .86rem;
    font-weight: 700;
    text-decoration: none !important;
}

.gk-coffee-brew-choice:hover,
.gk-coffee-brew-choice:focus-visible {
    border-color: #c89069;
    background: #fff;
}

.gk-coffee-brew-choice.is-active {
    border-color: #da925e;
    background: #fff0e2;
    box-shadow: inset 0 0 0 1px rgba(218, 146, 94, .25);
}

.gk-coffee-brew-icon {
    position: relative;
    display: inline-block;
    width: 1.7rem;
    height: 1.55rem;
    flex: 0 0 1.7rem;
    margin-right: .5rem;
}

.gk-coffee-brew-icon--filter::before {
    position: absolute;
    top: .1rem;
    left: .23rem;
    width: 1.1rem;
    height: 1rem;
    border: .14rem solid #9b6445;
    border-top-width: .22rem;
    border-radius: .16rem .16rem .48rem .48rem;
    background: #f3d4b8;
    content: '';
    transform: perspective(1rem) rotateX(-12deg);
}

.gk-coffee-brew-icon--filter::after {
    position: absolute;
    right: .05rem;
    bottom: .02rem;
    left: .05rem;
    height: .3rem;
    border-radius: 50%;
    background: #7a4934;
    content: '';
}

.gk-coffee-brew-icon--espresso::before {
    position: absolute;
    top: .3rem;
    left: .05rem;
    width: 1.2rem;
    height: .78rem;
    border: .14rem solid #895139;
    border-radius: .18rem .18rem .4rem .4rem;
    background: #f7dfc9;
    box-shadow: inset 0 .2rem 0 #5b3327;
    content: '';
}

.gk-coffee-brew-icon--espresso::after {
    position: absolute;
    top: .46rem;
    right: .02rem;
    width: .5rem;
    height: .45rem;
    border: .13rem solid #895139;
    border-left: 0;
    border-radius: 0 .5rem .5rem 0;
    content: '';
}

.gk-coffee-subcategories {
    margin: 0 0 1.5rem;
}

.gk-coffee-subcategories__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    height: 1.65rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: #f2e9e3;
    color: #7d4628;
    font-size: .75rem;
}

.gk-coffee-subcategories__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .7rem;
}

.gk-coffee-subcategory {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 3.35rem;
    padding: .42rem .65rem;
    border: 1px solid #ebe3de;
    border-radius: .55rem;
    background: #fff;
    color: #4d2e1d;
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none !important;
}

.gk-coffee-subcategory:hover,
.gk-coffee-subcategory:focus-visible {
    border-color: #cfaa90;
    background: #fcf8f5;
    color: #4d2e1d;
}

.gk-coffee-subcategory--featured {
    border-color: #efc29b;
    background: #fff1e4;
}

.gk-coffee-subcategory--featured:hover,
.gk-coffee-subcategory--featured:focus-visible {
    border-color: #dc9b66;
    background: #ffe7d2;
}

.gk-coffee-subcategory__image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 2.45rem;
    margin-right: .6rem;
    overflow: hidden;
    border-radius: .42rem;
    background: #f7f3f0;
}

.gk-coffee-subcategory__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gk-coffee-subcategory__text,
.gk-coffee-subcategory__name,
.gk-coffee-subcategory__description {
    display: block;
    min-width: 0;
}

.gk-coffee-subcategory__text {
    overflow: hidden;
}

.gk-coffee-subcategory__description {
    margin-top: .12rem;
    color: #a45f32;
    font-size: .68rem;
    font-weight: 600;
}

/* Mobile IQIT submenu: generated category list replaces the manually configured grid. */
.gk-coffee-mobile-panel {
    color: #4d2e1d;
}

.gk-coffee-mobile-panel__all {
    display: flex;
    align-items: center;
    min-height: 2.8rem;
    margin-bottom: .9rem;
    padding: .62rem .75rem;
    border-radius: .6rem;
    background: #4d2e1d;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.gk-coffee-mobile-panel__all .fa-coffee {
    margin-right: .6rem;
    color: #f5d7c2;
}

.gk-coffee-mobile-panel__all .fa-angle-right {
    margin-left: auto;
}

.gk-coffee-mobile-panel__title {
    display: flex;
    align-items: center;
    margin: 0 0 .2rem;
    font-size: .95rem;
    font-weight: 700;
}

.gk-coffee-mobile-panel__title .fa {
    margin-right: .45rem;
    color: #a95f31;
}

.gk-coffee-mobile-panel__help {
    margin: 0 0 .55rem;
    color: #786b63;
    font-size: .76rem;
    line-height: 1.35;
}

.gk-coffee-mobile-panel__tastes {
    display: grid;
    gap: .38rem;
    margin-bottom: 1rem;
}

.gk-coffee-mobile-panel__taste {
    display: flex;
    align-items: center;
    min-height: 3.4rem;
    padding: .5rem .55rem;
    border: 1px solid #e8ddd6;
    border-radius: .55rem;
    background: #fcf9f7;
    color: #4d2e1d !important;
    text-decoration: none !important;
}

.gk-coffee-mobile-panel__taste.is-active,
.gk-coffee-mobile-panel__roast.is-active {
    border-color: #da925e;
    background: #fff0e2;
    box-shadow: inset 0 0 0 1px rgba(218, 146, 94, .22);
}

.gk-coffee-mobile-panel__taste .gk-coffee-flavour-icon {
    width: 1.65rem;
    height: 1.65rem;
    flex-basis: 1.65rem;
    margin-right: .6rem;
}

.gk-coffee-mobile-panel__taste-text {
    min-width: 0;
}

.gk-coffee-mobile-panel__taste-title,
.gk-coffee-mobile-panel__taste-description {
    display: block;
}

.gk-coffee-mobile-panel__taste-title {
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.2;
}

.gk-coffee-mobile-panel__taste-description {
    margin-top: .08rem;
    color: #7b6e66;
    font-size: .68rem;
    line-height: 1.25;
}

.gk-coffee-mobile-panel__taste > .fa {
    margin-left: auto;
    padding-left: .4rem;
    color: #a17860;
}

.gk-coffee-mobile-panel__roast-title {
    margin: 0 0 .35rem;
    color: #786b63;
    font-size: .76rem;
    font-weight: 700;
}

.gk-coffee-mobile-panel__roasts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .3rem;
    margin-bottom: .8rem;
}

.gk-coffee-mobile-panel__roast {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: .38rem .18rem;
    border: 1px solid #e8ddd6;
    border-radius: .45rem;
    background: #fcf9f7;
    color: #4d2e1d !important;
    font-size: .67rem;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    text-transform: capitalize;
}

.gk-coffee-mobile-panel__roast .gk-coffee-roast-icon {
    margin: 0 0 .18rem;
    transform: scale(.72);
}

.gk-coffee-mobile-panel__sections {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 .4rem;
    padding-top: .65rem;
    border-top: 1px solid #e8ddd6;
    font-size: .84rem;
    font-weight: 700;
}

.gk-coffee-mobile-panel__sections-count {
    color: #8d776a;
    font-size: .7rem;
    font-weight: 600;
}

.gk-coffee-mobile-panel__categories {
    display: grid;
    gap: .25rem;
}

.gk-coffee-mobile-panel__category {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: .25rem .35rem;
    border-radius: .45rem;
    color: #4d2e1d !important;
    font-size: .79rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
}

.gk-coffee-mobile-panel__category:hover,
.gk-coffee-mobile-panel__category:focus-visible {
    background: #f7f1ed;
}

.gk-coffee-mobile-panel__category--featured {
    background: #fff1e4;
}

.gk-coffee-mobile-panel__category-text {
    display: block;
    min-width: 0;
}

.gk-coffee-mobile-panel__category-text > span,
.gk-coffee-mobile-panel__category-text > small {
    display: block;
}

.gk-coffee-mobile-panel__category-text > small {
    margin-top: .08rem;
    color: #a45f32;
    font-size: .64rem;
}

.gk-coffee-mobile-panel__category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 2.25rem;
    margin-right: .55rem;
    overflow: hidden;
    border: 1px solid #eee5df;
    border-radius: .4rem;
    background: #fff;
}

.gk-coffee-mobile-panel__category-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gk-coffee-menu-tab > .mobile-menu__submenu > .mobile-menu__row {
    display: none !important;
}

@media (max-width: 991.98px) {
    #mobile-header {
        min-height: 75px;
    }
}

@media (max-width: 1199px) {
    .gk-coffee-subcategories__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .gk-coffee-subcategories__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .gk-coffee-discovery {
        margin: .8rem 0 1rem;
    }

    .gk-coffee-discovery__heading,
    .gk-coffee-subcategories__heading {
        font-size: 1.02rem;
    }

    .gk-coffee-subcategories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .42rem;
    }

    .gk-coffee-tastes,
    .gk-coffee-roasts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .35rem;
    }

    .gk-coffee-taste {
        flex-direction: column;
        justify-content: center;
        min-height: 4.65rem;
        padding: .4rem .2rem;
        text-align: center;
    }

    .gk-coffee-taste .gk-coffee-flavour-icon {
        width: 1.75rem;
        height: 1.75rem;
        flex-basis: 1.75rem;
        margin: 0 0 .3rem;
    }

    .gk-coffee-taste__title {
        font-size: .7rem;
        line-height: 1.12;
    }

    .gk-coffee-taste__description {
        display: none;
    }

    .gk-coffee-roasts__heading {
        margin-top: .5rem;
    }

    .gk-coffee-roast {
        flex-direction: column;
        min-width: 0;
        min-height: 3.85rem;
        padding: .28rem .15rem;
        font-size: .67rem;
        line-height: 1.1;
        text-align: center;
    }

    .gk-coffee-roast-icon {
        margin: 0 0 .08rem;
        transform: scale(.72);
    }

    .gk-coffee-brew-filter {
        max-width: none;
        margin-top: .35rem;
    }

    .gk-coffee-brew-choice {
        min-height: 2.85rem;
        padding: .35rem .4rem;
        font-size: .75rem;
    }

    .gk-coffee-subcategories {
        margin-bottom: 1rem;
    }

    .gk-coffee-subcategory {
        min-height: 2.8rem;
        padding: .28rem .35rem;
        font-size: .72rem;
    }

    .gk-coffee-subcategory__image {
        width: 2rem;
        height: 2rem;
        flex-basis: 2rem;
        margin-right: .38rem;
    }

    .gk-coffee-subcategory__name,
    .gk-coffee-subcategory__description {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .gk-coffee-subcategory__description {
        font-size: .59rem;
    }

    #mobile-header #header_logo {
        margin-left: 7px;
    }

    #mobile-header #header_logo-sec .claim {
        margin-left: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gk-coffee-taste {
        transition: none;
    }
}
