html {
    font-size: 16px;
    overflow-x: hidden;
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-size-adjust: 100%;
    min-width: 320px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: NespressoLucas,Helvetica,Arial,sans-serif
}

main {
    background: #faf9f8;
    color: #17171a
}

button {
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer
}

a {
    text-decoration: none
}

a[href^="tel:"] {
    white-space: nowrap
}

svg:empty {
    width: 1rem;
    height: 1rem
}

label,select {
    cursor: pointer
}

select {
    appearance: none
}

fieldset {
    border: 0
}

a:focus,button:focus,input:focus,select:focus,textarea:focus,iframe:focus,[tabindex]:focus,[contentEditable=true]:focus {
    outline: 0
}

main footer {
    height: auto;
    background: none
}

.sr-only {
    clip: rect(1px,1px,1px,1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    color: inherit
}

.scroll-lock {
    overflow: hidden!important;
    width: auto
}

.lazy-load {
    transition: .3s ease-in-out opacity;
    will-change: opacity;
    opacity: 0
}

.lazy-loaded-error,.lazy-loaded {
    opacity: 1;
    will-change: unset
}

.g_scrollLock {
    overflow: hidden!important;
    width: auto
}

@font-face {
    font-family: NespressoLucas;
    src: url(fonts/NespressoLucas-Light.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: NespressoLucas;
    src: url(fonts/NespressoLucas-Regular.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: NespressoLucas;
    src: url(fonts/NespressoLucas-Med.woff2) format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: NespressoLucas;
    src: url(fonts/NespressoLucas-Bold.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

.h-3xl-700 {
    font-weight: 700;
    font-size: 3rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .h-3xl-700 {
        font-size:2.25rem
    }
}

.h-3xl-300 {
    font-weight: 300;
    font-size: 3rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .h-3xl-300 {
        font-size:2.25rem
    }
}

.h-2xl-700 {
    font-weight: 700;
    font-size: 2.5rem;
    letter-spacing: .0625rem;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .h-2xl-700 {
        font-size:2rem
    }
}

.h-2xl-300 {
    font-weight: 300;
    font-size: 2.5rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .h-2xl-300 {
        font-size:2rem
    }
}

.h-xl-700 {
    font-weight: 700;
    font-size: 1.875rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .h-xl-700 {
        font-size:1.625rem
    }
}

.h-xl-300 {
    font-weight: 300;
    font-size: 1.875rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .h-xl-300 {
        font-size:1.625rem
    }
}

.h-lg-700 {
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

.h-lg-500 {
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: .0625rem;
    line-height: 1.2
}

.t-md-700 {
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-md-700-sl {
    font-weight: 700;
    letter-spacing: .015625rem;
    line-height: 2
}
.t-md-700-slss {
    font-weight: 700;
    letter-spacing: .015625rem;
    line-height: .91
}
.t-md-500 {
    font-weight: 500;
    font-size: 1.25rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-md-500-sl {
    font-weight: 500;
    font-size: 1.25rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-md-400 {
    font-weight: 400;
    font-size: 1.25rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-md-400-sl {
    font-weight: 400;
    font-size: 1.25rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-sm-700 {
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-sm-700-sl {
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-sm-500 {
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-sm-500-sl {
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-sm-400 {
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-sm-400-sl {
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-xs-700 {
    font-weight: 700;
    font-size: .875rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-xs-700-sl {
    font-weight: 700;
    font-size: .875rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-xs-700-caps-sl {
    font-weight: 700;
    font-size: .875rem;
    letter-spacing: .0625rem;
    line-height: 1.2;
    text-transform: uppercase
}

.t-xs-500 {
    font-weight: 500;
    font-size: .875rem;
    letter-spacing: .015625rem;
    line-height: 1.5
}

.t-xs-500-sl {
    font-weight: 500;
    font-size: .875rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-xs-500-caps-sl {
    font-weight: 500;
    font-size: .875rem;
    letter-spacing: .0625rem;
    line-height: 1.2;
    text-transform: uppercase
}

.t-2xs-700-sl {
    font-weight: 700;
    font-size: .75rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-2xs-500-sl {
    font-weight: 500;
    font-size: .75rem;
    letter-spacing: .015625rem;
    line-height: 1.2
}

.t-3xs-700-caps-sl {
    font-weight: 700;
    font-size: .625rem;
    letter-spacing: .0625rem;
    line-height: 1.2;
    text-transform: uppercase
}

.t-3xs-500-caps-sl {
    font-weight: 500;
    font-size: .625rem;
    letter-spacing: .0625rem;
    line-height: 1.2;
    text-transform: uppercase
}

.wysiwyg>*:not(:last-child) {
    margin-bottom: 1rem
}

.wysiwyg strong {
    font-weight: 700
}

.wysiwyg a {
    color: #876c43;
    text-decoration: underline;
    text-decoration-skip-ink: auto;
    transition: .3s ease-in-out color
}

.mouseUser .wysiwyg a:hover {
    color: #655032
}

.keyboardUser .wysiwyg a:focus {
    outline: 0;
    box-shadow: 0 0 0 .125rem #57a7f0
}

.wysiwyg ul,.wysiwyg ol {
    margin-left: 1.5rem
}

.wysiwyg ul {
    list-style: disc
}

.wysiwyg li:not(last-child) {
    margin-bottom: .5rem
}

.wysiwyg ol li::marker {
    font-weight: 700
}

.QuantitySelectorCustomField__button-ok,.MiniBasketDropdown__dropdown .AddToBagButtonSmall:not([disabled]),.MiniBasketFooter__button-checkout,.MiniBasketDropdown__Link-shopping,.MiniBasketDropdown__Link-reorder,.LoginDropdown__dropdown .CheckoutActionButton {
    background-color: #257a57!important;
    border-color: #257a57!important
}

.MiniBasketButton__quantity,.MiniBasketCartNotification__message {
    color: #257a57!important
}

.MiniBasketCartNotification__message-icon {
    background-color: #257a57!important
}

.MiniBasketDropdown__dropdown .AddToBagButtonSmall--active {
    background-color: #1b5b40!important;
    border-color: #1b5b40!important
}

@media (max-width: 995px) {
    .MiniBasketDropdown .MiniBasketButton--not-empty {
        background-color:#257a57!important;
        border-color: #257a57!important
    }
}

@media (min-width: 996px) {
    .MiniBasketDropdown .MiniBasketButton--not-empty:not(.MiniBasketButton--open):not(:hover):not(:active) {
        background-color:#257a57!important;
        border-color: #257a57!important
    }
}

nb-container {
    display: block
}

nb-container>section {
    position: relative
}

nb-container .cb-bg-color,nb-container .cb-bg-img {
    position: absolute;
    inset: 0
}

nb-container .cb-bg-img {
    background-size: cover;
    background-position: center
}

nb-container .cb-inner {
    position: relative;
    width: auto;
    margin: 0 1rem
}

@media screen and (min-width: 768px) {
    nb-container .cb-inner {
        max-width:45.5rem;
        margin: 0 auto;
        padding: 0 1rem;
        box-sizing: content-box
    }
}

@media screen and (min-width: 1024px) {
    nb-container .cb-inner {
        max-width:72.5rem
    }
}

nb-container[contrast=dark] {
    color: #fff
}

nb-container[contrast=dark] .cb-bg-color {
    background-color: #17171a
}

nb-container[contrast=dark] .sr-only {
    color: #fff
}

nb-container[contrast=dark] .black_1000 {
    background-color: #17171a
}

nb-container[contrast=dark] .color_lny {
    background-color: #c10016
}

nb-container[contrast=dark] .color_relove {
    background-color: #f4ede5
}

nb-container[contrast=dark] .color_nespresso_club {
    background-color: #ede1d5
}

nb-container[contrast=dark] .color_new_apps {
    background-color: #f6e1cc
}

nb-container[contrast=light] {
    color: #17171a
}

nb-container[contrast=light] .cb-bg-color {
    background-color: #e7e7e7
}

nb-container[contrast=light] .sr-only {
    color: #000
}

nb-container[contrast=light] .white_1000 {
    background-color: #fff
}

nb-container[contrast=light] .highlight_040 {
    background-color: #faf9f8
}

nb-container[contrast=light] .highlight_040_partial {
    background-color: #faf9f8;
    margin: 0 auto
}

nb-container[contrast=light] .gradient_clear_gold {
    background-image: linear-gradient(180deg,#faf9f8,#f3eee6)
}

nb-container[contrast=light] .color_relove {
    background-color: #f4ede5
}

nb-container[contrast=light] .subtle_highlight {
    background-color: #f3eee6
}

nb-container[contrast=light] .color_nespresso_club {
    background-color: #ede1d5
}

nb-container[contrast=light] .color_new_apps {
    background-color: #f6e1cc
}

nb-container[background_color=highlight_040_partial] section {
    background-color: #fff
}

nb-container[background_color=highlight_040_partial] section .highlight_040_partial {
    margin: 0 auto
}

@media screen and (min-width: 1440px) {
    nb-container[background_color=highlight_040_partial] section .highlight_040_partial {
        max-width:calc(100vw - 10rem)
    }
}

@media screen and (min-width: 1920px) {
    nb-container[background_color=highlight_040_partial] section .highlight_040_partial {
        max-width:1920px
    }
}

.pt0 {
    padding-top: 0
}

@media screen and (max-width: 767px) {
    .pt0 {
        padding-top:0
    }
}

.pb0 {
    padding-bottom: 0
}

@media screen and (max-width: 767px) {
    .pb0 {
        padding-bottom:0
    }
}

.pt1 {
    padding-top: .125rem
}

@media screen and (max-width: 767px) {
    .pt1 {
        padding-top:.125rem
    }
}

.pb1 {
    padding-bottom: .125rem
}

@media screen and (max-width: 767px) {
    .pb1 {
        padding-bottom:.125rem
    }
}

.pt2 {
    padding-top: .25rem
}

@media screen and (max-width: 767px) {
    .pt2 {
        padding-top:.25rem
    }
}

.pb2 {
    padding-bottom: .25rem
}

@media screen and (max-width: 767px) {
    .pb2 {
        padding-bottom:.25rem
    }
}

.pt3 {
    padding-top: .5rem
}

@media screen and (max-width: 767px) {
    .pt3 {
        padding-top:.5rem
    }
}

.pb3 {
    padding-bottom: .5rem
}

@media screen and (max-width: 767px) {
    .pb3 {
        padding-bottom:.5rem
    }
}

.pt4 {
    padding-top: 3rem
}

@media screen and (max-width: 767px) {
    .pt4 {
        padding-top:3rem
    }
}

.pb4 {
    padding-bottom: 1rem
}

@media screen and (max-width: 767px) {
    .pb4 {
        padding-bottom:1rem
    }
}

.pt5 {
    padding-top: 1.5rem
}

@media screen and (max-width: 767px) {
    .pt5 {
        padding-top:1rem
    }
}

.pb5 {
    padding-bottom: 1.5rem
}

@media screen and (max-width: 767px) {
    .pb5 {
        padding-bottom:1rem
    }
}

.pt6 {
    padding-top: 2rem
}

@media screen and (max-width: 767px) {
    .pt6 {
        padding-top:1.5rem
    }
}

.pb6 {
    padding-bottom: 2rem
}

@media screen and (max-width: 767px) {
    .pb6 {
        padding-bottom:1.5rem
    }
}

.pt7 {
    padding-top: 2.5rem
}

@media screen and (max-width: 767px) {
    .pt7 {
        padding-top:2rem
    }
}

.pb7 {
    padding-bottom: 2.5rem
}

@media screen and (max-width: 767px) {
    .pb7 {
        padding-bottom:2rem
    }
}

.pt8 {
    padding-top: 4rem
}

@media screen and (max-width: 767px) {
    .pt8 {
        padding-top:2.5rem
    }
}

.pb8 {
    padding-bottom: 4rem
}

@media screen and (max-width: 767px) {
    .pb8 {
        padding-bottom:2.5rem
    }
}

.pt9 {
    padding-top: 5rem
}

@media screen and (max-width: 767px) {
    .pt9 {
        padding-top:4rem
    }
}

.pb9 {
    padding-bottom: 5rem
}

@media screen and (max-width: 767px) {
    .pb9 {
        padding-bottom:4rem
    }
}

.pt10 {
    padding-top: 7.5rem
}

@media screen and (max-width: 767px) {
    .pt10 {
        padding-top:5rem
    }
}

.pb10 {
    padding-bottom: 7.5rem
}

@media screen and (max-width: 767px) {
    .pb10 {
        padding-bottom:5rem
    }
}

nb-cta>* {
    white-space: normal;
    overflow: hidden;
    text-decoration: none;
    position: relative;
    display: inline-block;
    vertical-align: top;
    transition: .3s ease-in-out;
    transition-property: background-color,color,border,box-shadow,text-shadow
}

nb-cta {
    display: inline-block
}

nb-cta.cb-not-customer .button--tertiary {
    vertical-align: top!important
}

nb-cta>* {
    border: solid 1px transparent;
    border-radius: 62.4375rem!important;
    margin: 0 auto
}

.keyboardUser nb-cta>*:focus {
    outline: 0;
    box-shadow: 0 0 0 .125rem #57a7f0
}

nb-cta>*:disabled {
    opacity: .5
}

nb-cta span {
    display: block;
    transition: .3s ease-in-out box-shadow
}

nb-cta nb-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

nb-cta .size--48 {
    min-height: 3rem;
    padding: .75rem 1.5rem
}

nb-cta .size--40 {
    min-height: 2.5rem;
    padding: .5rem 1.5rem
}

nb-cta .size--32 {
    min-height: 2rem;
    padding: .5rem 1rem
}

nb-cta .size--32 svg {
    width: 1rem;
    height: 1rem
}

nb-cta[icon_left] span {
    padding-left: 1.5rem
}

nb-cta[icon_left] nb-icon {
    left: 1rem
}

nb-cta[icon_right] span {
    padding-right: 1.5rem
}

nb-cta[icon_right] nb-icon {
    right: 1rem
}

@media screen and (min-width: 768px) {
    nb-cta .button--cta {
        min-width:7.1875rem
    }
}

@media screen and (max-width: 767px) {
    nb-cta:not([variation=navigation]):not([variation=linkType]):not([add_to_cart=large]):not([add_to_cart=small]):not([variation=plpFilter]) {
        display:block
    }

    nb-cta:not([variation=navigation]):not([variation=linkType]):not([add_to_cart=large]):not([add_to_cart=small]):not([variation=plpFilter]) .button--cta {
        display: block;
        width: 100%;
        text-align: center
    }
}

nb-cta .button--primary {
    color: #fff;
    background: linear-gradient(to right, #DDC0B4, #EBD884);
}

.mouseUser nb-cta .button--primary:hover {
    background: #1b5b40
}

nb-cta .button--secondary {
    color: #fff;
    background: #17171a
}

.mouseUser nb-cta .button--secondary:hover {
    color: #17171a;
    background: #fff;
    border-color: #17171a
}

nb-cta .button--tertiary {
    background: none;
    color: #17171a;
    border-color: #17171a
}

.mouseUser nb-cta .button--tertiary:hover {
    background: rgba(23,23,26,.1)
}

[contrast=dark] nb-cta .button--tertiary {
    color: #fff;
    border-color: #fff
}

.mouseUser [contrast=dark] nb-cta .button--tertiary:hover {
    background: rgba(255,255,255,.5019607843)
}

nb-cta[add_to_cart=large]>* {
    display: flex;
    flex-direction: row;
    align-items: center;
    transition-property: background-color,color,border,box-shadow,text-shadow,padding-left
}

nb-cta[add_to_cart=large]>* span {
    padding-right: 0;
    flex-grow: 1
}

nb-cta[add_to_cart=large]>* .update {
    display: none
}

nb-cta[add_to_cart=large] nb-icon {
    display: none
}

nb-cta[add_to_cart=large] .button--tertiary {
    color: #257a57;
    border-color: #257a57
}

nb-cta[add_to_cart=small]>* {
    padding: 0;
    width: 3rem;
    height: 3rem;
    min-width: unset
}

nb-cta[add_to_cart=small]>* span {
    clip: rect(1px,1px,1px,1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    color: inherit
}

nb-cta[add_to_cart=small] nb-icon {
    transform: translate(-50%,-50%);
    left: 50%;
    right: auto
}

nb-cta[add_to_cart=small] .button--tertiary {
    color: #257a57;
    border-color: #257a57
}

nb-cta .button--navigation {
    padding: 0;
    min-height: unset;
    width: 3rem;
    height: 3rem
}

nb-cta .button--navigation span {
    clip: rect(1px,1px,1px,1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    color: inherit
}

nb-cta .button--navigation nb-icon {
    transform: translate(-50%,-50%);
    left: 50%;
    right: auto
}

nb-cta .button--navigation.size--32 {
    width: 2rem;
    height: 2rem
}

nb-cta .button--navigation.button--dark {
    background: #17171a;
    color: #fff
}

.mouseUser nb-cta .button--navigation.button--dark:hover {
    background: #fff;
    border-color: #17171a;
    color: #17171a
}

nb-cta .button--navigation.button--light {
    background: #fff;
    color: #17171a
}

.mouseUser nb-cta .button--navigation.button--light:hover {
    background: #17171a;
    color: #fff
}

nb-cta .button--navigation.button--dark--transparent {
    background: rgba(17,23,26,.5019607843);
    color: #fff
}

.mouseUser nb-cta .button--navigation.button--dark--transparent:hover {
    background: rgba(255,255,255,.5019607843);
    color: #17171a
}

nb-cta .button--navigation.button--light--transparent {
    background: rgba(255,255,255,.5019607843);
    color: #17171a
}

.mouseUser nb-cta .button--navigation.button--light--transparent:hover {
    background: rgba(17,23,26,.5019607843);
    color: #fff
}

nb-cta .button--navigation.button--highlight {
    background: #faf9f8;
    color: #17171a
}

.mouseUser nb-cta .button--navigation.button--highlight:hover {
    background: #17171a;
    color: #fff
}

nb-link {
    display: flex;
    justify-content: start
}

nb-link>* {
    position: relative;
    display: block;
    text-decoration: none;
    padding: .375rem .375rem .5rem;
    margin: -.375rem -.375rem -.5rem;
    transition: .3s ease-in-out;
    transition-property: background-color,color,box-shadow
}

.mouseUser nb-link>*:hover span:after {
    height: 2px
}

.keyboardUser nb-link>*:focus {
    outline: 0;
    box-shadow: inset 0 0 0 .125rem #57a7f0
}

nb-link>*:disabled {
    opacity: .5
}

nb-link span {
    display: block;
    position: relative;
    min-height: 1.125rem
}

nb-link span:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    transition: .3s ease-in-out;
    transition-property: background-color,height
}

nb-link nb-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

nb-link[icon_left]>* {
    padding-left: 2rem
}

nb-link[icon_left]>* nb-icon {
    left: .25rem
}

nb-link[icon_right]>* {
    padding-right: 2rem
}

nb-link[icon_right]>* nb-icon {
    right: .25rem
}

nb-link[color=gold]>* {
    color: #876c43
}

nb-link[color=gold]>* span:after {
    background: #876c43
}

.mouseUser nb-link[color=gold]>*:hover {
    color: #655032
}

.mouseUser nb-link[color=gold]>*:hover span:after {
    background: #655032
}

nb-link[color=white]>* {
    color: #fff
}

nb-link[color=white]>* span:after {
    background: #fff
}

nb-link[color=black]>* {
    color: #17171a
}

nb-link[color=black]>* span:after {
    background: #17171a
}

nb-link[underline=false]>* {
    padding-top: .4375rem;
    padding-bottom: .4375rem;
    margin-top: -.4375rem;
    margin-bottom: -.4375rem
}

nb-link[underline=false]>* span:after {
    display: none
}

.mouseUser nb-link[underline=false]>*:hover {
    color: #454547
}

.nb-icon {
    display: block
}

.nb-icon.lazy-load {
    width: 1.5rem;
    height: 1.5rem
}

.nb-svg {
    transition: .3s ease-in-out;
    transition-property: opacity,color
}

.nb-svg svg {
    display: block
}

.nb-svg svg path {
    transition: fill .3s ease-in-out
}

nb-img {
    display: block;
    --image-aspect-ratio: 1/1;
    --image-placeholder-color-light: $background-subtle;
    --image-placeholder-color-dark: $background-muted;
    --image-placeholder-error-text: "Sorry, we cannot load this image :(";
    --image-object-fit: cover
}

nb-img.loading {
    background: var(--image-placeholder-color-light);
    animation: loading 1.2s ease-in-out infinite alternate
}

@keyframes loading {
    0% {
        background: var(--image-placeholder-color-dark)
    }
}

nb-img img {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: var(--image-aspect-ratio);
    object-fit: var(--image-object-fit);
    border: 0
}

nb-img img:before,nb-img img:after {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #6f6f70
}

nb-img img.lazy-loaded-error:before {
    display: none
}

nb-img img.lazy-loaded-error:after {
    content: var(--image-placeholder-error-text);
    background: var(--image-placeholder-color-light)
}

nb-loader {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

nb-loader .is-loading {
    transform-origin: 50% 50%;
    animation: rotate .69s linear infinite
}

@keyframes rotate {
    to {
        transform: rotate(360deg)
    }
}

nb-add-to-cart {
    display: block
}

.cb-AddToCart {
    overflow: inherit!important;
    width: 100%
}

.cb-AddToCart button.AddToBagButton {
    transition: .3s ease-in-out;
    transition-property: background-color,color,box-shadow,border-color;
    border-radius: 62.4375rem;
    box-shadow: none;
    position: relative
}

.cb-AddToCart .AddToBagButtonLarge {
    background: #257a57!important;
    padding: .375rem 1.5rem;
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    border: 0!important
}

.mouseUser .cb-AddToCart .AddToBagButtonLarge:hover,.mouseUser .cb-AddToCart .AddToBagButtonLarge:active {
    background: #1b5b40!important;
    box-shadow: none
}

.keyboardUser .cb-AddToCart .AddToBagButtonLarge:focus {
    outline: 0;
    box-shadow: 0 0 0 .125rem #57a7f0
}

.cb-AddToCart .AddToBagButtonLarge:disabled {
    cursor: not-allowed!important;
    opacity: .3;
    color: #fff!important;
    background: #17171a!important
}

.mouseUser .cb-AddToCart .AddToBagButtonLarge:disabled:hover {
    background: #17171a!important
}

.cb-AddToCart .AddToBagButtonLarge__plusIcon {
    display: none
}

.cb-AddToCart .AddToBagButtonLarge__quantity {
    position: static;
    font-family: NespressoLucas,Helvetica,Arial,sans-serif!important;
    font-size: .75rem;
    font-weight: 700;
    line-height: 2.0625rem;
    letter-spacing: .015625rem;
    font-size-adjust: unset;
    background: #fff;
    color: #1b5b40!important;
    border-radius: 62.4375rem;
    width: 2rem;
    height: 2rem;
    margin-left: -1rem;
    margin-right: .5rem
}

.cb-AddToCart .AddToBagButtonLarge__label {
    font-weight: 400;
    font-size: 1.25rem;
    letter-spacing: .015625rem;
    line-height: 1.2;
    font-size: 1.25rem!important;
    color: #fff;
    position: static;
    overflow: unset;
    text-overflow: unset;
    white-space: normal;
    font-family: NespressoLucas,Helvetica,Arial,sans-serif!important;
    letter-spacing: .015625rem!important;
    width: 100%;
    padding: .375rem 0
}

.cb-AddToCart .AddToBagButtonLarge__basketIcon {
    display: inherit;
    position: static
}

.cb-AddToCart .AddToBagButtonLarge__basketIcon .Glyph--basket {
    display: none
}

.cb-AddToCart .AddToBagButtonSmall {
    background: #257a57!important;
    border-color: #257a57!important;
    box-shadow: none;
    width: 3rem;
    height: 3rem
}

.mouseUser .cb-AddToCart .AddToBagButtonSmall:hover {
    background: #1b5b40!important
}

.mouseUser .cb-AddToCart .AddToBagButtonSmall:hover i:after {
    border-color: #1b5b40
}

.mouseUser .cb-AddToCart .AddToBagButtonSmall:active {
    background: #1b5b40!important
}

.keyboardUser .cb-AddToCart .AddToBagButtonSmall:focus {
    outline: 0;
    box-shadow: 0 0 0 .125rem #57a7f0
}

.cb-AddToCart .AddToBagButtonSmall__quantity {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-weight: 700;
    font-size: .875rem;
    letter-spacing: .015625rem;
    line-height: 1.2;
    color: #fff
}

.cb-AddToCart .AddToBagButtonSmall__quantity:before {
    content: "";
    box-shadow: 0 0 0 1px #257a57;
    border: 2px solid #fff;
    width: 2.625rem;
    height: 2.625rem;
    border-radius: 62.4375rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.cb-AddToCart .AddToBagButtonSmall i:before {
    content: url(https://www.nespresso.com/shared_res/agility/next-components/assets/icons/plus-24.svg);
    filter: invert(1);
    height: 1.5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.cb-AddToCart .AddToBagButtonSmall i:after {
    content: "";
    border: solid 4px #257a57;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 62.4375rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: .3s ease-in-out;
    transition-property: background-color,color,box-shadow,border-color
}

.cb-AddToCart .AddToBagButtonSmall:disabled {
    cursor: not-allowed!important;
    opacity: .3;
    color: #fff!important;
    background: #17171a!important
}

.cb-AddToCart .AddToBagButtonSmall:disabled i:after {
    border-color: #17171a
}

.mouseUser .cb-AddToCart .AddToBagButtonSmall:disabled:hover {
    background: #17171a!important
}

.mouseUser .cb-AddToCart .AddToBagButtonSmall:disabled:hover i:after {
    border-color: #17171a
}
