/* Tilbehør hentes fra produktets koblede varer, med bilde og pris fra WooCommerce. */
.butikken-design .butikken-tilbehor {
  margin-top: 24px;
}
.butikken-design .butikken-tilbehor h3 {
  margin: 0 0 4px;
  font-size: 18px;
}
.butikken-design .butikken-tilbehor > p {
  margin: 0 0 12px;
  color: var(--bk-text-subtle);
  font-size: 14px;
}
.butikken-design .butikken-tilbehor ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.butikken-design a.butikken-tilbehor-kort {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--bk-border-subtle);
  border-radius: 8px;
  background: var(--bk-surface);
  color: var(--bk-text);
  text-decoration: none;
}
.butikken-design a.butikken-tilbehor-kort:hover {
  border-color: var(--bk-accent);
}
.butikken-design .butikken-tilbehor-bilde img {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.butikken-design .butikken-tilbehor-innhold {
  display: grid;
  gap: 4px;
  font-size: 16px;
  line-height: 1.4;
}
.butikken-design .butikken-tilbehor-pris {
  font-weight: 600;
}
.butikken-design .butikken-tilbehor-lenke {
  color: var(--bk-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 14px;
}

/* Kompakt bekreftelse med tydelig angrelenke i handlekurven og kassen. */
body.butikken-design.woocommerce-cart .woocommerce-message,
body.butikken-design.woocommerce-checkout .woocommerce-message {
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  margin: 0 0 24px;
  padding: 16px 20px 16px 48px;
  background: var(--bk-accent-tinted);
  color: var(--bk-text);
  text-align: left;
  border: 1px solid var(--bk-border-subtle);
  line-height: 1.5;
  border-radius: 8px;
}

body.butikken-design.woocommerce-cart .woocommerce-message::before,
body.butikken-design.woocommerce-checkout .woocommerce-message::before {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 20px;
  margin: 0;
  transform: translateY(-50%);
  color: var(--bk-accent);
}

body.butikken-design .woocommerce-message a.restore-item {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  margin: -12px 0 -12px 16px;
  white-space: nowrap;
  color: var(--bk-accent);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.butikken-design .woocommerce-message a.restore-item:hover {
  color: var(--bk-accent-hover);
  text-decoration-thickness: 1px;
}

body.butikken-design .woocommerce-message a.restore-item:focus-visible {
  outline: 2px solid var(--bk-focus, #00662a);
  outline-offset: 4px;
}

/*
 * Butikken: tilpasninger av Woostify og WooCommerce.
 * Erstatter reglene som lå i Tilpass → Ekstra CSS.
 */

:root {
  --butikken-price: #1f1a49;
  --butikken-muted: #6b6b6b;
  --butikken-line: #e0e0e0;
  --butikken-line-hover: #aeaeae;
  --butikken-in-stock: #2e7d32;
  --butikken-out-of-stock: #b3261e;
}

/* Produktkort i butikken (flyttet fra Ekstra CSS). To kolonner på mobil, som hos Komplett og finn.no. */

.product-loop-wrapper {
  border: 2px solid var(--butikken-line);
  border-radius: 0.5rem;
  overflow: hidden;
  padding: 1rem;
  transition:
    border-color 0.15s ease-in-out,
    transform 0.15s ease-in-out;
}

.product-loop-wrapper:hover {
  border-color: var(--butikken-line-hover);
  transform: scale(1.02);
}

@media (prefers-reduced-motion: reduce) {
  .product-loop-wrapper:hover {
    transform: none;
  }
}

.no-transform .animated-meta {
  align-items: baseline;
}

/* Priser: tilbudspris først og gammel pris gjennomstreket, «Fra kr 149» på produkter med flere priser */

.price {
  align-items: baseline;
  color: var(--butikken-price);
  column-gap: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
  row-gap: 0.25rem;
}

.price .amount {
  white-space: nowrap;
}

.price ins {
  order: -1;
  text-decoration: none;
}

.price del {
  color: var(--butikken-muted);
  font-size: 0.8em;
  font-weight: 400;
}

.price .butikken-price-from {
  font-size: 0.7em;
  font-weight: 400;
}

.products .product .price {
  font-size: 1.125rem;
}

/* Stor pris bare øverst på produktsiden */
.single-product .summary > .price {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* Gruppeprodukter: én ryddig rad per vare */

.woocommerce-grouped-product-list {
  border-collapse: collapse;
  margin: 0 0 1.5rem;
  width: 100%;
}

.woocommerce-grouped-product-list tr {
  border-bottom: 1px solid var(--butikken-line);
}

.woocommerce-grouped-product-list td {
  padding: 0.75rem 0.5rem;
  vertical-align: middle;
}

.woocommerce-grouped-product-list-item__quantity {
  white-space: nowrap;
  width: 1%;
}

.woocommerce-grouped-product-list .quantity {
  max-width: 8rem;
}

.woocommerce-grouped-product-list-item__label {
  font-size: 0.95rem;
}

.woocommerce-grouped-product-list-item__label a {
  color: inherit;
}

.woocommerce-grouped-product-list-item__price {
  color: var(--butikken-price);
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

.woocommerce-grouped-product-list-item__price del {
  color: var(--butikken-muted);
  font-size: 0.85em;
  font-weight: 400;
  margin-right: 0.25rem;
}

.woocommerce-grouped-product-list-item__price ins {
  text-decoration: none;
}

.woocommerce-grouped-product-list-item__price .stock {
  color: var(--butikken-in-stock);
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  margin: 0.25rem 0 0;
}

.woocommerce-grouped-product-list-item__price .stock.out-of-stock {
  color: var(--butikken-out-of-stock);
}

@media (max-width: 600px) {
  .woocommerce-grouped-product-list tr {
    align-items: center;
    display: grid;
    gap: 0.5rem 1rem;
    grid-template-columns: auto 1fr;
    padding: 0.75rem 0;
  }

  .woocommerce-grouped-product-list td {
    padding: 0;
    width: auto;
  }

  .woocommerce-grouped-product-list-item__label {
    grid-column: 1 / -1;
    order: -1;
  }

  /* Uten antallsvelger står navn og pris på samme rad, som på PC. */
  .butikken-no-quantity .woocommerce-grouped-product-list tr {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .butikken-no-quantity .woocommerce-grouped-product-list-item__label {
    grid-column: 1;
    min-width: 0;
    order: 0;
    overflow-wrap: anywhere;
  }

  .butikken-no-quantity .woocommerce-grouped-product-list-item__price {
    grid-column: 2;
  }
}

/* Produktsiden som hos Musti: størrelsesknapper, lagerstatus i boks, antall og knapp på én linje, fordeler under */

:root {
  --butikken-brand: #0a5f43;
  --butikken-radius: 4px;
}

.variations_form table.variations,
.variations_form table.variations tbody,
.variations_form table.variations tr,
.variations_form table.variations th,
.variations_form table.variations td {
  border: 0;
  display: block;
  padding: 0;
  width: auto;
}

.variations_form table.variations tr {
  margin-bottom: 1rem;
}

.variations_form table.variations th.label label,
.variations_form table.variations td.label label {
  display: block;
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.variations_form select.butikken-chips-select {
  display: none !important;
}

.butikken-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.butikken-chip {
  background: #fff;
  border: 1px solid var(--butikken-brand);
  border-radius: var(--butikken-radius);
  color: var(--butikken-price);
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  line-height: 1.2;
  min-width: 3rem;
  padding: 0.65rem 0.9rem;
  transition:
    background-color 0.15s,
    color 0.15s;
}

.butikken-chip:hover {
  background: #eef6f2;
}

.butikken-chip:focus-visible {
  outline: 2px solid var(--bk-focus, #00662a);
  outline-offset: 2px;
}

.butikken-chip.is-selected {
  background: var(--butikken-brand);
  color: #fff;
}

/* Utsolgt, eller finnes ikke i valgt farge: grå, som hos Anton Sport (ikke streket eller gjennomsiktig). */
.butikken-chip:is(.is-out-of-stock, .is-unavailable):not(.is-selected) {
  border-color: var(--butikken-line);
  color: var(--butikken-muted);
}

.butikken-chip.is-unavailable:not(.is-selected) {
  cursor: default;
}

/* Fargeruter som sirkler: fargen i sirkelen, navnet i etiketten («Farge: Svart»). To farger deles på skrå. */
.butikken-swatch {
  background: linear-gradient(
    to bottom right,
    var(--bk-swatch) 50%,
    var(--bk-swatch-2) 50%
  );
  border: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 15%); /* lyse farger synes mot bakgrunnen */
  cursor: pointer;
  height: 44px; /* samme høyde som størrelsesknappene, og minste trykkflate */
  padding: 0;
  position: relative;
  width: 44px;
}

/* Ringen tegnes innenfor ruten, så rutene står på linje med størrelsesknappene. */
.butikken-swatch:hover {
  box-shadow:
    inset 0 0 0 2px var(--bk-border-strong, #8a8a8a),
    inset 0 0 0 4px var(--bk-surface, #fff);
}

.butikken-swatch.is-selected {
  box-shadow:
    inset 0 0 0 2px var(--bk-accent, var(--butikken-brand)),
    inset 0 0 0 4px var(--bk-surface, #fff);
}

.butikken-swatch:focus-visible {
  outline: 2px solid var(--bk-focus, #00662a);
  outline-offset: 2px;
}

/* Utsolgt eller ikke i den valgte størrelsen: blek med en strek over */
.butikken-swatch.is-out-of-stock:not(.is-selected)::after,
.butikken-swatch.is-unavailable::after {
  background: linear-gradient(
    to top right,
    transparent calc(50% - 1px),
    rgb(255 255 255 / 90%) calc(50% - 1px),
    rgb(255 255 255 / 90%) calc(50% + 1px),
    transparent calc(50% + 1px)
  );
  border-radius: inherit;
  box-shadow: inset 0 0 0 44px rgb(255 255 255 / 45%);
  content: "";
  inset: 0;
  position: absolute;
}

.butikken-loop-swatches {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.butikken-loop-swatch {
  background: linear-gradient(
    to bottom right,
    var(--bk-swatch) 50%,
    var(--bk-swatch-2) 50%
  );
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 15%);
  display: block;
  height: 16px;
  width: 16px;
}

.butikken-loop-swatch:hover,
.butikken-loop-swatch:focus-visible {
  box-shadow:
    inset 0 0 0 1px rgb(0 0 0 / 15%),
    0 0 0 1px var(--bk-surface, #fff),
    0 0 0 2px var(--bk-border-strong, #8a8a8a);
  outline: none;
}

/* Sammenhengende treffområder på produktkortene; selve fargesirkelen beholder størrelsen. */
.products .butikken-loop-swatches {
  gap: 0;
  margin-left: -3px;
  max-width: 100%;
  width: fit-content;
}

.products .butikken-loop-swatch {
  background: none;
  border-radius: 0;
  box-shadow: none;
  flex: none;
  height: 32px;
  position: relative;
  width: 22px;
}

.products .butikken-loop-swatch::before {
  background: linear-gradient(to bottom right, var(--bk-swatch) 50%, var(--bk-swatch-2) 50%);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 15%);
  content: "";
  height: 16px;
  left: 3px;
  position: absolute;
  top: 8px;
  width: 16px;
}

.products .butikken-loop-swatch:is(:hover, :focus-visible, [aria-current])::before {
  box-shadow:
    inset 0 0 0 1px rgb(0 0 0 / 15%),
    0 0 0 1px var(--bk-surface, #fff),
    0 0 0 2px var(--bk-border-strong, #8a8a8a);
}

/* Fargelenkene må ligge over søketreffets usynlige dekklenke. */
.aws-search-result .aws_result_item a.butikken-loop-swatch {
  position: relative;
  z-index: 2;
}

/* Fargevalget går foran temaets vanlige bildebytte ved hover. */
.products .product.butikken-color-preview .product-loop-hover-image {
  opacity: 0 !important;
  visibility: hidden !important;
}

.products .product.butikken-color-preview img.product-loop-image {
  opacity: 1 !important;
}

.butikken-loop-swatch-more {
  color: var(--bk-text-subtle, #6b6b6b);
  font-size: 0.8125rem;
  line-height: 16px;
}

.butikken-no-quantity form.cart .quantity {
  display: none !important;
}

/* En skjult antallsvelger skal heller ikke beholde en tom tabellkolonne. */
.butikken-no-quantity .woocommerce-grouped-product-list-item__quantity:has(.quantity):not(:has(.button)) {
  display: none;
}

.butikken-swatch-chosen {
  font-weight: 400;
}

/* Prisen for valgt størrelse står øverst, så WooCommerce sin egen variantpris trengs ikke */
.single-product .woocommerce-variation-price {
  display: none;
}

/* Lagerstatus i boks */
.single-product .summary .stock {
  align-items: center;
  border: 1px solid var(--butikken-line);
  border-radius: var(--butikken-radius);
  color: var(--butikken-price);
  display: flex;
  font-size: 0.95rem;
  gap: 0.5rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
}

.single-product .summary .stock::before {
  align-items: center;
  border: 1.5px solid var(--butikken-in-stock);
  border-radius: 50%;
  color: var(--butikken-in-stock);
  content: "✓";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.75rem;
  height: 1.25rem;
  justify-content: center;
  width: 1.25rem;
}

.single-product .summary .stock.out-of-stock::before {
  border-color: var(--butikken-out-of-stock);
  color: var(--butikken-out-of-stock);
  content: "✕";
}

/* Gruppeprodukter har lagerstatus per rad, uten boks */
.woocommerce-grouped-product-list .stock::before {
  content: none !important;
}

.woocommerce-grouped-product-list-item__price .stock {
  border: 0 !important;
  display: block !important;
  padding: 0 !important;
}

/* Antall og knapp på én linje; størrelsene står over, på egen linje */
.single-product form.variations_form.cart {
  display: block;
}

.single-product form.cart:not(.grouped_form):not(.variations_form),
.single-product .woocommerce-variation-add-to-cart {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.single-product form.cart .single_add_to_cart_button {
  border-radius: var(--butikken-radius);
  flex: 1 1 12rem;
  max-width: 22rem;
  min-height: 3rem;
}

/* Fordeler under kjøpsknappen */
.butikken-usps {
  border-bottom: 1px solid var(--butikken-line);
  border-top: 1px solid var(--butikken-line);
  display: grid;
  gap: 0.75rem 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  list-style: none;
  margin: 1.25rem 0;
  padding: 1rem 0;
}

.butikken-usp {
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  gap: 0.1rem;
  padding-left: 1.75rem;
  position: relative;
}

.butikken-usp::before {
  color: var(--butikken-brand);
  content: "✓";
  font-weight: 700;
  left: 0;
  position: absolute;
  top: 0;
}

/*
 * Elementor: en boks med bakgrunnsbilde klipper innholdet sitt, så knapper og tekst som glir inn
 * (inngangsanimasjon, f.eks. «Se tilbudet!» på forsiden) ikke vises utenfor bildet mens de beveger seg.
 */
.e-con[data-settings*="background_background"]:has(
    > .elementor-element[data-settings*="_animation"]
  ) {
  overflow: hidden;
}

/* Butikklager og nettlager på produktsiden (includes/class-butikken-lager.php) */
.butikken-lager-on .summary .stock,
.butikken-lager-on .summary .woocommerce-variation-availability {
  display: none !important;
}

.butikken-lager {
  border-bottom: 1px solid var(--butikken-line);
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: 1fr 1fr;
  margin: 1.25rem 0 0;
  padding-bottom: 1.25rem;
}

.butikken-lager--web-only {
  grid-template-columns: 1fr;
}

/* Lagerfeltet har allerede skillelinjen over fordelene. */
.butikken-lager + .butikken-usps {
  border-top: 0;
  margin-top: 0;
}

.butikken-lager-col {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.butikken-lager-title {
  color: var(--butikken-price);
  font-size: 1rem;
}

.butikken-lager-chosen.is-none {
  color: var(--butikken-muted);
}

.butikken-lager-choose {
  background: none;
  border: 0;
  color: var(--butikken-price);
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.butikken-lager-web,
.butikken-lager-chosen,
.butikken-lager-store-status {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
}

.butikken-lager [hidden] {
  display: none !important;
}

.butikken-lager-dot {
  background: var(--butikken-muted);
  border-radius: 50%;
  flex: none;
  height: 0.7rem;
  width: 0.7rem;
}

.is-in .butikken-lager-dot {
  background: var(--bk-success, #5aa864);
}

.is-low .butikken-lager-dot {
  background: var(--bk-warning, #e0a020);
}

.is-out .butikken-lager-dot {
  background: var(--butikken-out-of-stock);
}

.is-none .butikken-lager-dot {
  display: none;
}

/* «På lager» under prisen i produktlistene (Butikken_Lager::loop) */
.products .product .butikken-loop-stock {
  align-items: center;
  color: var(--butikken-muted);
  display: flex;
  font-size: 13px;
  font-weight: 400;
  gap: 6px;
  line-height: 1.4;
  margin-top: 6px;
}

.products .product .butikken-loop-stock::before {
  background: var(--bk-success, #5aa864);
  border-radius: 50%;
  content: "";
  flex: none;
  height: 8px;
  width: 8px;
}

.products .product .butikken-loop-stock.is-low::before {
  background: var(--bk-warning, #e0a020);
}

.products .product .butikken-loop-stock.is-out::before {
  background: var(--bk-border, #858c88);
}

.butikken-lager-dialog {
  border: 0;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  max-width: 30rem;
  padding: 1.5rem;
  width: calc(100% - 2rem);
}

.butikken-lager-dialog::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.butikken-lager-dialog-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.butikken-lager-dialog h2 {
  font-size: 1.25rem;
  margin: 0;
}

.butikken-lager-close {
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 1.75rem;
  line-height: 1;
  padding: 0.25rem;
}

.butikken-lager-locate {
  background: var(--butikken-brand);
  border: 1px solid var(--butikken-brand);
  border-radius: var(--butikken-radius);
  color: #fff;
  cursor: pointer;
  font: inherit;
  margin: 0.5rem 0 1rem;
  padding: 0.6rem 0.9rem;
  width: 100%;
}

.butikken-lager-note {
  color: var(--butikken-muted);
  font-size: 0.9rem;
}

.butikken-lager-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.butikken-lager-list li {
  border-top: 1px solid var(--butikken-line);
}

.butikken-lager-store {
  background: none;
  border: 0;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 0.15rem 1rem;
  grid-template-columns: 1fr auto;
  padding: 0.85rem 0.25rem;
  text-align: left;
  width: 100%;
}

.butikken-lager-store:hover,
.is-chosen .butikken-lager-store {
  background: #f4f7f5;
}

.butikken-lager-store-name {
  font-weight: 600;
}

.butikken-lager-store-address {
  color: var(--butikken-muted);
  font-size: 0.85rem;
  grid-column: 1;
}

.butikken-lager-store-status {
  font-size: 0.9rem;
  grid-column: 2;
  grid-row: 1 / span 2;
}

@media (max-width: 480px) {
  .butikken-lager {
    grid-template-columns: 1fr;
  }
}

/*
 * Brødsmulestien: Woostify sin lyse grå (#c9c9c9) har for svak kontrast. Lenkene får merkefargen,
 * siden du står på får mørk tekst, og skilletegnet er dempet.
 */
.woostify-breadcrumb,
.woostify-breadcrumb .item-bread {
  color: var(--butikken-price);
}

.woostify-breadcrumb a {
  color: var(--butikken-brand);
  text-decoration: none;
}

.woostify-breadcrumb a:hover,
.woostify-breadcrumb a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woostify-breadcrumb .item-bread.delimiter {
  color: var(--butikken-muted);
  padding: 0 0.35rem;
}

/* På butikk- og kategorisidene står brødsmulestien i den mørkegrønne toppen: lys tekst der. */
.page-header .woostify-breadcrumb,
.page-header .woostify-breadcrumb .item-bread,
.page-header .woostify-breadcrumb a {
  color: #fff;
}

.page-header .woostify-breadcrumb a {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.5);
  text-underline-offset: 3px;
}

.page-header .woostify-breadcrumb .item-bread.delimiter {
  color: rgba(255, 255, 255, 0.7);
}

/*
 * Sosiale ikoner (blokken «Sosiale ikoner» i bunnteksten): følger tekstfargen. WordPress sin egen CSS for blokken
 * lastes ikke på sider laget med Elementor (som forsiden), og da ble ikonene svarte på den grønne bunnen.
 */
.wp-block-social-link-anchor svg {
  fill: currentColor;
}

/*
 * Bilder med hover-animasjon i Elementor («Shrink», «Grow» osv.): en rolig zoom inne i bildet i stedet,
 * som på produktkortene. Krymping fikk bildet til å trekke seg unna og etterlate en kant.
 */
/* Klipp på bildets nærmeste forelder (lenken, eller widgeten når bildet ikke er en lenke). */
.elementor-widget-image :has(> img[class*="elementor-animation-"]) {
  border-radius: inherit;
  display: block;
  overflow: hidden;
  vertical-align: top;
}

.elementor-widget-image img[class*="elementor-animation-"] {
  /* Kortbilder: samme format og full bredde, så kortene står på linje (bildet beskjæres, strekkes ikke). */
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
  width: 100%;
  transition:
    opacity 0.5s ease,
    transform 0.4s ease;
}

.elementor-widget-image img[class*="elementor-animation-"]:hover {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-image img[class*="elementor-animation-"]:hover {
    transform: none;
  }
}

/* Produktbildet fyller bildefeltet (små bilder opptil dobbel størrelse, se produkt.js), på hvit bunn */
.single-product .product-gallery .image-item img {
  display: block;
  height: auto;
  margin: 0 auto;
  width: 100%;
}

.single-product .product-gallery .image-item a {
  cursor: default;
}

/* Tydelig tilbud: rabattmerket rødt i hjørnet av bildet, «Spar kr X» ved prisen */
:root {
  --butikken-sale: #c62828;
}

.single-product .product-images {
  position: relative;
}

.single-product .product-images .woostify-tag-on-sale.onsale {
  background: var(--butikken-sale);
  border-radius: var(--butikken-radius);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  left: 12px;
  line-height: 1;
  padding: 0.55rem 0.75rem;
  position: absolute;
  right: auto;
  top: 12px;
  z-index: 5;
}

.products .product .woostify-tag-on-sale.onsale {
  background: var(--butikken-sale);
  color: #fff;
  font-weight: 700;
}

/* Tabeller i produktfanene (størrelse, mål, næringsinnhold) og i beskrivelsen. Brede tabeller rulles sidelengs på telefon. */
.woocommerce-Tabs-panel table {
  border-collapse: collapse;
  font-size: 0.95em;
  margin: 0 0 1.5em;
  width: 100%;
}

.woocommerce-Tabs-panel table caption {
  font-weight: 700;
  padding: 0 0 0.5em;
  text-align: left;
}

.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td {
  border: 0;
  border-bottom: 1px solid var(--butikken-line);
  padding: 0.5em 0.75em;
  text-align: left;
  white-space: nowrap;
}

.woocommerce-Tabs-panel table thead th {
  background: var(--butikken-image-bg);
}

.woocommerce-Tabs-panel div[style*="overflow"] {
  -webkit-overflow-scrolling: touch;
  margin: 0 0 1.5em;
}

.woocommerce-Tabs-panel div[style*="overflow"] table {
  margin: 0;
}

/* Bunntekst og informasjonssider: rolig typografi, tydelige lenker og luft mellom gruppene. */
.butikken-footer {
  background: var(--bk-footer, #073f2d);
  color: #fff;
  font-size: 16px;
  padding: 0 max(1.25rem, calc((100% - 1200px) / 2));
}

.butikken-footer h2,
.butikken-design .site-footer .butikken-footer h2 {
  font-family: var(--bk-font, "Helvetica Neue", Arial, sans-serif);
  font-weight: 600;
  letter-spacing: 0;
}

.butikken-footer a {
  color: inherit;
  text-decoration: none;
}

.butikken-footer a:hover,
.butikken-footer a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.butikken-footer h2,
.butikken-footer h3,
.butikken-footer p {
  color: inherit;
  margin: 0;
}

.butikken-footer-trust,
.butikken-footer-columns {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 2.5rem 0;
}

.butikken-footer-trust {
  border-bottom: 1px solid #ffffff30;
}

.butikken-footer-trust strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.butikken-footer-trust p,
.butikken-footer-about p {
  color: #d7e6dd;
  font-size: 0.95rem;
  line-height: 1.7;
}

.butikken-footer-columns h2 {
  font-size: 18px;
  margin-bottom: 1rem;
}

.butikken-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.butikken-footer li + li {
  margin-top: 0.65rem;
}

.butikken-footer-chat {
  align-items: center;
  display: inline-flex;
  gap: 0.6rem;
  margin-top: 1.25rem;
}

.butikken-footer-fb {
  display: inline-flex;
  line-height: 0;
}

.butikken-footer-fb img {
  height: 20px;
  width: 20px;
}

/* Nederste linje: © til venstre, betalingsmerkene i midten. */
.butikken-footer-bottom {
  align-items: center;
  border-top: 1px solid #ffffff30;
  display: grid;
  font-size: 0.85rem;
  gap: 1rem 2rem;
  grid-template-columns: 1fr auto 1fr;
  padding: 1.5rem 0;
}

.butikken-footer-bottom .butikken-footer-payments {
  grid-column: 2;
  justify-content: center;
}

@media (max-width: 600px) {
  .butikken-footer-bottom {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .butikken-footer-bottom .butikken-footer-payments {
    grid-column: 1;
    grid-row: 1;
  }
}

/* Betalingsmerkene i firmaenes egne farger, uten hvit bakgrunn. */
.butikken-footer-payments {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.butikken-pay-brand {
  align-items: center;
  border-radius: 4px;
  display: inline-flex;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 700;
  height: 26px;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 10px;
}

.butikken-pay-brand img {
  display: block;
  height: 14px;
  width: auto;
}

.butikken-pay-brand--klarna {
  background: #ffb3c7;
}

.butikken-pay-brand--vipps {
  background: #ff5b24;
}

.butikken-pay-brand--vipps img {
  filter: brightness(0) invert(1);
}

/* Designet gir små, grå, sperrede versaler til tekst i bunnen; merkene skal se ut som logoene. */
.butikken-footer .butikken-pay-brand {
  color: #fff !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.butikken-info {
  margin: 1rem auto 4rem;
  max-width: 1080px;
}

/* Lesesider: bruk nettstedets vanlige venstrekant; lesebredden begrenses inne i innholdet. */
body.butikken-reading-page .page-header > .woostify-container,
body.butikken-reading-page .site-content > .woostify-container {
  box-sizing: border-box;
  font-size: 18px;
}

body.butikken-reading-page .page-header {
  background: transparent;
  margin-bottom: 0;
  padding-block: 48px 24px;
}

body.butikken-reading-page .page-header .entry-title {
  color: var(--bk-text, #1b1d1a);
  font-size: clamp(32px, 5vw, 44px);
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 16px;
  text-align: left;
}

body.butikken-reading-page .woostify-breadcrumb {
  font-size: 16px;
  text-align: left;
}

body.butikken-reading-page .site-content {
  padding-top: 0;
}

body.butikken-reading-page .content-area,
body.butikken-reading-page .site-main,
body.butikken-reading-page article.page {
  float: none;
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

body.butikken-reading-page .content-area {
  max-width: min(720px, 65ch);
}

body.butikken-reading-page .butikken-story {
  color: var(--bk-text, #1b1d1a);
  font-family: var(--bk-font, system-ui, sans-serif);
  font-size: 18px;
  line-height: 1.7;
  padding-bottom: 64px;
  overflow-wrap: break-word;
  text-align: left;
}

body.butikken-reading-page .butikken-story p {
  margin: 0 0 20px;
  text-indent: 0;
}

body.butikken-reading-page .butikken-story .butikken-story-intro {
  font-size: clamp(20px, 3vw, 24px);
  line-height: 1.5;
  margin-bottom: 40px;
}

body.butikken-reading-page .butikken-story section + section {
  margin-top: 40px;
}

body.butikken-reading-page .butikken-story h2 {
  color: inherit;
  font-size: clamp(24px, 3vw, 28px);
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 16px;
}

body.butikken-reading-page .butikken-story-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-top: 24px;
}

body.butikken-reading-page .butikken-story-links a {
  align-items: center;
  color: var(--bk-accent, #0a5f43);
  display: inline-flex;
  min-height: 48px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.butikken-reading-page .butikken-story-links a:hover {
  color: var(--bk-accent-hover, #084d36);
  text-decoration-thickness: 2px;
}

body.butikken-reading-page .butikken-story a:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--bk-focus, #00662a);
  outline-offset: 4px;
}

@media (max-width: 767px) {
  body.butikken-reading-page .page-header {
    padding-block: 32px 24px;
  }

  body.butikken-reading-page .page-header > .woostify-container,
  body.butikken-reading-page .site-content > .woostify-container {
    padding-inline: 20px;
  }
}

.butikken-info-intro {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.65;
  margin-bottom: 2rem;
  max-width: 760px;
}

.butikken-info-nav {
  border-bottom: 1px solid var(--butikken-line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
}

.butikken-info-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.butikken-info-card {
  background: #fff;
  border: 1px solid var(--butikken-line);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.butikken-info h2 {
  font-size: clamp(1.65rem, 3vw, 2rem);
  margin: 0 0 1rem;
}

.butikken-info h3 {
  font-size: 1.3rem;
}

.butikken-info p,
.butikken-info li {
  line-height: 1.75;
}

.butikken-info-card p:last-child {
  margin-bottom: 0;
}

.butikken-info-reading {
  max-width: 780px;
}

.butikken-info-reading > h2 {
  border-top: 1px solid var(--butikken-line);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}

.butikken-info details {
  border-bottom: 1px solid var(--butikken-line);
  padding: 1.1rem 0;
}

.butikken-info summary {
  cursor: pointer;
  font-weight: 600;
}

.butikken-info details p {
  margin: 1rem 0 0;
}

@media (max-width: 767px) {
  .butikken-footer-trust,
  .butikken-footer-columns,
  .butikken-info-grid {
    grid-template-columns: 1fr;
  }

  .butikken-footer-trust,
  .butikken-footer-columns {
    gap: 1.5rem;
    padding: 2rem 0;
  }
}

/* Native sveiping beholder vanlig vertikal rulling og tastaturnavigasjon. */
@media (max-width: 767px) {
  .butikken-front-carousel .site-main ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    padding-bottom: 18px;
  }
  .butikken-front-carousel .site-main ul.products::before,
  .butikken-front-carousel .site-main ul.products::after {
    display: none;
  }
  .butikken-front-carousel .site-main ul.products > li.product {
    flex: 0 0 44%;
    width: 44% !important;
    max-width: none;
    margin: 0 !important;
    scroll-snap-align: start;
  }
}

/* Kortradene sveipes uten rullefelt. */
@media (max-width: 767px) {
  .butikken-card-carousel {
    scrollbar-width: none !important;
  }
  .butikken-card-carousel::-webkit-scrollbar {
    display: none;
  }
  .butikken-front-carousel .site-main ul.products.butikken-card-carousel {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .butikken-blog-carousel .butikken-blog-cards,
  .butikken-blog-carousel .elementor-posts-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
  }
  .butikken-blog-carousel .butikken-blog-cards > article,
  .butikken-blog-carousel .elementor-posts-container > article {
    flex: 0 0 86%;
    width: 86%;
    min-width: 0;
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid #e4e1da;
    scroll-snap-align: start;
  }
  .butikken-blog-carousel .butikken-blog-cards .entry-title {
    font-size: 26px;
    line-height: 1.2;
  }
  .butikken-blog-carousel .butikken-blog-cards .post-cover-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
  }
}

@media (max-width: 767px) {
  .butikken-blog-carousel .butikken-blog-cards > article {
    margin: 0 !important;
  }
  .butikken-blog-carousel .butikken-blog-cards .entry-meta {
    font-size: 12px;
    line-height: 1.5;
  }
  .butikken-blog-carousel .butikken-blog-cards .entry-title {
    margin-top: 12px;
    margin-bottom: 12px;
  }
  .butikken-blog-carousel .butikken-blog-cards .entry-summary p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.6;
  }
}

/* Inspirasjonskort i Elementor følger samme karusell som bloggkortene. */
@media (max-width: 767px) {
  .butikken-blog-carousel .site-main .butikken-editorial-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    padding-bottom: 0;
  }
  .butikken-blog-carousel .butikken-editorial-cards > .e-con.e-child {
    flex: 0 0 86%;
    margin: 0 !important;
    width: 86%;
    min-width: 0;
    scroll-snap-align: start;
  }
  .butikken-blog-carousel
    .butikken-editorial-cards
    .elementor-widget-image
    img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

/* 404-siden: søk og knapp til butikken under teksten */
.butikken-404 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 24px auto 0;
  max-width: 480px;
  width: 100%;
}

.error-404-text.text-center {
  margin-inline: auto;
  max-width: 480px;
}

.butikken-404 form,
.butikken-404 .aws-container {
  width: 100%;
}

/* Søkefeltet fra Advanced Woo Search er 30 px høyt som standard; her er det hovedhandlingen. */
.butikken-404 .aws-container .aws-search-form {
  height: 48px;
}

.butikken-404 .aws-container .aws-search-field {
  font-size: 16px;
  padding: 0 16px;
}

.butikken-404 .aws-container .aws-search-form .aws-search-btn {
  padding: 0 14px;
}

/* Ren og romslig sidekurv: temaet beholder ansvar for varelinjer og AJAX. */
body.butikken-side-cart #shop-cart-sidebar {
  width: min(448px, 100vw);
  max-width: 100vw;
  padding: 0;
  flex-flow: column nowrap;
  background: var(--bk-surface, #fff);
  color: var(--bk-text, #171d19);
}
body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head {
  background: var(--bk-accent, #0a5f43);
  color: #fff;
  border: 0;
  height: auto;
  min-height: 88px;
  padding: 20px 24px;
  gap: 12px;
}
body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-title {
  color: inherit;
  font-size: 24px;
  line-height: 1.2;
  margin: 0;
}
body.butikken-side-cart #shop-cart-sidebar .shop-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #85ff9e;
  color: #063b2a;
  font-size: 15px;
  font-weight: 700;
  min-width: 28px;
  height: 28px;
  margin: 0;
  border-radius: 50%;
}
body.butikken-side-cart #shop-cart-sidebar #close-cart-sidebar-btn {
  position: static;
  transform: none;
  margin-left: auto;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  padding: 0;
  gap: 0;
  border: 0;
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--bk-radius-sm, 4px);
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}
body.butikken-side-cart #shop-cart-sidebar #close-cart-sidebar-btn:hover {
  background: #377c64;
}
body.butikken-side-cart #shop-cart-sidebar #close-cart-sidebar-btn svg {
  width: 24px;
  height: 24px;
}
body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-content {
  min-height: 0;
  flex-flow: column nowrap;
}
body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart {
  padding: 0 24px;
  min-height: 96px;
}
/* Varene ser ut som i kassen: bildet til venstre, navn og antall under hverandre, «Fjern» øverst til høyre og prisen på linje med antallet. */
body.butikken-side-cart #shop-cart-sidebar .mini_cart_item {
  padding: 20px 0 20px 88px;
  min-height: 112px;
  list-style: none;
  border-color: #dce4de;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .mini_cart_item
  > a:not(.remove_from_cart_button) {
  padding: 0 88px 0 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
  overflow-wrap: anywhere;
}
body.butikken-side-cart #shop-cart-sidebar .mini_cart_item img {
  top: 20px;
  left: 0;
  width: 72px;
  height: 72px;
  max-width: 72px;
  max-height: 72px;
  object-fit: contain;
  border-radius: var(--bk-radius, 8px);
}
body.butikken-side-cart #shop-cart-sidebar .remove_from_cart_button {
  top: 8px;
  right: 0;
  width: auto;
  height: 48px;
  gap: 8px;
  opacity: 1;
  font-size: 16px;
  font-weight: 400;
  color: var(--bk-text-muted, #536259) !important;
  background: transparent !important;
  text-decoration: none;
  text-underline-offset: 3px;
  border-radius: var(--bk-radius-sm, 4px);
}
body.butikken-side-cart
  #shop-cart-sidebar
  .remove_from_cart_button:focus::before {
  content: none;
}
/* Men spinneren (assets/mobilark.css) står på ::before mens varen fjernes, og knappen har fokus etter klikket. */
body.butikken-side-cart
  #shop-cart-sidebar
  .remove_from_cart_button.is-loading:focus::before {
  content: "";
}
body.butikken-side-cart #shop-cart-sidebar .mini-cart-product-infor {
  margin-top: 12px;
  align-items: center;
  gap: 12px;
}
/* Antallsvelgeren som i kassen: 40 px høy, 40 px knapper med lyse skillelinjer. */
body.butikken-side-cart #shop-cart-sidebar .mini-cart-quantity {
  height: 40px;
  flex-shrink: 0;
}
body.butikken-side-cart #shop-cart-sidebar .mini-cart-quantity .qty {
  width: 48px;
  font-size: 16px;
}
/* Prisen til høyre på linje med antallet, som i kassen. */
body.butikken-side-cart #shop-cart-sidebar .mini-cart-product-price {
  position: static;
  margin-left: auto;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  white-space: nowrap;
  color: var(--bk-text);
}
body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart__bottom {
  padding: 12px 24px max(8px, env(safe-area-inset-bottom));
  background: #f2f6f1;
  border-top: 1px solid #dce4de;
}
body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart__total {
  height: auto;
  min-height: 36px;
  padding: 0;
  margin: 0 0 8px;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__total
  strong {
  font-size: 18px;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__total
  .amount {
  font-size: 26px;
  color: #111;
  white-space: nowrap;
}
body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--bk-2, 8px);
  margin: 0;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__buttons
  .checkout {
  order: -1;
  min-height: 48px;
  height: 48px;
  background: var(--bk-accent, #0a5f43);
  color: #fff;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__buttons
  .button:not(.checkout) {
  min-height: 48px;
  border: 0;
  background: transparent;
  color: var(--bk-accent, #0a5f43);
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__empty-message {
  padding: 32px 24px;
}
body.butikken-side-cart
  #shop-cart-sidebar
  :is(a, button, [role="button"]):focus-visible {
  outline: 2px solid var(--bk-focus, #00662a);
  outline-offset: 2px;
}
@media (max-width: 380px) {
  body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head {
    padding: 16px;
    gap: 8px;
  }
  body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-title {
    font-size: 22px;
  }
  body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart {
    padding: 0 16px;
  }
  body.butikken-side-cart #shop-cart-sidebar .mini_cart_item {
    padding-left: 68px;
  }
  body.butikken-side-cart #shop-cart-sidebar .mini_cart_item img {
    width: 56px;
    height: 56px;
    max-width: 56px;
    max-height: 56px;
  }
  body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart__bottom {
    padding: 12px 16px max(8px, env(safe-area-inset-bottom));
  }
}

/* Samme ikonstrek og tydelige tilstander for alle handlinger i sidekurven. */
body.butikken-side-cart #shop-cart-sidebar .butikken-cart-icon {
  flex: 0 0 auto;
  pointer-events: none;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .remove_from_cart_button
  .butikken-cart-icon {
  width: 16px;
  height: 16px;
}
body.butikken-side-cart #shop-cart-sidebar .remove_from_cart_button:hover {
  color: var(--bk-accent, #0a5f43) !important;
  text-decoration: underline;
}
body.butikken-side-cart #shop-cart-sidebar button.mini-cart-product-qty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #263c30;
  padding: 0;
  margin: 0;
  width: 40px;
  min-height: 0;
  height: auto; /* strekkes til boksens 38 px, så ikonet står midt i */
  cursor: pointer;
}
body.butikken-side-cart
  #shop-cart-sidebar
  button.mini-cart-product-qty[data-qty="minus"] {
  border-right: 1px solid #dce4de;
}
body.butikken-side-cart
  #shop-cart-sidebar
  button.mini-cart-product-qty[data-qty="plus"] {
  border-left: 1px solid #dce4de;
}
body.butikken-side-cart #shop-cart-sidebar button.mini-cart-product-qty svg {
  width: 16px;
  height: 16px;
}
body.butikken-side-cart
  #shop-cart-sidebar
  button.mini-cart-product-qty:hover:not(:disabled) {
  color: var(--bk-accent, #0a5f43);
  background: var(--bk-accent-tinted, #e7f1ec);
}
body.butikken-side-cart
  #shop-cart-sidebar
  button.mini-cart-product-qty:active:not(:disabled) {
  background: #cce3d5;
}
body.butikken-side-cart
  #shop-cart-sidebar
  button.mini-cart-product-qty:disabled {
  color: #9aa69f;
  background: #f5f7f5;
  cursor: not-allowed;
}
/* +/- har ingen overgang (se lista under): de skifter mellom aktiv og deaktivert ved hvert trykk og tegnes på nytt
   etterpå, så en overgang ville tonet fargen ut og inn. */
/* Temaet demper antall og knapper og slår av musen mens det lagrer, så +/- blinker ved hvert trykk. Summen dempes
   av oss, og handlekurv.js stopper trykk mens temaet lagrer. */
html.mini-cart-updating body.butikken-side-cart #shop-cart-sidebar .mini-cart-quantity,
html.mini-cart-updating
  body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__buttons {
  opacity: 1;
}
html.mini-cart-updating body.butikken-side-cart #shop-cart-sidebar .mini-cart-quantity {
  pointer-events: auto;
}
body.butikken-side-cart #shop-cart-sidebar .mini-cart-quantity {
  border-color: #b6c7bc;
}
body.butikken-side-cart #shop-cart-sidebar .mini-cart-quantity input.qty {
  box-shadow: none;
  line-height: normal;
  appearance: textfield;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__buttons
  .button {
  gap: 8px;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__buttons
  .checkout:hover {
  background: var(--bk-accent, #0a5f43);
  color: #fff;
}
body.butikken-side-cart
  #shop-cart-sidebar
  .woocommerce-mini-cart__buttons
  .button:not(.checkout):hover {
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart__buttons .button:hover {
  box-shadow: none;
  transform: none;
}
body.butikken-side-cart
  #shop-cart-sidebar
  :is(
    .remove_from_cart_button,
    #close-cart-sidebar-btn,
    .woocommerce-mini-cart__buttons .button
  ) {
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  body.butikken-side-cart
    #shop-cart-sidebar
    :is(
      .remove_from_cart_button,
      #close-cart-sidebar-btn,
      .woocommerce-mini-cart__buttons .button
    ) {
    transition: none;
  }
}

/* Meldinger for lager og antall flytter ikke innhold eller tastaturfokus. */
.butikken-toast {
  position: fixed;
  z-index: 100000;
  top: max(16px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  width: min(440px, calc(100% - 32px));
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 48px;
  gap: 12px;
  align-items: center;
  padding: 12px 8px 12px 16px;
  border: 1px solid #b6c7bc;
  border-radius: var(--bk-radius, 8px);
  background: var(--bk-surface, #fff);
  color: var(--bk-text, #171d19);
  box-shadow: 0 8px 32px #142d2126;
  font-size: 15px;
  line-height: 1.5;
}
.butikken-toast[hidden] {
  display: none;
}
.admin-bar .butikken-toast {
  top: 64px;
}
.butikken-toast-symbol {
  border: 2px solid var(--bk-accent, #0a5f43);
  color: var(--bk-accent, #0a5f43);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  text-align: center;
  font-weight: 700;
  line-height: 20px;
}
.butikken-toast button {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 4px;
  padding: 0;
  background: transparent;
  color: inherit;
  font-size: 28px;
  cursor: pointer;
}
.butikken-toast button:hover {
  background: var(--bk-accent-tinted, #e7f1ec);
}
.butikken-toast button:focus-visible {
  outline: 2px solid var(--bk-focus, #00662a);
}
@media (max-width: 991px) {
  body.butikken-compact-mobile-header
    .site-header
    .site-tools
    :is(.header-search-icon, .shopping-bag-button) {
    width: 44px;
    height: 44px;
    margin-left: 0;
    background: transparent;
  }
  body.butikken-compact-mobile-header
    .site-header
    .site-tools
    .woostify-svg-icon
    svg {
    width: 20px;
    height: 20px;
  }
  body.butikken-compact-mobile-header
    .site-header
    .shopping-bag-button
    .shop-cart-count {
    min-width: 18px;
    height: 18px;
    top: 0;
    right: 0;
    font-size: 10px;
  }
  body.butikken-compact-mobile-header .site-header .woostify-icon-bar {
    width: 44px;
    height: 44px;
  }
  body.butikken-compact-mobile-header .site-header .woostify-icon-bar span,
  body.butikken-compact-mobile-header
    .site-header
    .woostify-icon-bar
    span::before,
  body.butikken-compact-mobile-header
    .site-header
    .woostify-icon-bar
    span::after {
    width: 22px;
    height: 2px;
  }
}

/* Ordreoversikten i kassen (Kustom), som handlekurven: bilde, navn, antallsvelger, pris til høyre. */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
  display: none;
}

/* Woostify viser raden som flex og midtstiller cellene; her står de øverst, og raden har streken. */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item {
  align-items: flex-start;
  border-bottom: 1px solid var(--bk-border-subtle, #e4e7e4);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
  border-bottom: 0;
  padding: 20px 0;
  vertical-align: top;
}

/* WooCommerce setter &nbsp; etter navnet (review-order.php); linjehøyde 0 gjør den usynlig, navnet og antallet har sin egen. */
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  line-height: 0;
  min-height: 112px;
  padding-left: 88px;
  position: relative;
}

/* Bildet til venstre i cellen; navn og antall står under hverandre ved siden av. */
.woocommerce-checkout .butikken-co-thumb {
  left: 0;
  position: absolute;
  top: 20px;
}

.woocommerce-checkout .butikken-co-thumb img {
  aspect-ratio: 1;
  border-radius: var(--bk-radius-md, 8px);
  display: block;
  height: 72px;
  object-fit: contain;
  width: 72px;
}

.woocommerce-checkout .butikken-co-name {
  display: block;
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: 12px;
}

.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  td.product-total {
  font-weight: 600;
  padding-left: 16px;
  text-align: right;
  white-space: nowrap;
}

/* Antallsvelgeren: kant og skillelinjer som i handlekurven. Woostify legger − og + oppå feltet; her står de ved siden av. */
.woocommerce-checkout .product-name .quantity {
  align-items: stretch;
  /* Plass til − og + fra start: Woostify legger dem til med JavaScript, ellers hopper boksen. */
  justify-content: center;
  width: 112px !important;
  background: #fff;
  border: 1px solid #b6c7bc;
  border-radius: var(--bk-radius-sm, 4px);
  /* Blokk, ikke inline: ellers blir mellomrommet foran i malen et innrykk mot navnet. */
  display: flex;
  height: 36px;
  overflow: hidden;
  line-height: normal;
}

.woocommerce-checkout .product-name .quantity .product-qty {
  align-items: center;
  cursor: pointer;
  display: flex;
  height: auto;
  justify-content: center;
  position: static;
  width: 36px;
}

.woocommerce-checkout .product-name .quantity .product-qty[data-qty="minus"] {
  border-right: 1px solid #dce4de;
}

.woocommerce-checkout .product-name .quantity .product-qty[data-qty="plus"] {
  border-left: 1px solid #dce4de;
  order: 3;
}

/* Deaktivert (minste antall eller alt på lager): lys og dempet, som i handlekurven fra siden, ikke en mørk flate. */
.woocommerce-checkout .product-name .quantity .product-qty.is-disabled {
  background: #f5f7f5;
  color: #9aa69f;
  cursor: not-allowed;
  pointer-events: none;
}

.woocommerce-checkout .product-name .quantity .product-qty:hover {
  background: var(--bk-accent-tinted, #e7f1ec);
}

.woocommerce-checkout .product-name .quantity .qty {
  appearance: textfield;
  border: 0;
  box-shadow: none;
  font-size: 16px;
  height: 100%;
  order: 2;
  padding: 0;
  text-align: center;
  width: 40px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  padding: 14px 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  color: var(--bk-text, #111);
  font-size: 18px;
  font-weight: 600;
}

/* Lastelaget WooCommerce legger over ordreoversikten (blockUI) er hvitt og blinker mot den beige bakgrunnen. */
.woocommerce-checkout .blockUI.blockOverlay {
  background: var(--bk-bg, #faf6f1) !important;
}

/* Mindre luft over ordreoversikten i kassen. */
.woocommerce-checkout form.checkout {
  margin-top: 0;
}

.woocommerce-checkout #kco-wrapper {
  padding-top: 0;
}

/* Kundeservice, vilkår og personvern følger samme lesekolonne som historien. */
body.butikken-reading-page .butikken-info { margin: 0 0 64px; max-width: none; }
body.butikken-reading-page .butikken-info-intro { font-size: clamp(20px, 3vw, 24px); line-height: 1.5; margin: 0 0 32px; max-width: none; }
body.butikken-reading-page .butikken-info-reading { max-width: none; }
body.butikken-reading-page .butikken-info p,
body.butikken-reading-page .butikken-info li { font-size: 18px; line-height: 1.7; text-align: left; text-indent: 0; }
body.butikken-reading-page .butikken-info p { margin: 0 0 20px; }
body.butikken-reading-page .butikken-info h2 { font-size: clamp(24px, 3vw, 28px); font-weight: 600; line-height: 1.3; margin: 40px 0 16px; padding: 0; border: 0; }
body.butikken-reading-page .butikken-info-grid { display: block; }
body.butikken-reading-page .butikken-info-card { background: transparent; border: 0; padding: 0; }
body.butikken-reading-page .butikken-info-nav { border: 0; gap: 8px 24px; margin: 0 0 32px; padding: 0; }
body.butikken-reading-page .butikken-info-nav a { align-items: center; display: inline-flex; min-height: 48px; }
body.butikken-reading-page .butikken-info a { color: var(--bk-accent, #0a5f43); text-decoration: underline; text-underline-offset: 4px; }
body.butikken-reading-page .butikken-info a:focus-visible,
body.butikken-reading-page .butikken-info summary:focus-visible { border-radius: 4px; outline: 2px solid var(--bk-focus, #00662a); outline-offset: 4px; }
body.butikken-reading-page .butikken-info details { border-bottom: 1px solid var(--bk-border-subtle, #e4e1da); padding: 0; }
body.butikken-reading-page .butikken-info summary { align-items: center; display: flex; font-size: 18px; gap: 16px; justify-content: space-between; line-height: 1.5; list-style: none; min-height: 64px; padding: 16px 0; }
body.butikken-reading-page .butikken-info summary::-webkit-details-marker { display: none; }
body.butikken-reading-page .butikken-info summary::after { content: '+'; flex-shrink: 0; font-size: 26px; font-weight: 400; }
body.butikken-reading-page .butikken-info details[open] > summary::after { content: '−'; }
body.butikken-reading-page .butikken-info details p { margin: 0 0 20px; }

/* Merket er absolutt plassert: vent på riktig antall uten at toppmenyen flytter seg. */
body.butikken-cart-count-sync:not(.butikken-cart-count-ready) .site-header .shopping-bag-button .shop-cart-count { visibility: hidden; }

/* Årstallet og navnebyttet er del av historien, med samme farger og skrift som forsiden. */
body.butikken-reading-page .butikken-history-start { align-items: baseline; border: 0; display: grid; gap: 8px 32px; grid-template-columns: 184px minmax(0, 1fr); margin-bottom: 32px; }
body.butikken-reading-page .butikken-history-start .butikken-history-year { color: var(--bk-accent, #0a5f43); font-size: clamp(64px, 10vw, 88px); font-weight: 600; letter-spacing: -0.06em; line-height: 1; margin: 0; }
body.butikken-reading-page .butikken-history-start h2 { align-self: auto; margin: 0; max-width: none; }
body.butikken-reading-page .butikken-history-names { background: var(--bk-accent-tinted, #e7f1ec); border-radius: 8px; color: var(--bk-accent, #0a5f43); display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; font-size: clamp(20px, 3vw, 26px); line-height: 1.4; margin: 28px 0 32px; padding: 24px; }
body.butikken-reading-page .butikken-history-names strong { font-weight: 600; }
@media (max-width: 767px) {
  body.butikken-reading-page .butikken-history-start { gap: 12px; grid-template-columns: 1fr; }
  body.butikken-reading-page .butikken-history-start h2 { max-width: none; }
  body.butikken-reading-page .butikken-history-names { align-items: flex-start; flex-direction: column; padding: 20px; }
}

/* Innledning og illustrasjon samles rett under brødsmulene. */
body.butikken-reading-page .butikken-reading-lead { display: grid; grid-template-columns: minmax(0, 1fr) 128px; align-items: start; gap: 24px; margin: 0 0 32px; }
body.butikken-reading-page .butikken-reading-lead > p { font-size: 20px; line-height: 1.5; margin: 0; }
body.butikken-reading-page .butikken-reading-art { display: block; width: 128px; height: auto; margin: 0; }
body.butikken-reading-page .butikken-reading-lead + .butikken-info-grid > section:first-child h2,
body.butikken-reading-page .butikken-reading-lead + .butikken-info-reading > h2:first-child { margin-top: 0; }
@media (max-width: 540px) {
  body.butikken-reading-page .butikken-reading-lead { gap: 16px; grid-template-columns: minmax(0, 1fr) 88px; }
  body.butikken-reading-page .butikken-reading-lead > p { font-size: 18px; }
  body.butikken-reading-page .butikken-reading-art { width: 88px; }
}

/* Handlekurvikonet skal stå uten høyremarg i toppmenyen. */
body .site-header .site-tools .tools-icon.shopping-bag-button.shopping-cart {
  margin-right: 0;
}

/* Ordreoversikten får en egen hvit flate, også når Kustom oppdaterer tabellen. */
body.butikken-checkout-summary-card #kco-order-review {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--bk-border-subtle, #e4e1da);
  border-radius: var(--bk-radius-md, 8px);
  padding: var(--bk-6, 24px);
}
body.butikken-checkout-summary-card #kco-order-review .woocommerce-checkout-review-order-table {
  margin-bottom: 0;
}
body.butikken-checkout-summary-card #kco-order-review .blockUI.blockOverlay {
  background: #fff !important;
}
/* Rammen rundt Kustom følger ordreoversikten uten å endre innholdet i betalingsvinduet. */
body.butikken-checkout-summary-card #kco-iframe #klarna-checkout-container {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--bk-border-subtle, #e4e1da);
  border-radius: var(--bk-radius-md, 8px);
  overflow: hidden;
}
/* Iframe som blokk fjerner luft under grunnlinjen og lar rammen klippe hele den hvite flaten. */
body.butikken-checkout-summary-card #kco-iframe #klarna-checkout-iframe {
  display: block;
  border: 0;
  border-radius: 0;
}
@media (max-width: 600px) {
  body.butikken-checkout-summary-card #kco-order-review {
    padding: var(--bk-4, 16px);
  }
}

/* Anbefalingene er rolige produktrader med samme rytme, også når merket mangler. */
.butikken-design.butikken-recommendations :is(.up-sells, .related) {
  clear: both;
  padding-top: var(--bk-8);
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) > h2 {
  font-size: var(--bk-text-xl);
  margin-bottom: var(--bk-4);
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--bk-6);
  margin: 0;
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) ul.products::before,
.butikken-design.butikken-recommendations :is(.up-sells, .related) ul.products::after {
  display: none;
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) ul.products > li.product {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-image-wrapper {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--bk-radius-md);
  background: var(--butikken-image-bg);
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-image-wrapper img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

/* Rutene her er 4:3, ikke kvadratiske: frilagte bilder står hele i ruta i stedet for utsnittet (som er regnet for kvadrat). */
html body.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-image-wrapper img.product-loop-image.butikken-utsnitt {
  box-sizing: border-box;
  height: 100%;
  object-fit: contain;
  padding: 6%;
  position: static;
  width: 100%;
}

html body.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-hover-image.butikken-utsnitt {
  background-position: center;
  background-size: contain;
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(24px, auto) auto auto;
  row-gap: var(--bk-2, 8px);
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) .butikken-brand--loop {
  grid-row: 1;
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) .woocommerce-loop-product__title {
  grid-row: 2;
}

.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-meta {
  grid-row: 3;
}

@media (max-width: 991px) {
  .butikken-design.butikken-recommendations :is(.up-sells, .related) ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--bk-6) var(--bk-4);
  }
}

/* Temaets kvadratiske bildelenke må følge den kompakte bilderuta. */
/* Lenken fyller hele bredden; ellers vant den kvadratiske regelen, og bildet stod til venstre i ruta. */
html body.butikken-design.butikken-recommendations :is(.up-sells, .related) .product-loop-image-wrapper > a {
  aspect-ratio: 4 / 3;
  height: 100%;
  width: 100%;
}

/* Produktmerker står til venstre; merkekarusellens layout gjelder bare merkelenkene. */
body .butikken-brand--loop,
body .butikken-brand--product {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  min-height: 24px;
  padding: 0;
  text-align: left;
}
body img.butikken-loop-brand-logo {
  display: block;
  width: 80px;
  height: 24px;
  margin: 0;
  object-fit: contain;
  object-position: left center;
  filter: grayscale(1);
  /* Hvite bildeflater går i ett med butikkens lyse bakgrunn. */
  mix-blend-mode: multiply;
}
body .butikken-brand--product img.butikken-loop-brand-logo { width: 120px; height: 36px; }
.butikken-search-brand { display: block; margin-bottom: var(--bk-1, 4px); }

/* Bare logoer merket som hvite i innstillingene mørknes. */
body img.butikken-loop-brand-logo.butikken-brand-darken { filter: brightness(0); }

/* Luft mellom merkelogoen og produktnavnet. */
body.butikken-design .products .product .butikken-brand--loop,
body .butikken-brand--product { margin-bottom: var(--bk-2, 8px); }


/* Fjern-lenken står over varebeløpet, ved siden av produktnavnet. */
#kco-order-review .butikken-co-remove {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-height: 48px;
  margin-top: -12px;
  margin-bottom: 16px;
  color: var(--bk-text-muted, #53635a);
  font-size: 14px;
  font-weight: 400;
}
#kco-order-review .butikken-co-remove:hover { text-decoration: underline; }
#kco-order-review .butikken-co-remove:focus-visible { outline: 2px solid var(--bk-focus, #00662a); outline-offset: 2px; }
#kco-order-review .butikken-co-subtotal { display: block; }

/* Tomt antallsmerke skjules også etter en fragmentoppdatering. */
body.butikken-design .site-header .shop-cart-count.butikken-count-empty { display: none; }

/* Oppsummeringen i kassen som i sidekurven: Produkter, rabatter, Frakt og Totalt å betale som enkle rader med
   dempede navn og beløp, og totalen svart og halvfet. */
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table tfoot tr:not(.order-total):not(.cart-discount) > :is(th, td) {
  color: var(--bk-text-subtle, #5e625c);
  font-weight: 400;
}
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) {
  align-items: baseline;
  border: 0;
  display: flex;
  flex-direction: row;
  gap: var(--bk-4, 16px);
  justify-content: space-between;
}
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) > :is(th, td) {
  border: 0;
  padding: 4px 0;
  width: auto;
}
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal > :is(th, td) { padding-top: 16px; }
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { text-align: right !important; }
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table .woocommerce-shipping-methods { margin: 0; }
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li,
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table .woocommerce-shipping-methods label { margin: 0; line-height: 24px; }
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table .order-total,
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table .order-total > :is(th, td) { border-bottom: 0; }
body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table .order-total > :is(th, td) { padding-top: 12px; }
body.butikken-checkout-shipping-summary #kco-order-review .blockUI.blockOverlay { background: transparent !important; }

/* Kvittering: en rolig oppsummering og adressekort som holder innholdet innenfor flaten. */
body.butikken-order-received .woocommerce-order {
  max-width: 880px;
  margin-inline: 0 auto;
  padding-block: var(--bk-8, 32px) var(--bk-12, 48px);
  text-align: left;
}
body.butikken-order-received .woocommerce-thankyou-order-received {
  background: transparent;
  border: 0;
  outline: 0;
  padding: 0;
  color: var(--bk-text);
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 var(--bk-6, 24px);
  text-align: left;
  text-wrap: balance;
}
body.butikken-order-received ul.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bk-6, 24px);
  padding: var(--bk-6, 24px);
  margin: 0 0 var(--bk-6, 24px);
  border: 0;
  border-radius: var(--bk-radius-md, 8px);
  background: var(--bk-accent-tinted, #e7f1ec);
  list-style: none;
  text-align: left;
}
body.butikken-order-received ul.woocommerce-order-overview::before,
body.butikken-order-received ul.woocommerce-order-overview::after { display: none; }
body.butikken-order-received ul.woocommerce-order-overview li {
  float: none; width: auto; border: 0; margin: 0; padding: 0;
  text-transform: none; font-size: 14px; color: var(--bk-text-subtle, #575e5a);
}
body.butikken-order-received ul.woocommerce-order-overview li strong {
  display: block; margin-top: 4px; font-size: 18px; font-weight: 600;
  color: var(--bk-text); overflow-wrap: anywhere;
}
body.butikken-order-received .butikken-paid-payment-receipt { display: none !important; }
body.butikken-order-received .woocommerce-order-details {
  padding: var(--bk-6, 24px); background: var(--bk-surface, #fff);
  border-radius: var(--bk-radius-md, 8px); margin: 0 0 var(--bk-6, 24px);
}
body.butikken-order-received .woocommerce-customer-details {
  padding: 0; background: transparent; margin: 0;
}
body.butikken-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bk-6, 24px); width: 100%; margin: 0;
}
body.butikken-order-received .woocommerce-columns--addresses::before,
body.butikken-order-received .woocommerce-columns--addresses::after { display: none; }
body.butikken-order-received .woocommerce-customer-details .woocommerce-column {
  float: none; width: auto; min-width: 0; margin: 0;
  padding: var(--bk-6, 24px); border: 0; border-radius: var(--bk-radius-md, 8px);
  background: var(--bk-surface, #fff);
}
body.butikken-order-received :is(.woocommerce-order-details, .woocommerce-customer-details) h2 {
  font-size: 22px; font-weight: 600; line-height: 1.3; text-transform: none;
  text-align: left; margin: 0 0 var(--bk-5, 20px); padding: 0; border: 0;
}
body.butikken-order-received .woocommerce-table { border: 0; width: 100%; margin: 0; }
body.butikken-order-received .woocommerce-table :is(th, td) {
  padding: 12px 8px; border-color: var(--bk-border-subtle); text-transform: none;
}
body.butikken-order-received .woocommerce-table :is(th, td):last-child { text-align: right; }
body.butikken-order-received .woocommerce-table .amount { color: #000; font-variant-numeric: tabular-nums; }
body.butikken-order-received .woocommerce-customer-details address {
  border: 0; padding: 0; margin: 0; line-height: 1.7; font-style: normal;
  overflow-wrap: anywhere; background: transparent;
}
body.butikken-order-received .woocommerce-customer-details address p { margin: 8px 0 0; }
@media (max-width: 600px) {
  body.butikken-order-received ul.woocommerce-order-overview { gap: 16px; padding: 16px; }
  body.butikken-order-received .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: 1fr; gap: 16px; }
  body.butikken-order-received :is(.woocommerce-order-details, .woocommerce-customer-details .woocommerce-column) { padding: 16px; }
  body.butikken-order-received .woocommerce-table :is(th, td) { padding-inline: 4px; overflow-wrap: anywhere; }
}

/* Et lite norsk flagg ved bedriftens egen introduksjon. */
.butikken-footer-flag { display: inline-block; width: 36px; height: 26px; margin-right: 12px; flex-shrink: 0; border-radius: 0; background: linear-gradient(to right, transparent 0 10px, #24354c 10px 14px, transparent 14px), linear-gradient(to bottom, transparent 0 11px, #24354c 11px 15px, transparent 15px), linear-gradient(to right, transparent 0 7px, #f3eee3 7px 17px, transparent 17px), linear-gradient(to bottom, #ae6452 0 8px, #f3eee3 8px 18px, #ae6452 18px); vertical-align: middle; }
.butikken-footer-about h2 { display: flex; align-items: center; }

/* Merkelogoen får luft også i nylig sette produkter. */
body.butikken-design .woostify-product-recently-viewed-section .butikken-brand--loop { margin-bottom: var(--bk-3, 12px); }

/* Gavesiden redigeres som vanlig sideinnhold i WordPress. */
.butikken-gifts { max-width: 1200px; margin-inline: auto; }
.butikken-gifts-intro { max-width: 65ch; font-size: 18px; line-height: 1.6; margin-bottom: 24px; }
.butikken-gifts-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-block: 24px 40px; }
.butikken-gifts-links a { display: flex; align-items: center; min-height: 64px; padding: 16px 20px; border-radius: var(--bk-radius-md, 8px); background: var(--bk-accent-tinted, #e7f1ec); color: var(--bk-accent); font-weight: 600; }
.butikken-gifts-links a:hover { background: var(--bk-border-subtle); }
.butikken-gifts-links a:focus-visible { outline: 2px solid var(--bk-focus, #00662a); outline-offset: 4px; }
.butikken-gifts > section { margin-block: 40px; }
.butikken-gifts > section > p { max-width: 65ch; }
@media (max-width: 600px) { .butikken-gifts-links { grid-template-columns: 1fr; } }

/* Kvitteringsikoner følger samme grønne strek som leveranseikonet. */
body.butikken-order-received .woocommerce-order-details > h2 { display: flex; align-items: center; gap: var(--bk-3, 12px); }
body.butikken-order-received .woocommerce-order-details > h2::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230a5f43%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%203h8v4H8zM8%205H5v16h14V5h-3M8%2011h8M8%2015h5%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
body.butikken-order-received .woocommerce-column--billing-address > h2 { display: flex; align-items: center; gap: var(--bk-3, 12px); }
body.butikken-order-received .woocommerce-column--billing-address > h2::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230a5f43%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%203h12v18l-3-2-3%202-3-2-3%202zM9%207h6M9%2011h6M9%2015h3%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
body.butikken-order-received .woocommerce-column--shipping-address > h2 { display: flex; align-items: center; gap: var(--bk-3, 12px); }
body.butikken-order-received .woocommerce-column--shipping-address > h2::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230a5f43%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2010l9-7%209%207M5%209v12h14V9M9%2021v-7h6v7%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
body.butikken-order-received .woocommerce-customer-details .woocommerce-column .woocommerce-column__title {
  padding: 0 !important; margin: 0 0 var(--bk-5, 20px) !important; border: 0;
}
body.butikken-order-received .woocommerce-customer-details .woocommerce-column address { padding: 0 !important; }

/* Tom handlekurv har sin egen ferdige visning, uten kasseskjema som flytter på innholdet. */
.butikken-empty-checkout { max-width: 640px; margin: 24px auto 48px 0; padding: 32px; background: var(--bk-surface, #fff); border-radius: var(--bk-radius-md, 8px); }
.butikken-empty-checkout > svg { display: block; color: var(--bk-accent, #0a5f43); margin-bottom: 20px; }
.butikken-empty-checkout h2 { font-size: 28px; margin: 0 0 12px; }
.butikken-empty-checkout p { margin-bottom: 24px; }
@media (max-width: 600px) { .butikken-empty-checkout { padding: 24px; } }

.butikken-lager-locate { display: inline-flex; align-items: center; justify-content: center; gap: var(--bk-2, 8px); }
.butikken-lager-locate > svg { flex: 0 0 20px; }
/* Hvit tekst på grønn knapp; .butikken-design button setter ellers tekstfargen. */
.butikken-lager .butikken-lager-locate { color: #fff; }
.butikken-lager .butikken-lager-locate:hover { background: var(--bk-accent-hover, var(--butikken-brand)); border-color: var(--bk-accent-hover, var(--butikken-brand)); color: #fff; }

/* Julegavenes inngang: varm krem, grangrønt og burgunderrødt gavebånd. */
.butikken-christmas-hero { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 32px; padding: clamp(24px, 5vw, 64px); margin-bottom: 32px; background: #173f32; color: #faf4e9; border-radius: var(--bk-radius-md, 8px); overflow: hidden; }
.butikken-christmas-hero h2 { color: inherit; font-size: clamp(32px, 4vw, 52px); line-height: 1.08; margin: 0 0 20px; max-width: 12ch; }
.butikken-christmas-hero p { color: inherit; max-width: 43ch; font-size: 18px; line-height: 1.6; margin: 0 0 24px; }
.butikken-christmas-hero a { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 20px; border-radius: 4px; background: #faf4e9; color: #173f32; font-weight: 600; }
.butikken-christmas-hero a:hover { background: #eee1cd; }
.butikken-christmas-hero a:focus-visible { outline: 3px solid #faf4e9; outline-offset: 5px; }
.butikken-christmas-parcels { position: relative; height: 260px; margin-inline: 12px; }
.butikken-christmas-parcel { position: absolute; bottom: 12px; width: 150px; height: 155px; border-radius: 4px; background: #eee1cd; }
.butikken-christmas-parcel::before { content: ''; position: absolute; inset: 0 62px; background: #813b42; }
.butikken-christmas-parcel::after { content: ''; position: absolute; left: 0; right: 0; top: 38px; height: 22px; background: #813b42; }
.butikken-christmas-parcel span { position: absolute; width: 68px; height: 36px; top: -29px; left: 13px; border: 9px solid #813b42; border-radius: 50% 50% 0 50%; transform: rotate(20deg); }
.butikken-christmas-parcel span + span { left: 69px; transform: rotate(-20deg); border-radius: 50% 50% 50% 0; }
.butikken-christmas-parcel:first-child { left: 4%; transform: rotate(-9deg); }
.butikken-christmas-parcel:last-child { right: 0; bottom: 28px; width: 125px; height: 190px; background: #b9cdbb; transform: rotate(8deg); }
.butikken-christmas-parcel:last-child::before { inset-inline: 51px; }
.butikken-christmas-parcel:last-child span { left: 3px; }
.butikken-christmas-parcel:last-child span + span { left: 59px; }
.butikken-gifts .butikken-gifts-links a { background: #f0e6d8; color: #173f32; }
.butikken-gifts .butikken-gifts-links a:hover { background: #e8d9c4; }
@media (max-width: 700px) {
 .butikken-christmas-hero { grid-template-columns: 1fr; gap: 12px; }
 .butikken-christmas-hero h2 { max-width: 16ch; }
 .butikken-christmas-parcels { height: 200px; max-width: 300px; width: 100%; justify-self: center; }
 .butikken-christmas-parcel { height: 120px; }
 .butikken-christmas-parcel:last-child { height: 145px; bottom: 12px; }
}

.butikken-design .site-main .butikken-christmas-hero h2 { color: #faf4e9; line-height: 1.08; }


/* Luft under åpne produktfaner, også når første avsnitt mangler toppmarg. */
body.single-product .butikken-fane { padding-top: 20px; }

/* Mellomtitler i en fane («Sammensetning», «Tilsetningsstoffer») er underordnet fanetittelen, ikke større enn den. */
body.single-product .butikken-fane :is(h2, h3, h4) {
  font-size: var(--bk-text-md, 16px);
  font-weight: 600;
  line-height: 1.5;
  margin: var(--bk-4, 16px) 0 var(--bk-1, 4px);
}

body.single-product .butikken-fane > :is(h2, h3, h4):first-child { margin-top: 0; }

/* Mobil produkttopp: kort vei til bildet, med uendret bildefelt. */
@media (max-width: 991px) {
  body.butikken-compact-mobile-header .site-header-inner > .woostify-container {
    min-height: 80px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  body.butikken-compact-mobile-header .site-header .custom-logo {
    max-height: 56px;
    max-width: 100%;
  }
  body.butikken-compact-mobile-header .site-header .site-tools :is(.header-search-icon, .shopping-bag-button),
  body.butikken-compact-mobile-header .site-header .woostify-icon-bar {
    width: 48px;
    height: 48px;
  }
  body.butikken-mobile-product-breadcrumbs.single-product .content-top {
    padding: 8px 0;
  }

}

/* Vis produktgalleriet med en gang, uten temaets to sekunder lange innfading. */
body.butikken-instant-product-gallery.single-product .product-gallery.has-loading-effect .product-images {
  animation: none;
  opacity: 1;
}

/* Hopplenkene vises øverst til venstre når tastaturbrukeren tabber til dem. Temaet flytter dem 160 000 px opp
   og klipper dem med !important, også ved fokus. */
body .site-header .skip-link:focus {
	background: var(--bk-surface, #fff);
	color: var(--bk-accent, #0a5f43);
	border: 2px solid var(--bk-focus, #00662a);
	border-radius: var(--bk-radius-sm, 4px);
	clip: auto !important;
	clip-path: none !important;
	font-size: 16px;
	font-weight: 600;
	height: auto !important;
	left: 8px !important;
	outline: none;
	padding: 12px 16px;
	position: fixed !important;
	top: 8px !important;
	width: auto !important;
	transition: none; /* temaets overgang lar lenken fly inn fra 160 000 px over siden */
	z-index: 100000;
}

/* Under adminlinjen for innloggede: headeren er sticky og holder lenken under linjen. */
body.admin-bar .site-header .skip-link:focus {
	top: calc(var(--wp-admin--admin-bar--height, 32px) + 8px) !important;
}

/* Den faste headeren skal ikke dekke det som får fokus eller som en hopplenke går til. Margen settes på alt under
   headeren, ikke som scroll-padding på html: da ligger søkefeltet i headeren innenfor margen, og Chrome ruller
   siden opp for hvert tegn man skriver for å vise markøren. */
:where(body.butikken-design #view > :not(.site-header), body.butikken-design #view > :not(.site-header) *) {
	scroll-margin-top: 144px;
}
:where(body.butikken-design.admin-bar #view > :not(.site-header), body.butikken-design.admin-bar #view > :not(.site-header) *) {
	scroll-margin-top: calc(144px + var(--wp-admin--admin-bar--height, 32px));
}

/* Logoen er en innebygd lenke rundt et blokkbilde; som blokk får fokusringen hele logoen. */
body .site-header .custom-logo-link {
	display: inline-block;
}

/* Innledningen på lesesidene og kategorihodet i en rolig boks, og tekst i en lesbar bredde. */
body.butikken-reading-page .butikken-reading-lead {
  background: #ede4d8;
  border-radius: var(--bk-radius-md, 8px);
  padding: var(--bk-8, 32px);
}
body.butikken-reading-page .butikken-reading-lead > p { max-width: 60ch; }
body.butikken-reading-page .entry-content :is(p, ul, ol):not(.butikken-reading-lead > p) { max-width: 68ch; }
@media (max-width: 540px) {
  body.butikken-reading-page .butikken-reading-lead { padding: var(--bk-5, 20px); }
}
body.butikken-kategori-intro .woocommerce-products-header {
  background: #ede4d8;
  border-radius: var(--bk-radius-md, 8px);
  padding: var(--bk-6, 24px);
}
body.butikken-kategori-intro .woocommerce-products-header { margin-bottom: var(--bk-8, 32px); }
body.butikken-kategori-intro .woocommerce-products-header :is(.term-description, .butikken-kategori-description) {
  margin-bottom: 0;
  max-width: 420px;
  text-wrap: balance;
}
@media (max-width: 540px) {
  body.butikken-kategori-intro .woocommerce-products-header { padding: var(--bk-4, 16px); }
}

/* Desktop: tittelen øverst, ikonet til venstre og beskrivelsen ved siden av. Merkesidene har eget oppsett. */
@media (min-width: 768px) {
  body.butikken-kategori-intro .woocommerce-products-header:has(> .butikken-kategori-heading:not(.butikken-merke-heading)) {
    align-items: center;
    column-gap: var(--bk-8, 32px);
    display: grid;
    grid-template-areas: "title title" "icon desc";
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: var(--bk-4, 16px);
  }
  body.butikken-kategori-intro .woocommerce-products-header > .butikken-kategori-heading:not(.butikken-merke-heading),
  body.butikken-kategori-intro .woocommerce-products-header > .butikken-kategori-heading:not(.butikken-merke-heading) > div { display: contents; }
  body.butikken-kategori-intro .woocommerce-products-header .butikken-katalog-titlerad { grid-area: title; }
  body.butikken-kategori-intro .woocommerce-products-header .butikken-katalog-title { margin: 0; }
  body.butikken-kategori-intro .woocommerce-products-header .butikken-kategori-ikon { grid-area: icon; }
  body.butikken-kategori-intro .woocommerce-products-header :is(.term-description, .butikken-kategori-description) { grid-area: desc; }
}

/* WooCommerce skjuler og viser variantboksen (slideUp/slideDown) ved hvert valg. Den er tom her, men margen
   ble animert, så «Legg i handlekurv» hoppet. Under animasjonen får boksen overflow: hidden, og da slår en
   marg på kjøpsraden ikke lenger sammen med variantvalgets marg (20px), så raden hoppet 16px ved fargebytte.
   Avstanden kommer derfor bare fra variantvalget. */
.single-product .woocommerce-variation {
  margin: 0 !important;
}

.single-product .woocommerce-variation-add-to-cart {
  margin-top: 0 !important;
}

/* Variantbytter skal ikke tone kjøpsknappen ut mens WooCommerce oppdaterer valget. */
.single-product form.variations_form .single_add_to_cart_button {
  transition: none;
}

.single-product form.variations_form .single_add_to_cart_button.disabled.wc-variation-selection-needed {
  opacity: 1;
  filter: none;
}

/* Klarna legger varene og betalingen i to kolonner fra 768 px; under 1024 px blir varekolonnen for smal til
   tabellen (bilde, navn, antall, pris og «Fjern») og den stikker ut av kortet. Der står de under hverandre. */
@media (min-width: 768px) and (max-width: 1023px) {
  .woocommerce-checkout #kco-order-review,
  .woocommerce-checkout #kco-iframe {
    float: none;
    width: 100%;
  }
}

/* På de smaleste skjermene (320 px) får ikke bilde, navn og antall plass ved siden av prisen: mindre bilde der. */
@media (max-width: 359px) {
  .woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    padding-left: 68px;
  }

  .woocommerce-checkout .butikken-co-thumb img {
    height: 56px;
    width: 56px;
  }
}

/* Mens WooCommerce regner ut frakten på nytt (blockUI over ordreoversikten), står en spinner i stedet for prisen.
   Prisen blir liggende usynlig, så raden beholder bredden. */
body.butikken-checkout-shipping-summary :is(.woocommerce-checkout-review-order-table, #kco-order-review, #order_review):has(.blockUI) tr.woocommerce-shipping-totals > td {
  color: transparent;
  position: relative;
}
body.butikken-checkout-shipping-summary :is(.woocommerce-checkout-review-order-table, #kco-order-review, #order_review):has(.blockUI) tr.woocommerce-shipping-totals > td * {
  visibility: hidden;
}
body.butikken-checkout-shipping-summary :is(.woocommerce-checkout-review-order-table, #kco-order-review, #order_review):has(.blockUI) tr.woocommerce-shipping-totals > td::after {
  animation: butikken-fav-spin 0.7s linear infinite;
  border: 2px solid var(--bk-border-subtle, #e4e1da);
  border-radius: 50%;
  border-top-color: var(--bk-accent, #0a5f43);
  box-sizing: border-box;
  content: "";
  height: 20px;
  margin-top: -10px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
}

/* Kassen er handlekurven («Din handlekurv»): overskriften står alene, uten brødsmulesti. */
body.woocommerce-checkout .page-header .woostify-breadcrumb { display: none; }

/* Uten størrelsesvalg får guiden en egen rad med luft før kjøpsknappen. */
html body.single-product .summary > .butikken-storrelsesguide-lenke {
  display: flex;
  width: fit-content;
  min-height: 48px;
  margin: 0 0 var(--bk-3, 12px);
}
/* Samme trykkrespons på alle headerikonene, også i den kompakte mobilheaderen. */
html body.butikken-design .site-header .site-header-inner .site-tools :is(.shopping-bag-button, .butikken-fav-header),
html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn {
  transition: background-color 150ms ease, transform 120ms ease;
}

html body.butikken-design .site-header .site-header-inner .site-tools :is(.shopping-bag-button, .butikken-fav-header):active,
html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn:active {
  background: var(--bk-surface-hover);
  transform: scale(0.94);
}

/* Safari kan vise tastaturringen når dialogen returnerer fokus etter et museklikk. */
html body.butikken-design [data-butikken-skuff].butikken-skuff-peker:focus {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  html body.butikken-design .site-header .site-header-inner .site-tools :is(.shopping-bag-button, .butikken-fav-header),
  html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn {
    transition: none;
  }
  html body.butikken-design .site-header .site-header-inner .site-tools :is(.shopping-bag-button, .butikken-fav-header):active,
  html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn:active {
    transform: none;
  }
}

html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn {
  border-radius: 50%;
}

/* Tilkoblet mus eller styreflate gir hover også når skjermen er smal. */
@media (any-hover: hover) {
  html body.butikken-design .site-header .site-header-inner .site-tools :is(.shopping-bag-button, .butikken-fav-header):hover,
  html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn:hover {
    background: var(--bk-surface-hover);
  }
}
/* Lesesider for artikler bruker samme skrift, farger og produktkort som butikken. */
body.butikken-artikkelside .site-content {
  margin: 0;
  padding-top: 0;
}
body.butikken-artikkelside #primary.butikken-artikkel-main {
  width: 100%;
  min-width: 0;
  padding: var(--bk-4, 16px) 0 var(--bk-16, 64px);
}
.butikken-artikkel {
  position: relative;
  max-width: 960px;
  margin-inline: 0;
  text-align: left;
}
@media (min-width: 1440px) {
  .butikken-artikkel-hovedbilde::after {
    content: "";
    position: absolute;
    top: 40px;
    left: calc(100% + 40px);
    width: 120px;
    height: 720px;
    background: var(--bk-accent);
    opacity: 0.13;
    -webkit-mask: url("img/potespor.svg") top left / 120px 720px no-repeat;
    mask: url("img/potespor.svg") top left / 120px 720px no-repeat;
    pointer-events: none;
  }
}
.butikken-artikkel-hode,
.butikken-artikkel-tekst {
  max-width: 620px;
  margin-inline: 0;
}
.butikken-artikkel-hode .woostify-breadcrumb {
  margin: 0 0 var(--bk-2, 8px);
}
.butikken-design .butikken-artikkel-hode h1 {
  margin: 0 0 var(--bk-4, 16px);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.12;
  text-wrap: balance;
}
.butikken-artikkel-dato {
  margin: 0;
  color: var(--bk-text-subtle);
  font-size: var(--bk-text-sm);
}
.butikken-artikkel-hovedbilde {
  position: relative;
  max-width: 800px;
  margin: var(--bk-8, 32px) 0;
}
.butikken-artikkel-tekst :is(figure, .wp-caption, .aligncenter) {
  margin-inline: 0;
  text-align: left;
}
.butikken-artikkel-tekst img {
  display: block;
  margin-inline: 0;
}
.butikken-artikkel-hovedbilde > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--bk-radius-md);
}
.butikken-artikkel-hovedbilde figcaption {
  margin-top: var(--bk-2, 8px);
  color: var(--bk-text-subtle);
  font-size: var(--bk-text-xs);
}
.butikken-artikkel-tekst {
  font-size: var(--bk-text-lg);
  line-height: 1.65;
}
.butikken-artikkel-tekst > p,
.butikken-artikkel-tekst > section > p {
  margin: 0 0 var(--bk-6, 24px);
  max-width: 65ch;
  text-wrap: pretty;
}
.butikken-artikkel-tekst > p:first-child {
  font-size: var(--bk-text-xl);
  line-height: 1.5;
}
.butikken-artikkel-tekst > section {
  margin-top: var(--bk-12, 48px);
}
.butikken-design .butikken-artikkel-tekst > section > h2 {
  margin: 0 0 var(--bk-4, 16px);
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.25;
  text-wrap: balance;
}
.butikken-artikkel-tekst > .butikken-artikkel-tips {
  padding: var(--bk-6, 24px);
  background: var(--bk-accent-tinted);
  background: color-mix(in srgb, var(--bk-accent) 12%, var(--bk-bg));
  border-radius: var(--bk-radius-md);
}
.butikken-design .butikken-artikkel-tekst > .butikken-artikkel-tips > h2 {
  font-size: var(--bk-text-2xl);
}
.butikken-artikkel-tekst > .butikken-artikkel-tips > p {
  margin-bottom: var(--bk-4, 16px);
}
.butikken-artikkel-tekst > .butikken-artikkel-tips > p:last-child {
  margin-bottom: 0;
}
.butikken-artikkel-tekst > p a,
.butikken-artikkel-tekst > section > p a,
.butikken-artikkel-kilder a {
  color: var(--bk-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.butikken-artikkel a:focus-visible {
  outline: 3px solid var(--bk-focus);
  outline-offset: 4px;
}
.butikken-artikkel-produkter {
  max-width: 544px;
  margin: var(--bk-6, 24px) 0 var(--bk-10, 40px);
  font-size: var(--bk-text-md);
  line-height: 1.5;
}
.butikken-artikkel-produkter .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bk-6, 24px);
  padding: 0;
  margin: 0;
}
.butikken-artikkel-produkter .woocommerce ul.products::before,
.butikken-artikkel-produkter .woocommerce ul.products::after {
  display: none;
}
html body.butikken-artikkelside .butikken-artikkel-produkter ul.products > li.product {
  float: none;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.butikken-artikkel-produkter .products:has(> .product:only-child) {
  grid-template-columns: minmax(0, 260px);
  justify-content: start;
}
.butikken-artikkel-kilder {
  margin-top: var(--bk-12, 48px);
  font-size: var(--bk-text-sm);
  color: var(--bk-text-subtle);
}
@media (max-width: 600px) {
  body.butikken-artikkelside #primary.butikken-artikkel-main { padding-top: var(--bk-3, 12px); }
  .butikken-artikkel-hovedbilde { margin-block: var(--bk-6, 24px); }
  .butikken-artikkel-hovedbilde > img { aspect-ratio: 3 / 2; object-fit: cover; object-position: 36% center; }
  .butikken-artikkel-produkter .woocommerce ul.products { gap: var(--bk-4, 16px); }
  .butikken-artikkel-tekst > section { margin-top: var(--bk-10, 40px); }
}

/* Bloggoversikt med lesbare utdrag og bilder langs samme venstrekant. */
body.butikken-bloggside .site-content { margin: 0; padding-top: 0; }
body.butikken-bloggside #primary.butikken-blogg-main {
  width: 100%; min-width: 0; padding: var(--bk-4, 16px) 0 var(--bk-16, 64px);
}
.butikken-blogg-hode { margin-bottom: var(--bk-10, 40px); max-width: 620px; }
.butikken-blogg-hode .woostify-breadcrumb { margin: 0 0 var(--bk-2, 8px); }
.butikken-design .butikken-blogg-hode h1 { margin: 0; font-size: clamp(32px, 4vw, 48px); }
.butikken-blogg-liste { max-width: 1040px; }
.butikken-blogg-rad {
  display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
  gap: var(--bk-8, 32px); align-items: start;
  padding-bottom: var(--bk-10, 40px); margin-bottom: var(--bk-10, 40px);
  border-bottom: 1px solid var(--bk-border-subtle, #e4e7e4);
}
.butikken-blogg-rad:not(:has(.butikken-blogg-bilde)) { grid-template-columns: minmax(0, 620px); }
.butikken-blogg-bilde { display: block; border-radius: var(--bk-radius, 8px); overflow: hidden; }
.butikken-blogg-bilde img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.butikken-design .butikken-blogg-innhold h2 { margin: 8px 0 16px; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; }
.butikken-blogg-innhold h2 a { color: var(--bk-text); text-decoration: none; }
.butikken-blogg-innhold h2 a:hover { color: var(--bk-accent); text-decoration: underline; }
.butikken-blogg-utdrag { max-width: 60ch; font-size: 18px; line-height: 1.6; }
.butikken-blogg-utdrag p { margin: 0 0 20px; }
.butikken-blogg-les { color: var(--bk-accent); font-weight: 600; text-underline-offset: 4px; }
@media (max-width: 700px) {
  .butikken-blogg-rad { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .butikken-blogg-hode { margin-bottom: 24px; }
}
/* Menyknappen står foran logoen; de ulike streklengdene vender mot venstre. */
@media (max-width: 991px) {
  html body.butikken-design .site-header .site-header-inner > .woostify-container {
    grid-template-areas: "menu logo tools" "search search search";
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  html body.butikken-design .site-header .wrap-toggle-sidebar-menu .toggle-sidebar-menu-btn {
    justify-content: flex-start; margin-right: 0; margin-left: 0; padding-left: 0; padding-right: 0;
  }
  html body.butikken-design .site-header .toggle-sidebar-menu-btn span,
  html body.butikken-design .site-header .toggle-sidebar-menu-btn span::before,
  html body.butikken-design .site-header .toggle-sidebar-menu-btn span::after {
    left: 0; right: auto;
  }
}
