/* Base styles - CSS resets and foundational element styles */

body,
div,
form,
h1,
h2,
h3,
html,
li,
ul,
ol,
p,
aside,
header,
main,
nav {
  margin: 0;
  padding: 0
}

aside,
header,
main,
nav {
  display: block
}

*,
*::before,
*::after {
  box-sizing: inherit;
  outline: none
}

a,
button {
  position: relative
}

a {
  color: rgb(var(--colour-text-and-icon-2, 72, 72, 72));
  background-color: rgba(0, 0, 0, 0)
}

a:hover {
  color: rgb(var(--colour-text-and-icon-1, 17, 17, 17));
  text-decoration: underline
}

a:focus,
a:active {
  color: rgb(var(--colour-text-and-icon-1, 17, 17, 17))
}

button {
  cursor: pointer
}

/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,
::before,
::after {
  box-sizing: border-box
}

html {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  tab-size: 4
}

body {
  margin: 0
}

button,
input {
  font-family: inherit;
  margin: 0
}

button,
[type=button] {
  -webkit-appearance: button
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

body {
  background: rgb(var(--colour-neutral-1, 255, 255, 255));
  color: rgb(var(--colour-text-and-icon-2, 72, 72, 72));
  min-height: 100%;
  font-size: .875rem;
  line-height: 1.571
}

button {
  font-size: 1rem;
  line-height: 1.5
}

.hnf-btn.hnf-skip-to-content {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  transition: transform 200ms;
  transform: scale(0);
  margin: .5rem;
  background-color: rgb(var(--colour-neutral-1, 255, 255, 255));
  z-index: 10000
}

.hnf-btn.hnf-skip-to-content:focus-visible:focus {
  transform: scale(1)
}

.hnf-content-container {
  max-width: 112rem;
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 1.25rem
}

@media (min-width:37.5em) {
  .hnf-content-container {
    padding-inline: 2rem
  }
}

@media (min-width:56.25em) {
  .hnf-content-container {
    padding-inline: 3rem
  }
}

@keyframes modal-delayed-fade-in {
  0% {
    opacity: 0
  }

  50% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

*:is(.hnf-typography-character-set-arabic, .hnf-typography-character-set-chinese_simplified, .hnf-typography-character-set-chinese_traditional, .hnf-typography-character-set-hebrew, .hnf-typography-character-set-japanese, .hnf-typography-character-set-korean) {
  --skapa-characterset-multiplier: 0
}

.hnf-svg-icon {
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  vertical-align: middle;
  fill: currentColor;
  transition-property: transform, fill;
  transition-duration: 250ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.4, 1)
}

@media (prefers-reduced-motion) {
  .hnf-svg-icon {
    transition-property: none
  }
}

@keyframes hnf-icon-rotate {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(359deg)
  }
}

[class*=hnf-btn--icon] .hnf-btn__inner .hnf-btn__label {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  margin: -1px;
  white-space: nowrap
}

[class*=hnf-btn--icon].hnf-btn--small .hnf-btn__inner {
  padding: 0 .5rem
}

.hnf-btn {
  position: relative;
  background: none;
  border: 0;
  padding: 0;
  text-align: center;
  display: inline-flex;
  border-radius: 64px;
  cursor: pointer;
  outline: 0;
  vertical-align: top;
  --disabled-foreground: rgb(var(--colour-interactive-disabled-2, 146, 146, 146));
  --disabled-background: rgb(var(--colour-interactive-disabled-1, 204, 204, 204));
  color: var(--foreground);
  text-decoration: none
}

.hnf-btn .hnf-btn__inner {
  box-shadow: var(--box-shadow);
  background: var(--background)
}

.hnf-btn:hover .hnf-btn__inner {
  background: var(--background-hover);
  box-shadow: var(--box-shadow-hover)
}

.hnf-btn:active .hnf-btn__inner {
  background: var(--background-press);
  box-shadow: var(--box-shadow-press)
}

.hnf-btn:hover,
.hnf-btn:active,
.hnf-btn:focus {
  text-decoration: none;
  color: var(--foreground)
}

.hnf-btn .hnf-svg-icon {
  flex-shrink: 0
}

.hnf-btn:disabled {
  cursor: default
}

.hnf-btn:disabled .hnf-btn__inner {
  background-color: var(--disabled-background);
  color: var(--disabled-foreground);
  box-shadow: none
}

.hnf-btn__inner {
  border-radius: 64px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 3.5rem;
  padding: 0 2rem;
  width: 100%;
  box-sizing: border-box;
  transition-property: opacity, transform;
  transition-duration: 250ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.4, 1)
}

.hnf-btn:active:not(:disabled) .hnf-btn__inner {
  transform: scale(0.97)
}

@media (forced-colors:active) {
  .hnf-btn__inner {
    border: 1px solid rgba(0, 0, 0, 0)
  }

  .hnf-btn:disabled .hnf-btn__inner {
    color: GrayText;
    border-color: GrayText
  }
}

.hnf-btn--secondary {
  --background: none;
  --background-hover: none;
  --box-shadow: inset 0 0 0 1px rgb(var(--colour-neutral-7, 17, 17, 17));
  --box-shadow-hover: inset 0 0 0 2px rgb(var(--colour-neutral-7, 17, 17, 17));
  --box-shadow-press: inset 0 0 0 2px rgb(var(--colour-neutral-7, 17, 17, 17));
  --background-press: rgba(var(--colour-interactive-secondary-bg-pressed, 204, 204, 204), 0.5)
}

.hnf-btn--icon-tertiary,
.hnf-btn--tertiary {
  --background: transparent;
  --background-hover: rgb(var(--colour-interactive-secondary-bg-hover, 223, 223, 223));
  --background-press: rgb(var(--colour-interactive-secondary-bg-pressed, 204, 204, 204));
  --disabled-background: transparent;
  --disabled-foreground: rgb(var(--colour-interactive-disabled-1, 204, 204, 204))
}

.hnf-btn--secondary,
.hnf-btn--icon-tertiary,
.hnf-btn--tertiary {
  --foreground: rgb(var(--colour-text-and-icon-1, 17, 17, 17))
}

@keyframes hnf-btn-loader {

  0%,
  100% {
    transform: translate(-50%, -160%);
    animation-timing-function: cubic-bezier(0.42, 0, 1, 1)
  }

  40% {
    transform: translate(-50%, 20%);
    animation-timing-function: cubic-bezier(0, 0, 0, 1)
  }
}

.hnf-btn--small .hnf-btn__inner {
  min-height: 2.5rem;
  padding: 0 1.5rem
}

.hnf-btn--small .hnf-btn__inner::after {
  content: "";
  position: absolute;
  top: -0.125rem;
  left: -0.125rem;
  right: -0.125rem;
  bottom: -0.125rem
}

.hnf-btn--small.hnf-leading-icon .hnf-btn__inner {
  padding-inline-start: 1rem
}

.hnf-btn .hnf-svg-icon,
.hnf-btn__label {
  transition-property: opacity, margin-right, margin-left, transform;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.4, 1)
}

.hnf-btn:focus-visible,
.hnf-tabs__panel:focus-visible {
  box-shadow: 0 0 0 4px var(--skapa-focus-ring-internal, rgb(var(--colour-neutral-1, 255, 255, 255)));
  outline: 2px solid var(--skapa-focus-ring-external, rgb(var(--colour-neutral-7, 17, 17, 17)));
  outline-offset: 4px;
  transition: outline 200ms ease-out, box-shadow 200ms ease-out
}

.hnf-link {
  text-decoration: underline;
  font-weight: 400;
  color: rgb(var(--colour-text-and-icon-2, 72, 72, 72))
}

.hnf-link:focus,
.hnf-link:hover,
.hnf-link:active {
  color: rgb(var(--colour-text-and-icon-1, 17, 17, 17))
}

.hnf-link--black {
  color: rgb(var(--colour-text-and-icon-1, 17, 17, 17))
}

.hnf-link--black:hover,
.hnf-link--black:focus,
.hnf-link--black:active {
  color: rgb(var(--colour-text-and-icon-2, 72, 72, 72))
}

.hnf-link--white:hover,
.hnf-link--white:focus,
.hnf-link--white:active {
  color: rgb(var(--colour-static-light-grey, 245, 245, 245))
}

.hnf-link--subtle {
  text-decoration: none
}

.hnf-link--subtle:focus,
.hnf-link--subtle:hover,
.hnf-link--subtle:active {
  text-decoration: underline
}

.hnf-link:focus-visible {
  box-shadow: 0 0 0 4px var(--skapa-focus-ring-internal, rgb(var(--colour-neutral-1, 255, 255, 255)));
  outline: 2px solid var(--skapa-focus-ring-external, rgb(var(--colour-neutral-7, 17, 17, 17)));
  outline-offset: 4px;
  transition: outline 200ms ease-out, box-shadow 200ms ease-out
}

@keyframes hnf-shine {
  to {
    background-position: 0 100%
  }
}

@keyframes hnf-loading-bounce-small {

  0%,
  100% {
    transform: translate(0, -160%);
    animation-timing-function: cubic-bezier(0.42, 0, 1, 1)
  }

  40% {
    transform: translate(0, 20%);
    animation-timing-function: cubic-bezier(0, 0, 0, 1)
  }
}

@keyframes hnf-loading-bounce {
  0% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0.42, 0, 1, 1)
  }

  40% {
    transform: translateY(2rem) scaleY(1);
    animation-timing-function: ease-in
  }

  50% {
    transform: translateY(2rem) scaleY(0.75);
    animation-timing-function: ease-out
  }

  60% {
    transform: translateY(2rem) scaleY(1);
    animation-timing-function: cubic-bezier(0, 0, 0, 1)
  }

  100% {
    transform: translateY(0)
  }
}

@keyframes hnf-modalSlideToLeft {
  from {
    transform: translateX(100%)
  }

  to {
    transform: translateX(0)
  }
}

@keyframes hnf-modalSlideToRight {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(100%)
  }
}

@keyframes hnf-modalSlideFromLeft {
  from {
    transform: translateX(-100%)
  }

  to {
    transform: translateX(0)
  }
}

@keyframes hnf-modalSlideFromRight {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-100%)
  }
}

@keyframes hnf-modalSlideDown {
  from {
    transform: translateY(0)
  }

  to {
    transform: translateY(100%)
  }
}

@keyframes hnf-modalSlideUp {
  from {
    transform: translateY(100%)
  }

  to {
    transform: translateY(0)
  }
}

@keyframes hnf-modalEnter {
  from {
    clip-path: inset(50%)
  }

  to {
    clip-path: inset(0%)
  }
}

@keyframes hnf-modalClose {
  from {
    clip-path: inset(0%)
  }

  to {
    clip-path: inset(50%)
  }
}

@keyframes hnf-modalContentEnter {
  from {
    transform: scale(0.8);
    opacity: 0;
    transform-origin: center center
  }

  to {
    transform: scale(1);
    opacity: 1;
    transform-origin: center center
  }
}

@keyframes hnf-modalContentClose {
  from {
    transform: scale(1);
    opacity: 1;
    transform-origin: center center
  }

  to {
    transform: scale(0.8);
    opacity: 0;
    transform-origin: center center
  }
}

@keyframes hnf-modalBackdropEnter {
  0% {
    visibility: hidden
  }

  1% {
    visibility: visible
  }
}

@keyframes hnf-modalBackdropClose {

  0%,
  99% {
    visibility: visible
  }

  100% {
    visibility: hidden
  }
}

a[class*=hnf-]:focus-visible,
button[class*=hnf-]:focus-visible,
[role=button][class*=hnf-]:focus-visible {
  box-shadow: 0 0 0 4px var(--skapa-focus-ring-internal, rgb(var(--colour-neutral-1, 255, 255, 255)));
  outline: 2px solid var(--skapa-focus-ring-external, rgb(var(--colour-neutral-7, 17, 17, 17)));
  outline-offset: 4px;
  transition: outline 200ms ease-out, box-shadow 200ms ease-out
}

:focus:not(:focus-visible) {
  outline: none
}

.hnf-leading-icon .hnf-svg-icon {
  vertical-align: top
}

.hnf-messages {
  background-color: rgb(var(--colour-elevation-3, 17, 17, 17))
}

.hnf-utilities {
  height: 3rem;
  font-size: .75rem;
  line-height: 1.5
}

@media (min-width:56.25em) {
  .hnf-utilities {
    font-size: .875rem;
    line-height: 1.571
  }
}

.hnf-utilities__wrapper {
  display: flex;
  justify-content: flex-end
}

@media (min-width:75em) {
  .hnf-utilities__wrapper {
    gap: 4rem
  }
}

.hnf-utilities__block {
  display: flex
}

.hnf-utilities__block .hnf-svg-icon {
  flex-shrink: 0
}

.hnf-utilities__block a {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding-block: .75rem;
  color: rgb(var(--colour-static-white, 255, 255, 255))
}

@media (min-width:56.25em) {
  .hnf-utilities__block a {
    gap: .75rem
  }
}

.hnf-utilities__block--localisation {
  flex-grow: 1
}

.hnf-utilities__block--localisation a {
  width: auto
}

@media (min-width:56.25em) {
  .hnf-utilities__block--localisation a span:first-of-type {
    display: none
  }
}

.hnf-utilities__block--localisation a span:last-of-type {
  display: none
}

@media (min-width:56.25em) {
  .hnf-utilities__block--localisation a span:last-of-type {
    display: inline
  }

  .hnf-utilities__block--localisation a span:last-of-type>span {
    padding-inline-start: .5rem;
    border-inline-start: 1px solid rgb(var(--colour-neutral-4, 204, 204, 204));
    margin-inline-start: .5rem
  }
}

.hnf-utilities__block--vp {
  flex-grow: 1;
  min-width: 0;
  display: none
}

@media (min-width:75em) {
  .hnf-utilities__block--vp {
    display: flex
  }
}

.hnf-utilities__block--pickers {
  justify-content: flex-end;
  width: calc(100% - 75px)
}

@media (min-width:56.25em) {
  .hnf-utilities__block--pickers {
    width: auto;
    min-width: 200px
  }
}

.hnf-utilities__block--pickers>div {
  max-width: 50%
}

@media (min-width:56.25em) {
  .hnf-utilities__block--pickers>div {
    max-width: none
  }
}

.hnf-utilities__block--pickers:not(.hnf-utilities__block--pickers--single)>div:last-of-type {
  padding-inline-start: 1.5rem
}

.hnf-utilities__block--pickers div:last-of-type a {
  justify-content: flex-end
}

.hnf-utilities__block--pickers span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

@keyframes show {
  100% {
    opacity: 1;
    transform: none
  }
}

.hnf-utilities .hnf-vp {
  min-width: 0;
  opacity: 0;
  animation: show 250ms 100ms cubic-bezier(0, 0, 0.1, 1) forwards
}

.hnf-utilities .hnf-vp__copy {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.hnf-header {
  z-index: 100;
  background-color: rgb(var(--colour-neutral-1, 255, 255, 255))
}

.hnf-header__container {
  display: flex;
  grid-column-gap: 1.25rem;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  padding-bottom: 1rem
}

@media (min-width:700px) {
  .hnf-header__container {
    flex-wrap: nowrap;
    padding-bottom: 0
  }
}

@media (min-width:56.25em) {
  .hnf-header__container {
    grid-column-gap: 2.5rem;
    height: 90px
  }
}

.hnf-header__logo {
  flex-shrink: 0;
  order: 2;
  display: block;
  padding-block: 1.25rem
}

.hnf-header__logo a {
  display: block
}

.hnf-header__logo img {
  display: block;
  height: 40px
}

.hnf-header__search {
  order: 7;
  min-width: 100%;
  z-index: 200;
  margin-inline: auto
}

.hnf-header__search:nth-child(2) {
  margin-inline-start: 0
}

@media (min-width:700px) {
  .hnf-header__search {
    order: 4;
    min-width: auto;
    flex-grow: 1
  }
}

@media (min-width:75em) {
  .hnf-header__search {
    max-width: 600px
  }
}

.hnf-header__icons {
  display: flex;
  flex-direction: row;
  order: 5;
  align-items: center
}

@media (min-width:37.5em) {
  .hnf-header__shopping-list-link {
    margin-inline-start: .5rem
  }
}

.hnf-header__shopping-list-link .hnf-svg-icon--hidden {
  display: none
}

@media (min-width:37.5em) {
  .hnf-header__shopping-cart-link {
    margin-inline-start: .5rem
  }
}

@media (min-width:37.5em) {
  .hnf-header__icons .hnf-header__profile-link {
    margin-inline-start: .5rem
  }
}

.hnf-header__icons .hnf-header__profile-link .hnf-btn--tertiary .hnf-btn__inner {
  padding-inline: .5rem
}

@media (min-width:1400px) {
  .hnf-header__icons .hnf-header__profile-link .hnf-btn--tertiary .hnf-btn__inner {
    padding-inline: 1.5rem
  }
}

.hnf-header__icons .hnf-header__profile-link .hnf-btn--tertiary .hnf-btn__inner .hnf-person__icon {
  display: inline-flex;
  margin-inline-end: 0
}

@media (min-width:1400px) {
  .hnf-header__icons .hnf-header__profile-link .hnf-btn--tertiary .hnf-btn__inner .hnf-person__icon {
    display: inline-block;
    margin-inline-end: .5rem
  }
}

.hnf-header__icons .hnf-header__profile-link .hnf-btn--tertiary .hnf-btn__inner .hnf-btn__label {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  margin: -1px;
  white-space: nowrap;
  font-size: .875rem;
  font-weight: normal
}

@media (min-width:1400px) {
  .hnf-header__icons .hnf-header__profile-link .hnf-btn--tertiary .hnf-btn__inner .hnf-btn__label {
    position: static;
    width: auto;
    height: auto;
    margin: 0
  }
}

#hnf-header-filler {
  min-height: 0
}

.hnf-messages {
  min-height: 3rem
}

.hnf-breadcrumb {
  color: rgb(var(--colour-text-and-icon-1, 17, 17, 17))
}

@media (min-width:37.5em) {
  .hnf-breadcrumb {
    margin-block-end: 4rem
  }
}

.hnf-breadcrumb__list {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: .25rem;
  margin: 0;
  width: 100%;
  padding-block-end: 1rem
}

.hnf-breadcrumb__list-item {
  display: none;
  max-width: 100%;
  margin: 0;
  padding: 0
}

.hnf-breadcrumb__list-item>span {
  font-size: .75rem;
  color: rgb(var(--colour-text-and-icon-2, 72, 72, 72));
  white-space: nowrap
}

.hnf-breadcrumb__list-item:nth-last-child(3),
.hnf-breadcrumb__list-item:nth-last-child(2) {
  display: flex
}

.hnf-breadcrumb__list-item:not(.hnf-breadcrumb__list-item:last-child)::after {
  content: "›";
  margin-inline: .5rem;
  font-size: 1rem;
  line-height: 1
}

.hnf-breadcrumb__list-item:nth-last-child(2)::after {
  display: none
}

.hnf-breadcrumb__list-item:nth-last-child(3):not(:first-child):before {
  content: "…";
  font-size: .75rem;
  line-height: 1.5;
  font-weight: 400;
  margin-inline-end: 21px
}

@media (min-width:56.25em) {
  .hnf-breadcrumb__list-item:nth-last-child(3):not(:first-child):before {
    display: none
  }
}

.hnf-breadcrumb__link {
  text-decoration: none;
  font-size: .75rem;
  line-height: 1.5;
  font-weight: 400
}

.hnf-breadcrumb__link:hover,
.hnf-breadcrumb__link:active,
.hnf-breadcrumb__link:focus {
  text-decoration: underline
}

@media (min-width:56.25em) {
  .hnf-breadcrumb__list-item {
    display: flex
  }

  .hnf-breadcrumb__list-item:nth-last-child(2)::after {
    display: inline
  }
}

@media (min-width:75em) {
  html[lang$=-US] .hnf-breadcrumb:not(.hnf-breadcrumb--footer) {
    display: flex;
    position: relative;
    margin-top: -2.5rem;
    z-index: 100
  }
}

.pip-content-container .hnf-breadcrumb {
  margin-block-end: .5rem
}

@media (min-width:37.5em) {
  .pip-content-container .hnf-breadcrumb {
    margin-block-end: 2rem
  }
}

.hnf-mobile-vp+.hnf-breadcrumb {
  padding-block-start: .75rem
}

@media (min-width:75em) {
  .hnf-mobile-vp+.hnf-breadcrumb {
    padding-block-start: 0
  }
}

@keyframes vn-icon-rotate {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(359deg)
  }
}

.hnf-floating-container {
  z-index: 300;
  position: fixed;
  inset-inline-end: 1.25rem;
  inset-block-end: 1.25rem;
  display: flex;
  flex-direction: column-reverse;
  gap: 1rem;
  max-width: 56px;
  opacity: 1;
  visibility: visible;
  transition: opacity 200ms, visibility 200ms;
  pointer-events: none
}

.hnf-floating-container>* {
  pointer-events: all
}

@media (min-width:37.5em) {
  .hnf-floating-container {
    inset-inline-end: 2rem;
    inset-block-end: 2rem
  }
}

@media (min-width:56.25em) {
  .hnf-floating-container {
    inset-inline-end: 3rem;
    inset-block-end: 3rem
  }
}

:root {
  --product-image-radius-m: 0px;
  --product-image-radius-s: 0px;
  --product-image-transform: none;
  --product-image-mix-blend-mode: multiply
}
