/* Lys handlekurv som favorittskuffen: hvitt hode med svart tekst i stedet for grønt. */
html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head {
  background: var(--bk-surface);
  border-bottom: 1px solid var(--bk-border-subtle);
  color: var(--bk-text);
  min-height: 64px;
  padding: var(--bk-3) var(--bk-6);
}
html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head .shop-cart-count {
  background: var(--bk-accent);
  color: #fff;
  font-size: var(--bk-text-xs);
  height: 22px;
  min-width: 22px;
}
html body.butikken-side-cart #shop-cart-sidebar #close-cart-sidebar-btn {
  background: none;
  color: var(--bk-text);
  margin-right: calc(-1 * var(--bk-3));
}
html body.butikken-side-cart #shop-cart-sidebar #close-cart-sidebar-btn:hover { background: var(--bk-surface-hover); }

/* Hvor mye som mangler til fri frakt: teksten over en tynn fremdriftslinje. */
/* Fri frakt under fraktraden (handlekurven og kassen): liten tekst og en tynn linje over hele bredden. */
html body .butikken-fraktstolpe {
  color: var(--bk-text-subtle);
  display: block;
  flex: 0 0 100%;
  font-size: var(--bk-text-sm);
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: var(--bk-1);
  text-transform: none;
}
.butikken-fraktstolpe > span { display: block; margin-bottom: var(--bk-1); }
.butikken-fraktstolpe progress {
  -webkit-appearance: none;
  appearance: none;
  background: var(--bk-accent-tinted);
  border: 0;
  border-radius: 4px;
  display: block;
  height: 4px;
  overflow: hidden;
  width: 100%;
}
.butikken-fraktstolpe progress::-webkit-progress-bar { background: var(--bk-accent-tinted); }
.butikken-fraktstolpe progress::-webkit-progress-value { background: var(--bk-accent); border-radius: 4px; transition: width 0.4s ease; }
.butikken-fraktstolpe progress::-moz-progress-bar { background: var(--bk-accent); border-radius: 4px; }
html body.butikken-checkout-shipping-summary .woocommerce-checkout-review-order-table tfoot tr.butikken-fraktstolpe-rad > td { flex: 1 1 100%; padding: 0 0 4px; text-align: left; }

/* Bunnen av kurven er hvit som favorittskuffen, ikke grå. */
html body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart__bottom {
  background: var(--bk-surface);
  border-top: 1px solid var(--bk-border-subtle);
}

/* Menyarket: kategoriene som like store kort i full bredde, resten som en liste under. */
.butikken-meny-ruter {
  display: grid;
  gap: var(--bk-3);
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  list-style: none;
  margin: 0 0 var(--bk-4);
  padding: 0;
}
html body .butikken-meny-ruter a {
  align-items: center;
  background: var(--bk-bg-tinted);
  border-radius: var(--bk-radius-md);
  color: var(--bk-text);
  display: flex;
  flex-direction: column;
  font-size: var(--bk-text-md);
  font-weight: 600;
  gap: var(--bk-2);
  padding: var(--bk-4) var(--bk-3);
  text-decoration: none;
}
html body .butikken-meny-ruter a:hover { background: var(--bk-surface-hover); }
.butikken-meny-ruter :is(img, svg) { height: 72px; object-fit: contain; width: 72px; }
.butikken-meny-liste { border-top: 1px solid var(--bk-border-subtle); }
.butikken-meny-liste { list-style: none; margin: 0 calc(-1 * var(--bk-6)); padding: 0; }
.butikken-meny-liste li { border-bottom: 1px solid var(--bk-border-subtle); }
html body .butikken-meny-liste :is(a, button) {
  align-items: center;
  background: none;
  border: 0;
  color: var(--bk-text);
  display: flex;
  font-family: var(--bk-font);
  font-size: var(--bk-text-md);
  font-weight: 400;
  min-height: 56px;
  padding: 0 var(--bk-6);
  text-align: left;
  text-decoration: none;
  text-transform: none;
  width: 100%;
}
.butikken-meny-liste :is(a, button):hover { background: var(--bk-surface-hover); }

/* Mobil: alle skuffene (meny, favoritter, størrelsesguide og handlekurv) glir opp fra bunnen. */
@media (max-width: 991px) {
  dialog.butikken-skuff {
    border-radius: 16px 16px 0 0;
    height: auto;
    inset: auto 0 0 0;
    max-height: 88dvh;
    width: 100vw;
  }
  dialog.butikken-skuff[open] { animation: butikken-ark-opp 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); }
  /* Håndtaket øverst, som hos Fjellsport. */
  dialog.butikken-skuff .butikken-skuff-innhold::before,
  html body.butikken-side-cart #shop-cart-sidebar::before {
    background: var(--bk-border-subtle);
    border-radius: 3px;
    content: "";
    display: block;
    height: 6px;
    margin: 0 auto var(--bk-2);
    width: 40px;
  }
  dialog.butikken-skuff .butikken-skuff-innhold { padding-top: var(--bk-3); }
  /* Tittelraden i handlekurven like høy som i favorittskuffen: rett under håndtaket, ikke 12 px lenger ned. */
  html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head { min-height: 0; padding-top: 0; }
  /* Temaet snurrer ::before mens handlekurven oppdateres; da blir håndtaket en rund spinner i stedet for en snurrende strek. */
  html body.butikken-side-cart.updating-cart #shop-cart-sidebar::before {
    animation: butikken-fav-spin 0.7s linear infinite;
    background: none;
    border: 2px solid var(--bk-border-subtle);
    border-radius: 50%;
    border-top-color: var(--bk-accent);
    box-sizing: border-box;
    height: 24px;
    left: calc(50% - 12px);
    margin: 0;
    position: absolute;
    top: calc(50% - 12px);
    transform: none;
    width: 24px;
  }

  /* Klassen to ganger slår temaets «.logged-in.admin-bar #shop-cart-sidebar { top: 46px }». */
  html body.butikken-side-cart.butikken-side-cart #shop-cart-sidebar {
    border-radius: 16px 16px 0 0;
    height: auto;
    left: 0;
    max-height: 88dvh;
    padding-top: var(--bk-3);
    top: auto;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.3s;
    width: 100vw;
  }
  html.cart-sidebar-open body.butikken-side-cart.butikken-side-cart #shop-cart-sidebar { transform: none; }
  /* Høyden følger varene; bare listen ruller når kurven er full. */
  html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-content { flex: 0 1 auto; min-height: 0; }
  html body.butikken-side-cart #shop-cart-sidebar .woocommerce-mini-cart { flex: 0 1 auto; min-height: 0; overflow-y: auto; }
}
@keyframes butikken-ark-opp { from { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) {
  dialog.butikken-skuff[open] { animation: none; }
  html body.butikken-side-cart #shop-cart-sidebar { transition: none; }
}

/*
 * Temaet setter overflow: hidden på <html> når handlekurven eller menyen er åpen. Da blir <body> (overflow-x:
 * hidden) en egen rullecontainer, og den klebrige headeren ruller bort. «clip» skjuler like mye uten å lage en.
 */
html body.butikken-design { overflow-x: clip; }

/* Tittelen som favorittskuffen: posen, «Din handlekurv» og antallet i grått. */
html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head { gap: var(--bk-2); justify-content: flex-start; }
html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-head .shop-cart-count { display: none; }
/* Antallet står på samme grunnlinje som tittelen; posen midt på linjen. */
html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-title {
  align-items: baseline;
  display: flex;
  font-size: var(--bk-text-lg);
  font-weight: 600;
  gap: var(--bk-2);
}
html body.butikken-side-cart #shop-cart-sidebar .cart-sidebar-title::before {
  background-color: currentColor;
  content: "";
  height: 20px;
  -webkit-mask: url("img/shopping-bag.svg") center / contain no-repeat;
  mask: url("img/shopping-bag.svg") center / contain no-repeat;
  align-self: center;
  width: 20px;
}
.butikken-kurv-antall { color: var(--bk-text-subtle); font-size: var(--bk-text-sm); font-weight: 400; }

/* Spinneren i «Fjern» tar ikonets plass, så knappen ikke endrer størrelse. */
:is(#shop-cart-sidebar .remove_from_cart_button, .butikken-co-remove).is-loading { cursor: progress; pointer-events: none; }
:is(#shop-cart-sidebar .remove_from_cart_button, .butikken-co-remove).is-loading svg { visibility: hidden; }
/* Handlekurvens knapp er allerede plassert av temaet (absolute); bare kassens trenger relative. */
.butikken-co-remove { position: relative; }
:is(#shop-cart-sidebar .remove_from_cart_button, .butikken-co-remove).is-loading::before {
  animation: butikken-fav-spin 0.7s linear infinite;
  border: 2px solid var(--bk-border-subtle);
  border-radius: 50%;
  border-top-color: var(--bk-accent);
  box-sizing: border-box;
  content: "";
  height: 16px;
  left: 0;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

