/* ══════════════════════════════════════════════════════════════
   KNUSPR-2026 · Overrides com a paleta loja MIM.
   Coral / apricot / olive / sky — hero creme, CTAs coral, ações olive.
   Carregado DEPOIS de todos os outros CSS para vencer em cascata.
   ══════════════════════════════════════════════════════════════ */

:root {
  --kn-orange: #F25C54;
  --kn-orange-dark: #D9443C;
  --kn-orange-ink: #1A1208;
  --kn-orange-light: #FDE8E6;
  --kn-yellow: #F7B267;
  --kn-yellow-dark: #E09A45;
  --kn-cream: #FEF3E6;
  --kn-green: #82AD49;
  --kn-green-dark: #6A9238;
  --kn-sky: #79B0E0;
  --kn-sky-dark: #5A96C9;
  --kn-sky-light: #E5F1FA;
  --kn-ink: #1A1208;
  --kn-sale: #F25C54;

  --c-coral: #F25C54;
  --c-apricot: #F7B267;
  --c-olive: #82AD49;
  --c-sky: #79B0E0;
  --c-primary: #F7B267;
  --c-primary-dark: #E09A45;
  --c-primary-light: #FEF0DC;
  --c-accent: var(--kn-orange);
  --c-accent-light: var(--kn-orange-light);
}

/* ───── Promo bar: apricot com texto escuro ───── */
.promo-bar,
body.home-knuspr .promo-bar {
  background: var(--kn-yellow) !important;
  height: 36px;
}
.promo-bar__item,
body.home-knuspr .promo-bar__item {
  color: var(--kn-orange-ink) !important;
  font-weight: 700 !important;
}
.promo-bar__item:hover { color: #000 !important; }
.promo-bar__item--cta {
  background: rgba(26,12,0,.14);
  text-decoration: underline;
}

/* ───── Header: branco, carrinho simples, Entrar em pill cinzenta ───── */
.header { background: #fff; }
.header__cart {
  background: none !important;
  color: var(--kn-ink) !important;
  padding: .45rem .55rem;
  font-weight: 600;
}
.header__cart svg { stroke: currentColor; }
.header__cart:hover { background: #f4f4f4 !important; }
.header__cart-badge { background: var(--kn-sale); }
.header__action-link {
  background: #f4f4f4;
  border: 1px solid #e2e2e2;
  border-radius: 999px;
  padding: .45rem 1rem;
  font-weight: 700;
}
.header__action-link:hover { background: #ececec; }
.header__location { background: transparent; border: none; }
.header__location:hover { border: none; background: #f7f7f7; }
.header__location-btn { color: var(--kn-orange); }
.header__location-label strong { color: var(--kn-ink); }

/* Pesquisa: retângulo arredondado, botão verde quadrado (Knuspr) */
.header__search {
  border-radius: 10px;
  border: 1px solid #d9d9d6;
  background: #fff;
}
.header__search:focus-within {
  border-color: var(--kn-green);
  box-shadow: 0 0 0 3px rgba(130,173,73,.18);
}
.header__search-btn {
  border-radius: 8px;
  background: var(--kn-green);
  width: 44px;
}
.header__search-btn:hover { background: var(--kn-green-dark); }

/* ───── Nav de pills sob o header (injetada por knuspr-2026.js) ───── */
.header-main-nav { display: none !important; }
.knav {
  background: #fff;
  border-bottom: 1px solid var(--c-border, #e4e7e4);
}
.knav__inner {
  max-width: var(--max, 1280px);
  margin: 0 auto;
  padding: .55rem 1rem .7rem;
  display: flex;
  gap: .5rem;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
}
.knav__inner::-webkit-scrollbar { display: none; }
.knav__pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem .95rem;
  border-radius: 10px;
  background: #f3f3f1;
  border: 1px solid #e6e6e3;
  color: var(--kn-ink);
  font-size: .84rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.knav__pill:hover { background: #ebebe8; text-decoration: none; }
.knav__pill--primary {
  background: var(--kn-yellow);
  border-color: var(--kn-yellow);
  color: var(--kn-orange-ink);
}
.knav__pill--primary:hover { background: var(--kn-yellow-dark); }
.knav__pill .knav__caret { font-size: .65rem; opacity: .8; }
@media (max-width: 760px) {
  .knav { display: none; }
}

/* Na homepage desktop a navegação faz-se pela pill “Categorias” (como no Knuspr) */
@media (min-width: 1025px) {
  body.home-knuspr .catnav-mega { display: none; }
}

/* ───── HERO: painel creme, texto escuro à esquerda, imagem à direita ───── */
.kn-value,
body.home-knuspr .kn-value {
  background:
    radial-gradient(120% 90% at 0% 0%, #FFF8F0 0%, var(--kn-cream) 48%, #FDE8D4 100%) !important;
  border-radius: 20px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  margin: .85rem auto 1.5rem;
  max-width: var(--max, 1280px);
  box-shadow: 0 1px 0 rgba(26, 18, 8, .04);
  padding: 0;
  border: 1px solid rgba(242, 92, 84, .08);
  border-bottom: 1px solid rgba(242, 92, 84, .08);
}
.kn-value__inner {
  order: 1;
  flex: 1 1 auto;
  max-width: none;
  margin: 0;
  padding: 2.4rem 2.6rem 2.2rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  animation: kn-hero-in .55s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes kn-hero-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.kn-value__slideshow {
  position: relative !important;
  inset: auto !important;
  order: 2;
  flex: 0 0 min(460px, 42%);
  align-self: stretch;
  min-height: 360px;
  display: block;
  overflow: hidden;
  background: #eceae4;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32px, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 32px, #000 100%);
}
.kn-value__slideshow::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 64px;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, var(--kn-cream) 0%, rgba(254, 243, 230, 0) 100%);
}
.kn-value__slideshow::after {
  display: block;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 240, 212, 0.4) 0%, transparent 24%),
    linear-gradient(180deg, transparent 58%, rgba(26, 12, 0, 0.12) 100%);
}
body.home-knuspr .kn-value__slide {
  background-size: cover;
  background-position: center 68%;
}
.kn-value__dots {
  position: absolute;
  left: 50%;
  bottom: 14px;
  z-index: 3;
  display: flex;
  gap: 7px;
  transform: translateX(-50%);
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(26, 12, 0, .22);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.kn-value__dots i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .45);
  transition: background .25s, transform .25s;
  cursor: pointer;
}
.kn-value__dots i.is-active {
  background: #fff;
  transform: scale(1.25);
}
.kn-value__headline,
body.home-knuspr .kn-value__headline {
  color: var(--kn-ink) !important;
  font-size: clamp(1.85rem, 3.2vw, 2.45rem);
  line-height: 1.06;
  letter-spacing: -.03em;
  text-shadow: none !important;
  max-width: 18ch;
  margin: 0 0 1.5rem;
  text-align: left;
}
.kn-value__hl {
  color: var(--kn-orange);
  text-decoration: none;
  background-image: linear-gradient(var(--kn-orange), var(--kn-orange));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 3px;
  padding-bottom: .08em;
}
.kn-value__sub,
body.home-knuspr .kn-value__sub {
  color: #4c4a45 !important;
  text-shadow: none !important;
  font-size: 1rem;
  line-height: 1.45;
  max-width: 38rem;
  margin: 0 0 1.35rem;
}
.kn-value__trust {
  justify-content: flex-start;
  text-align: left;
  gap: 1rem 1.5rem;
  margin: 0 0 1.45rem;
}
.kn-value__trust-item {
  align-items: flex-start;
  gap: .7rem;
  max-width: 220px;
}
.kn-value__trust-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(242, 92, 84, .1);
  color: var(--kn-orange);
  border: 1px solid rgba(242, 92, 84, .14);
}
.kn-value__trust-icon svg { display: block; }
.kn-value__trust-item strong,
body.home-knuspr .kn-value__trust-item strong {
  color: var(--kn-ink) !important;
  text-shadow: none !important;
  font-size: .9rem;
  line-height: 1.25;
  margin-bottom: .15rem;
}
.kn-value__trust-item > div span,
body.home-knuspr .kn-value__trust-item > div span {
  color: #6b675f !important;
  text-shadow: none !important;
  font-size: .78rem;
  line-height: 1.35;
}
.kn-value__cta {
  justify-content: flex-start;
  gap: .85rem 1rem;
  align-items: center;
}
.kn-value__btn {
  background: var(--kn-orange);
  color: #fff;
  padding: .85rem 1.55rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 1rem;
  box-shadow: 0 8px 22px rgba(242, 92, 84, .28);
  transition: background .15s, transform .15s, box-shadow .15s;
}
.kn-value__btn:hover {
  background: var(--kn-orange-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(217, 68, 60, .32);
}
.kn-value__rating,
body.home-knuspr .kn-value__rating {
  color: var(--kn-ink) !important;
  background: #fff;
  border-radius: 999px;
  padding: .45rem .9rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  border: 1px solid rgba(26, 12, 0, .06);
}
.kn-value__rating strong,
body.home-knuspr .kn-value__rating strong {
  color: var(--kn-ink) !important;
}
.kn-value__rating-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: inherit;
  text-decoration: none;
  font-size: .9rem;
}
.kn-value__stars {
  color: #00b67a;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
}
.kn-value__star {
  display: inline-block;
  line-height: 1;
}
.kn-value__star--half {
  position: relative;
  width: 1em;
}
.kn-value__star--half .kn-value__star-empty {
  display: block;
  color: #00b67a;
}
.kn-value__star--half .kn-value__star-fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  overflow: hidden;
  color: #00b67a;
  line-height: 1;
}
.kn-value__count { color: #6b675f; }
.kn-value__apps span {
  background: #17181c;
  color: #fff;
  border-radius: 8px;
  padding: .35rem .7rem;
  font-size: .72rem;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .kn-value,
  body.home-knuspr .kn-value {
    flex-direction: column;
    overflow: hidden !important;
  }
  .kn-value__slideshow {
    display: block !important;
    order: 0;
    flex: 0 0 auto;
    width: 100%;
    min-height: 220px;
    height: 220px;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .kn-value__slideshow::before { display: none; }
  .kn-value__slideshow::after {
    background: linear-gradient(180deg, transparent 40%, rgba(26, 12, 0, .22) 100%);
  }
  .kn-value__inner {
    order: 1;
    padding: 1.25rem 1.35rem 1.4rem;
    background: transparent !important;
  }
  .kn-value__headline { font-size: 1.7rem; max-width: none; }
  .kn-value__trust { gap: .85rem 1rem; }
  .kn-value__trust-item { max-width: none; flex: 1 1 140px; }
}
@media (max-width: 760px) {
  .kn-value,
  body.home-knuspr .kn-value {
    background:
      radial-gradient(140% 100% at 50% 0%, #FFF8F0 0%, var(--kn-cream) 52%, #FDE8D4 100%) !important;
    border-radius: 18px !important;
    margin: .5rem .75rem 1rem !important;
    border: 1px solid rgba(242, 92, 84, .1) !important;
    box-shadow: 0 6px 20px rgba(26, 18, 8, .06) !important;
    overflow: hidden !important;
  }
  .kn-value__slideshow {
    min-height: 200px !important;
    height: 200px !important;
  }
  .kn-value__inner {
    order: 1;
    padding: 1.1rem 1.1rem 1.15rem !important;
    background: transparent !important;
    gap: 0;
    display: flex;
    flex-direction: column;
  }
  .kn-value__headline,
  body.home-knuspr .kn-value__headline {
    order: 1;
    color: var(--kn-ink) !important;
    opacity: 1 !important;
    font-size: 1.4rem !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em;
    max-width: none;
    margin: 0 0 .45rem !important;
  }
  .kn-value__hl {
    background-size: 100% 2px;
    padding-bottom: .04em;
  }
  .kn-value__sub,
  body.home-knuspr .kn-value__sub {
    order: 2;
    color: #4c4a45 !important;
    opacity: 1 !important;
    font-size: .88rem !important;
    line-height: 1.4;
    margin: 0 0 .85rem !important;
  }
  /* CTA sobe: acção primária antes dos USPs */
  .kn-value__cta {
    order: 3;
    flex-direction: column;
    align-items: stretch !important;
    gap: .55rem !important;
    margin: 0 0 .9rem;
  }
  .kn-value__btn {
    width: 100%;
    text-align: center;
    padding: .78rem 1.25rem !important;
    font-size: .95rem !important;
    box-shadow: 0 6px 16px rgba(242, 92, 84, .24);
  }
  .kn-value__rating {
    align-self: center !important;
    margin: 0 auto;
    padding: .35rem .75rem !important;
    font-size: .78rem !important;
  }
  /* USPs em grelha compacta — menos altura, CTA no ecrã */
  .kn-value__trust {
    order: 4;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem .4rem !important;
    margin: 0 !important;
    flex-direction: row;
  }
  .kn-value__trust-item {
    display: flex;
    max-width: none;
    flex: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .4rem;
  }
  .kn-value__trust-icon {
    width: 36px;
    height: 36px;
  }
  .kn-value__trust-icon svg {
    width: 18px;
    height: 18px;
  }
  .kn-value__trust-item strong,
  body.home-knuspr .kn-value__trust-item strong {
    color: var(--kn-ink) !important;
    opacity: 1 !important;
    font-size: .72rem !important;
    line-height: 1.2;
    margin: 0;
  }
  .kn-value__trust-item > div span {
    display: none;
  }
  .kn-value__dots {
    bottom: 12px;
    gap: 6px;
    padding: 5px 8px;
  }
  @media (prefers-reduced-motion: reduce) {
    .kn-value__inner { animation: none; }
  }
}

/* ───── Cartões de produto: preço grande com cêntimos elevados ───── */
.pcard__body { min-height: 96px; }
.pcard__body .pcard__price { order: 1; margin: 0 0 .15rem; }
.pcard__body .pcard__name { order: 2; font-weight: 500; color: #43464a; }
.pcard__body .pcard__unit { order: 3; }

.pcard__price { font-size: 1.3rem; font-weight: 800; color: var(--kn-ink); }
.pcard__price .kn-cents {
  font-size: .62em;
  vertical-align: super;
  line-height: 1;
  margin-left: 1px;
}
.pcard__price .kn-cur {
  font-size: .68rem;
  font-weight: 600;
  color: var(--c-text-muted, #6b716e);
  margin-left: 3px;
}
.pcard__price.is-sale { color: var(--kn-sale); }
.pcard__price.is-sale s { color: var(--c-text-muted); }
.pcard__price s {
  display: inline-block;
  margin-right: .35rem;
  font-size: .74rem;
}
.pcard__promo {
  display: inline-block;
  font-size: .78rem;
  font-weight: 400;
  color: #1c2529;
  background: #fff6c8;
  border-radius: 4px;
  padding: 0 .5rem;
  line-height: 1.35;
  margin-left: .25rem;
  vertical-align: middle;
}

/* Botão adicionar: círculo amarelo (layout cartão homepage) */
body.home-knuspr .pcard__add,
body.home-knuspr .fcard__add {
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--kn-yellow) !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 0 !important;
  appearance: none;
  -webkit-appearance: none;
}
body.home-knuspr .pcard__add:hover,
body.home-knuspr .fcard__add:hover {
  background: var(--kn-yellow-dark) !important;
  transform: scale(1.06) !important;
}

/* Cartões homepage: fundo cinza claro + cantos generosos */
body.home-knuspr .fcard {
  background: #f4f4f4;
  border-radius: 22px;
  border-color: #e5e5e3;
}
body.home-knuspr .fcard__price {
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--kn-ink);
}

/* Badges no canto superior DIREITO da imagem (Knuspr) */
.pcard__badges { left: auto; right: .5rem; align-items: flex-end; }
.pcard__badge { border-radius: 6px; }
.pcard__badge--percent { background: #fff6c8; color: #1c2529; }
.pcard__badge--promo { background: #fff6c8; color: #1c2529; }
.pcard__badge--bio { background: #ddf4de; color: #185729; }
.pcard__badge--vegan { background: #c8e6c9; color: #2e7d32; }
.pcard__badge--vegetarian { background: #e8f5e9; color: #388e3c; }
.pcard__badge--gfree { background: #e1bee7; color: #4a148c; }
.pcard__badge--lactose { background: #e3f2fd; color: #1565c0; }
.pcard__badge--best { background: #e16e64; color: #fff; }
.pcard__badge--harvest { background: #ddf4de; color: #185729; }
.pcard__badge--frozen { background: #bcd3df; color: #1e5d7c; }
.pcard__badge--local { background: #ddf4de; color: #185729; }
.pcard__badge--new { background: #dce8ee; color: #1e5d7c; }
.pcard__badge--sponsored { background: #374045; color: #b6bdc0; }
.pcard__badge--bakeoff { background: #e7dac6; color: #633f03; }
.pcard__badge--maxqty { background: #f8ec88; color: #1c2529; }
.pcard__flag { top: .4rem; left: .4rem; right: auto; bottom: auto; }
.pcard__promo {
  display: inline-block;
  font-size: .78rem;
  font-weight: 400;
  color: #1c2529;
  background: #fff6c8;
  border-radius: 4px;
  padding: 0 .5rem;
  line-height: 1.35;
  margin-left: .25rem;
  vertical-align: middle;
}

/* ───── Secções da homepage ───── */
body.home-knuspr #main {
  padding-bottom: 1rem;
}
.cat-section__more { color: var(--kn-orange); font-weight: 700; }
.kn-banners {
  margin-top: .25rem;
  margin-bottom: .35rem;
}
.kn-banners__tile {
  border-radius: 14px;
  overflow: hidden;
}
.kn-banners__tile img {
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.kn-banners__tile:hover img {
  transform: scale(1.04);
}
.kn-banners__label {
  font-weight: 800;
  letter-spacing: -.01em;
}
body.home-knuspr .kn-fresh {
  border-radius: 18px;
  margin: .5rem auto 1.25rem;
  max-width: calc(var(--max, 1280px) + 0px);
}
body.home-knuspr .cat-card--collection .cat-card__chevron {
  display: none;
}

/* Coleções principais - carrossel estilo Knuspr */
body.home-knuspr .cat-section--collections {
  margin: 1rem auto 1.25rem;
  max-width: var(--max, 1280px);
  padding: 0 1rem;
}
body.home-knuspr .cat-section--collections .cat-section__head {
  padding: 0 .25rem;
}
body.home-knuspr .cat-section--collections .cat-section__viewport {
  margin: 0 -.25rem;
}
body.home-knuspr .cat-section--collections .cat-section__grid {
  display: flex !important;
  gap: .6rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 4px 48px 10px 2px;
  -webkit-overflow-scrolling: touch;
}
body.home-knuspr .cat-section--collections .cat-section__grid::-webkit-scrollbar {
  display: none;
}
body.home-knuspr .cat-card--collection {
  flex: 0 0 calc((100% - (.6rem * 7)) / 8);
  min-width: 108px;
  max-width: 150px;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .35rem;
  padding: .85rem .45rem .55rem;
  background: #fff;
  border: 1px solid #e4e4e1;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  scroll-snap-align: start;
  transition: border-color .15s, box-shadow .15s;
}
body.home-knuspr .cat-card--collection:hover {
  border-color: var(--kn-orange);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .07);
  transform: none;
}
body.home-knuspr .cat-card--collection .cat-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 0;
  background: transparent !important;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
body.home-knuspr .cat-card--collection .cat-card__icon svg {
  display: block;
  width: 64px;
  height: 64px;
}
body.home-knuspr .cat-card--collection .cat-card__icon img.mim-cat-icon {
  border-radius: 8px;
  object-fit: cover;
}
body.home-knuspr .cat-card--collection .cat-card__label {
  font-size: .78rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  color: var(--kn-ink);
  flex: 1;
  display: flex;
  align-items: center;
}
body.home-knuspr .cat-card--collection .cat-card__chevron {
  flex-shrink: 0;
  color: #8a8a86;
  margin-top: auto;
}
body.home-knuspr .cat-card--collection.cat-card--promo {
  border-color: #f5c4a8;
}
body.home-knuspr .cat-card--collection.cat-card--promo .cat-card__label {
  color: var(--kn-orange);
}
@media (max-width: 1100px) {
  body.home-knuspr .cat-card--collection {
    flex-basis: calc((100% - (.6rem * 5)) / 6);
  }
}
@media (max-width: 900px) {
  body.home-knuspr .cat-card--collection {
    flex-basis: calc((100% - (.6rem * 4)) / 5);
    min-width: 100px;
  }
}
@media (max-width: 700px) {
  body.home-knuspr .cat-section--collections .cat-section__grid {
    padding-right: .75rem;
    gap: .55rem;
  }
  body.home-knuspr .cat-card--collection {
    flex: 0 0 108px;
    min-width: 108px;
    max-width: 108px;
  }
}

/* Newsletter: banda creme com botão coral */
.kn-newsletter {
  background:
    radial-gradient(120% 90% at 10% 0%, #FFF9F1 0%, transparent 55%),
    radial-gradient(90% 80% at 90% 100%, #FDE8D4 0%, transparent 50%),
    var(--kn-cream);
  color: var(--kn-ink);
  border-top: 1px solid rgba(26, 18, 8, .06);
  border-bottom: 1px solid rgba(26, 18, 8, .06);
}
.kn-newsletter__eyebrow { color: var(--kn-orange); opacity: 1 !important; }
.kn-newsletter__copy h2 { color: var(--kn-ink); }
.kn-newsletter__copy p { color: #4c4a45; opacity: 1; }
.kn-newsletter__copy strong { color: var(--kn-ink); }
.kn-newsletter__form {
  border-color: rgba(26, 18, 8, .08);
  box-shadow: 0 10px 32px rgba(26, 18, 8, .08);
}
.kn-newsletter__form:focus-within {
  border-color: rgba(242, 92, 84, .45);
  box-shadow: 0 10px 32px rgba(26, 18, 8, .1), 0 0 0 3px rgba(242, 92, 84, .18);
}
.kn-newsletter__form button {
  background: var(--kn-orange);
  color: #fff;
}
.kn-newsletter__form button:hover { background: var(--kn-orange-dark); }
.kn-newsletter__feedback.is-ok { color: var(--kn-green-dark); }
.kn-newsletter__feedback.is-error { color: var(--kn-orange-dark); }
.kn-newsletter__legal { color: #5c574f; opacity: 1; }
.kn-newsletter__legal a {
  color: var(--kn-orange);
  font-weight: 600;
  text-underline-offset: 2px;
}
.kn-newsletter__legal a:hover { color: var(--kn-orange-dark); }

/* ───── Mobile (≤760px): sobrepõe os !important do loja-mobile.css ───── */
@media (max-width: 760px) {
  .promo-bar {
    background: var(--kn-orange) !important;
    height: 34px !important;
  }
  .promo-bar__item {
    color: var(--kn-orange-ink) !important;
  }
  .promo-bar__change { color: var(--kn-orange-ink) !important; }
  .promo-bar__progress { background: rgba(26, 12, 0, .18); }
  .promo-bar__progress-bar { background: rgba(26, 12, 0, .45); }

  .header__location-btn { color: var(--kn-orange) !important; }

  /* Bottom nav: item ativo laranja (app Knuspr) */
  .mobile-nav__item.is-active { color: var(--kn-orange) !important; }
  .mobile-nav__badge { background: var(--kn-sale) !important; }
}

/* ───── Tema escuro: paleta Knuspr tangerine-dark ───── */
html[data-theme="dark"] .promo-bar,
html[data-theme="dark"] body.home-knuspr .promo-bar {
  background: #000 !important;
  border-bottom: 1px solid #374045;
}
html[data-theme="dark"] .promo-bar__item,
html[data-theme="dark"] body.home-knuspr .promo-bar__item {
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .promo-bar__item:hover { color: #fff !important; }

html[data-theme="dark"] .header { background: #252525 !important; border-bottom-color: transparent !important; }
html[data-theme="dark"] .header__action-link {
  background: rgba(255,255,255,.05);
  border-color: transparent;
  color: #f2f4f4;
}
html[data-theme="dark"] .header__action-link:hover { background: rgba(255,255,255,.1); }
html[data-theme="dark"] .header__cart { color: #f2f4f4 !important; }
html[data-theme="dark"] .header__cart:hover { background: rgba(255,255,255,.08) !important; }
html[data-theme="dark"] .header__search { background: #000 !important; border-color: #374045 !important; }
html[data-theme="dark"] .header__search-btn { background: #9dcb9a !important; }
html[data-theme="dark"] .header__search-btn:hover { background: #2a7337 !important; }
html[data-theme="dark"] .header__location-label strong { color: #f2f4f4; }
html[data-theme="dark"] .header__location-btn { color: #f88424 !important; }

html[data-theme="dark"] .knav { background: #252525 !important; border-color: transparent !important; }
html[data-theme="dark"] .knav__pill {
  background: rgba(255,255,255,.05) !important;
  border-color: transparent !important;
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .knav__pill:hover { background: rgba(255,255,255,.1) !important; }
html[data-theme="dark"] .knav__pill--primary {
  background: #b85300 !important;
  border-color: #b85300 !important;
  color: #fff !important;
}

html[data-theme="dark"] .kn-value,
html[data-theme="dark"] body.home-knuspr .kn-value {
  background:
    radial-gradient(120% 90% at 0% 0%, #6a3200 0%, #522500 55%, #3d1a00 100%) !important;
  border-color: rgba(255, 255, 255, .06);
}
html[data-theme="dark"] .kn-value__slideshow::before {
  background: linear-gradient(90deg, #522500 0%, rgba(82, 37, 0, 0) 100%);
}
html[data-theme="dark"] .kn-value__slideshow::after {
  background:
    linear-gradient(90deg, rgba(82, 37, 0, 0.45) 0%, transparent 28%),
    linear-gradient(180deg, transparent 62%, rgba(0, 0, 0, 0.22) 100%);
}
html[data-theme="dark"] .kn-value__headline { color: #f2f4f4 !important; }
html[data-theme="dark"] .kn-value__hl { color: #ff8a33; background-image: linear-gradient(#ff8a33, #ff8a33); }
html[data-theme="dark"] .kn-value__sub,
html[data-theme="dark"] .kn-value__trust-item > div span { color: #b6bdc0 !important; }
html[data-theme="dark"] .kn-value__trust-item strong { color: #f2f4f4 !important; }
html[data-theme="dark"] .kn-value__trust-icon {
  background: rgba(255, 138, 51, .14);
  border-color: rgba(255, 138, 51, .22);
  color: #ff8a33;
}
html[data-theme="dark"] .kn-value__rating { background: rgba(0,0,0,.3) !important; color: #f2f4f4 !important; border-color: transparent; }
html[data-theme="dark"] .kn-value__count { color: #b6bdc0; }
html[data-theme="dark"] .kn-newsletter {
  background:
    radial-gradient(120% 90% at 10% 0%, #6a3200 0%, transparent 55%),
    radial-gradient(90% 80% at 90% 100%, #3d1a00 0%, transparent 50%),
    #522500 !important;
  color: #f2f4f4 !important;
  border-color: rgba(255, 255, 255, .06);
}
html[data-theme="dark"] .kn-newsletter__eyebrow { color: #ffb068 !important; }
html[data-theme="dark"] .kn-newsletter__copy h2 { color: #f2f4f4 !important; }
html[data-theme="dark"] .kn-newsletter__copy p { color: #e8ddd0 !important; opacity: 1 !important; }
html[data-theme="dark"] .kn-newsletter__copy strong { color: #fff !important; }
html[data-theme="dark"] .kn-newsletter__legal { color: #d9cbb8 !important; opacity: 1 !important; }
html[data-theme="dark"] .kn-newsletter__legal a { color: #ffb068 !important; }
html[data-theme="dark"] .kn-newsletter__feedback.is-ok { color: #9dcb9a !important; }
html[data-theme="dark"] .kn-newsletter__feedback.is-error { color: #ffb068 !important; }
html[data-theme="dark"] .kn-newsletter__form {
  background: #1a1410 !important;
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: none;
}
html[data-theme="dark"] .kn-newsletter__form:focus-within {
  border-color: rgba(255, 176, 104, .5);
  box-shadow: 0 0 0 3px rgba(255, 176, 104, .18);
}
html[data-theme="dark"] .kn-newsletter__form input {
  color: #f2f4f4 !important;
  background: transparent !important;
}
html[data-theme="dark"] .kn-newsletter__form input::placeholder { color: #9a9084 !important; }
html[data-theme="dark"] .kn-newsletter__form button {
  background: #F25C54 !important;
  color: #fff !important;
}
html[data-theme="dark"] .kn-newsletter__form button:hover { background: #e65f00 !important; }

/* Apoio / CS cards: fundo claro força texto escuro no dark mode */
html[data-theme="dark"] .cs__item {
  background: #1c1c1c !important;
  border-color: #333 !important;
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .cs__item strong { color: #f2f4f4 !important; }
html[data-theme="dark"] .cs__item span,
html[data-theme="dark"] .cs__item a { color: #b6bdc0 !important; }
html[data-theme="dark"] .cs__icon {
  background: rgba(46, 125, 31, .22) !important;
  color: #8fd18a !important;
}
html[data-theme="dark"] .cs__item:hover {
  border-color: #4a9a45 !important;
}
html[data-theme="dark"] .pcard { background: transparent !important; border-color: transparent !important; }
html[data-theme="dark"] .pcard__price,
html[data-theme="dark"] body.home-knuspr .pcard__price,
html[data-theme="dark"] .fcard__price,
html[data-theme="dark"] body.home-knuspr .fcard__price {
  color: #fff !important;
}
html[data-theme="dark"] .pcard__body .pcard__name,
html[data-theme="dark"] .fcard__name,
html[data-theme="dark"] body.home-knuspr .fcard__name {
  color: #b6bdc0 !important;
}
html[data-theme="dark"] .cat-card--collection {
  background: var(--c-surface, #2a2a2a) !important;
  border-color: var(--c-border, #374045) !important;
}
html[data-theme="dark"] .cat-card--collection .cat-card__label { color: var(--c-text, #f2f4f4); }
html[data-theme="dark"] .cat-card--collection .cat-card__chevron { color: #8a9299; }
html[data-theme="dark"] .mobile-nav__item.is-active { color: #f88424 !important; }

/* Homepage extras · parity with Knuspr dark */
html[data-theme="dark"] {
  --kn-ink: #f2f4f4;
  --kn-cream: #3D1E18;
  --kn-orange-light: #3D1A18;
  --kn-sky-light: #1A2A38;
  --c-bg: #000000;
  --c-surface: #252525;
  --c-chip-bg: #1c2529;
  --c-text: #f2f4f4;
  --c-text-muted: #b6bdc0;
  --c-border: #374045;
}
html[data-theme="dark"] body.home-knuspr,
html[data-theme="dark"] body.home-knuspr #main {
  background: #000 !important;
  color: #f2f4f4;
}

/* Secções que ainda herdavam cinza/branco claro */
html[data-theme="dark"] .kn-banners,
html[data-theme="dark"] .kn-banners__viewport,
html[data-theme="dark"] .cat-section,
html[data-theme="dark"] .cat-section--collections,
html[data-theme="dark"] .product-row,
html[data-theme="dark"] body.home-knuspr .product-row,
html[data-theme="dark"] .kn-trending,
html[data-theme="dark"] .kn-chilled,
html[data-theme="dark"] .inspo,
html[data-theme="dark"] .brands,
html[data-theme="dark"] .trust,
html[data-theme="dark"] .clubs,
html[data-theme="dark"] .plus-banner,
html[data-theme="dark"] .kn-section,
html[data-theme="dark"] .catalog-heading,
html[data-theme="dark"] .kn-paystrip,
html[data-theme="dark"] .app-strip,
html[data-theme="dark"] .trustpilot-section,
html[data-theme="dark"] .diet-chips-row {
  background: #000 !important;
  color: #f2f4f4;
  border-color: #374045;
}
html[data-theme="dark"] .kn-fresh,
html[data-theme="dark"] body.home-knuspr .kn-fresh {
  background: #1c2529 !important;
  color: #f2f4f4;
}
html[data-theme="dark"] body.home-knuspr .fcard,
html[data-theme="dark"] .fcard {
  background: #252525 !important;
  border-color: #374045 !important;
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .fcard__brand,
html[data-theme="dark"] .fcard__meta,
html[data-theme="dark"] .fcard__was,
html[data-theme="dark"] .fcard__xtra,
html[data-theme="dark"] .pcard__brand,
html[data-theme="dark"] .pcard__unit {
  color: #b6bdc0 !important;
}
html[data-theme="dark"] .fcard__meta {
  border-color: #374045 !important;
}
html[data-theme="dark"] .fcard__promo {
  background: #3d3200 !important;
  color: #ffe08a !important;
}
html[data-theme="dark"] .pcard__img,
html[data-theme="dark"] .kn-pcard__img,
html[data-theme="dark"] .fcard__img {
  background: linear-gradient(135deg, #1c2529 0%, #252525 100%) !important;
}
html[data-theme="dark"] .pcard__add {
  background: #9dcb9a !important;
  color: #0f351a !important;
}
html[data-theme="dark"] .pcard__add:hover {
  background: #2a7337 !important;
  color: #fff !important;
}
html[data-theme="dark"] .product-row__head h2,
html[data-theme="dark"] .product-row__head a,
html[data-theme="dark"] .kn-section__title,
html[data-theme="dark"] .kn-trending h2,
html[data-theme="dark"] .cat-section__head h2,
html[data-theme="dark"] .section-title {
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .product-row__more {
  background: #252525 !important;
  border-color: #374045 !important;
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .kn-banners__tile {
  border-color: transparent;
  background: #1c2529;
}
html[data-theme="dark"] .club-card,
html[data-theme="dark"] .trust__card,
html[data-theme="dark"] .inspo__card,
html[data-theme="dark"] .brands__card {
  background: #252525 !important;
  border-color: #374045 !important;
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .plus-banner h2 {
  color: #f2f4f4 !important;
}
html[data-theme="dark"] .plus-banner__card {
  background: linear-gradient(135deg, #82AD49 0%, #3d7a3a 42%, #0f3d24 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
}
html[data-theme="dark"] .header__theme-toggle {
  color: #f2f4f4;
}
html[data-theme="dark"] .header__theme-toggle:hover {
  background: rgba(255, 255, 255, .1);
}
