/* Alle b-*-velgere er tredoblet (.b-x.b-x.b-x) for å vinne over Elementors grunnstiler (.elementor .e-div-block-base = 0-2-0) og de kompilerte globale klassene, uavhengig av lasterekkefølge. */
/* =====================================================================
   Forside 2026 – CSS
   =====================================================================
   Stilark for det nye designet. Deler seg i tre:

   1) Variabler (--b-*). Samme verdier som Elementor-variablene B* (BIvory, BInk,
      BTaupe ...). Endrer du en farge i Elementor → endre den her også.
   2) Markup som kommer fra shortcodes (kan ikke få Elementor-klasser i editoren):
      kursrader (.b-course-.b-course-.b-course-*), megameny (.b-mega.b-mega.b-mega*), mobilmeny (.b-drawer.b-drawer.b-drawer*, .b-acc.b-acc.b-acc*),
      søk (.b-sok.b-sok.b-sok*), chips, ikoner (.b-ico.b-ico.b-ico), badge.
   3) Adferd som Elementors globale klasser ikke dekker: åpne/lukke-tilstander
      (is-open), «Vis alle priser», scrollet header, hover på lenker.

   Alt annet (seksjoner, typografi, knapper, kort, footer) er Elementor globale
   klasser med prefiks b- og redigeres i Elementor → Global classes.
   ===================================================================== */

:root {
  --b-ivory: #f6f2ec; --b-sand: #ece5dc; --b-white: #ffffff;
  --b-ink: #1e1a17; --b-ink-2: #4a423c; --b-ink-3: #6a615a; --b-ink-4: #8a8078;
  --b-dark: #171412; --b-taupe: #cbb59f; --b-taupe-deep: #8a7259; --b-teal: #5f838b; --b-teal-soft: #dfe7e9;
  --b-line: rgba(30,26,23,0.12); --b-line-light: rgba(246,242,236,0.18);
  --b-font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --b-font-body: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}
body.b-lock.b-lock.b-lock { overflow: hidden; }

/* ---------- Ikoner (SVG som maske, arver farge fra currentColor) ---------- */
.b-ico.b-ico.b-ico { display: inline-block; width: 22px; height: 22px; background: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.b-ico--close.b-ico--close.b-ico--close { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); }
.b-ico--user.b-ico--user.b-ico--user { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E"); }
.b-chev.b-chev.b-chev, .b-course-row__chev.b-course-row__chev.b-course-row__chev, .b-acc__chev.b-acc__chev.b-acc__chev { display: inline-block; width: 9px; height: 9px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(-45deg); opacity: .55; }
.b-acc__pm.b-acc__pm.b-acc__pm { position: relative; width: 16px; height: 16px; }
.b-acc__pm.b-acc__pm.b-acc__pm::before, .b-acc__pm.b-acc__pm.b-acc__pm::after { content: ''; position: absolute; left: 1px; right: 1px; top: 7px; height: 1.6px; background: currentColor; }
.b-acc__pm.b-acc__pm.b-acc__pm::after { transform: rotate(90deg); transition: transform .2s; }
.is-open > .b-acc__pm.b-acc__pm.b-acc__pm::after { transform: rotate(0); }

/* ---------- Header: nav-lenker, verktøyknapper ---------- */
.b-header.b-header.b-header { position: relative; z-index: 60; }
.b-header--overlay.b-header--overlay.b-header--overlay { position: absolute; top: 0; left: 0; right: 0; background: transparent; transition: background .25s; }
.b-header--overlay.b-header--overlay.b-header--overlay.is-scrolled { position: fixed; background: var(--b-dark); box-shadow: 0 10px 30px -20px rgba(0,0,0,.5); }
.b-nav__link.b-nav__link.b-nav__link.is-open, .b-nav__link.b-nav__link.b-nav__link:hover { color: var(--b-taupe) !important; }
.b-nav__link.b-nav__link.b-nav__link .b-chev.b-chev.b-chev { width: 7px; height: 7px; margin-left: 6px; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.b-nav__link.b-nav__link.b-nav__link.is-open .b-chev.b-chev.b-chev { transform: translateY(2px) rotate(-135deg); }
.b-icon-btn.b-icon-btn.b-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: inherit; background: none; border: 0; cursor: pointer; }
.b-icon-btn--dark.b-icon-btn--dark.b-icon-btn--dark { color: var(--b-ink); }
.b-icon-btn__count.b-icon-btn__count.b-icon-btn__count { position: absolute; top: 6px; right: 4px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--b-taupe); color: var(--b-ink); font: 600 10px/16px var(--b-font-body); text-align: center; }
.b-icon-btn__count.b-icon-btn__count.b-icon-btn__count:empty, .b-icon-btn__count.b-icon-btn__count.b-icon-btn__count[data-count="0"] { display: none; }

/* ---------- Megameny (shortcode [bf_megameny]) ---------- */
.b-mega.b-mega.b-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 55; background: var(--b-ivory); color: var(--b-ink); border-top: 1px solid var(--b-taupe); box-shadow: 0 30px 60px -20px rgba(30,26,23,.45); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility 0s .2s; }
.b-mega.b-mega.b-mega.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .2s; }
.b-mega__grid.b-mega__grid.b-mega__grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 48px; padding: 44px 0 40px; }
.b-mega__col.b-mega__col.b-mega__col { display: flex; flex-direction: column; gap: 22px; }
.b-mega__group.b-mega__group.b-mega__group { display: flex; flex-direction: column; gap: 4px; }
.b-mega__group.b-mega__group.b-mega__group > .b-meta.b-meta.b-meta { margin-bottom: 6px; }
.b-mega__title.b-mega__title.b-mega__title { font-family: var(--b-font-display); font-size: 22px; line-height: 1.2; color: var(--b-ink); }
.b-mega__title--ghost.b-mega__title--ghost.b-mega__title--ghost { visibility: hidden; }
.b-mega__title--extra.b-mega__title--extra.b-mega__title--extra { margin-top: 8px; }
.b-mega__link.b-mega__link.b-mega__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 36px; padding: 0 8px 0 0; font: 400 14px/1.4 var(--b-font-body); color: var(--b-ink-2); text-decoration: none; border-radius: 4px; }
.b-mega__link.b-mega__link.b-mega__link:hover { color: var(--b-ink); background: rgba(30,26,23,.04); }
.b-mega__count.b-mega__count.b-mega__count { font-size: 11px; color: var(--b-ink-4); }
.b-mega__more.b-mega__more.b-mega__more { align-self: flex-start; margin-top: 10px; }
.b-mega__tile.b-mega__tile.b-mega__tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px; padding: 22px; border-radius: 6px; overflow: hidden; background: var(--b-teal-soft); color: var(--b-ink); text-decoration: none; }
.b-mega__tile-bg.b-mega__tile-bg.b-mega__tile-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 10%; }
.b-mega__tile.b-mega__tile.b-mega__tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(223,231,233,0) 0%, rgba(223,231,233,.97) 52%); }
.b-mega__tile-body.b-mega__tile-body.b-mega__tile-body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; }
.b-mega__tile-title.b-mega__tile-title.b-mega__tile-title { font-family: var(--b-font-display); font-size: 28px; line-height: 1.1; }
.b-mega__foot.b-mega__foot.b-mega__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0 22px; border-top: 1px solid var(--b-line); font: 400 13px/1.5 var(--b-font-body); color: var(--b-ink-3); }
.b-meta--teal.b-meta--teal.b-meta--teal { color: var(--b-teal) !important; }
.b-meta--muted.b-meta--muted.b-meta--muted { color: var(--b-ink-4) !important; }
.b-brandmark.b-brandmark.b-brandmark { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; display: block; border: 1px solid rgba(30,26,23,.08); background: #fff; }
.b-badge.b-badge.b-badge { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: var(--b-teal); color: #fff; font: 600 11px/1 var(--b-font-body); letter-spacing: .14em; text-transform: uppercase; }
.b-badge--taupe.b-badge--taupe.b-badge--taupe { background: var(--b-taupe); color: var(--b-ink); }

/* ---------- Mobilmeny (shortcode [bf_mobilmeny]) ---------- */
.b-drawer.b-drawer.b-drawer { position: fixed; inset: 0; z-index: 9990; background: var(--b-ivory); color: var(--b-ink); overflow-y: auto; -webkit-overflow-scrolling: touch; opacity: 0; visibility: hidden; transform: translateX(8%); transition: opacity .25s, transform .25s, visibility 0s .25s; font-family: var(--b-font-body); }
.b-drawer.b-drawer.b-drawer.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .25s; }
.b-drawer__inner.b-drawer__inner.b-drawer__inner { min-height: 100%; display: flex; flex-direction: column; }
.b-drawer__row.b-drawer__row.b-drawer__row { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 12px 0 20px; border-bottom: 1px solid var(--b-line); }
.b-drawer__brand.b-drawer__brand.b-drawer__brand { font-family: var(--b-font-display); font-size: 22px; letter-spacing: .12em; text-transform: uppercase; }
.b-drawer__search.b-drawer__search.b-drawer__search { padding: 16px 20px 4px; }
.b-drawer__foot.b-drawer__foot.b-drawer__foot { margin-top: auto; padding: 24px 20px 32px; display: flex; flex-direction: column; gap: 10px; }
.b-drawer__foot.b-drawer__foot.b-drawer__foot .b-btn.b-btn.b-btn { width: 100%; }
.b-acc.b-acc.b-acc { display: flex; flex-direction: column; padding: 12px 20px 0; }
.b-acc__item.b-acc__item.b-acc__item, .b-acc__sub-item.b-acc__sub-item.b-acc__sub-item, .b-acc__sub.b-acc__sub.b-acc__sub a { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; text-align: left; background: none; border: 0; cursor: pointer; color: var(--b-ink); text-decoration: none; font-family: var(--b-font-body); }
.b-acc__item.b-acc__item.b-acc__item { min-height: 52px; padding: 0 4px; border-bottom: 1px solid var(--b-line); font-size: 16px; font-weight: 500; }
.b-acc__sub.b-acc__sub.b-acc__sub { display: none; flex-direction: column; padding: 4px 0 8px 16px; border-bottom: 1px solid var(--b-line); }
.b-acc__sub.b-acc__sub.b-acc__sub.is-open { display: flex; }
.b-acc__sub-item.b-acc__sub-item.b-acc__sub-item, .b-acc__sub.b-acc__sub.b-acc__sub a { min-height: 44px; font-size: 15px; color: var(--b-ink-2); }
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 { padding-left: 16px; border-bottom: 0; }
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 a { font-size: 14px; color: var(--b-ink-3); }
.b-acc__all.b-acc__all.b-acc__all { font-weight: 600; color: var(--b-ink) !important; }

/* ---------- Søk (shortcode [bf_sok]) ---------- */
.b-sok.b-sok.b-sok { position: fixed; inset: 0; z-index: 9995; opacity: 0; visibility: hidden; transition: opacity .2s, visibility 0s .2s; font-family: var(--b-font-body); }
.b-sok.b-sok.b-sok.is-open { opacity: 1; visibility: visible; transition: opacity .2s; }
.b-sok__backdrop.b-sok__backdrop.b-sok__backdrop { position: absolute; inset: 0; background: rgba(23,20,18,.55); }
.b-sok__panel.b-sok__panel.b-sok__panel { position: absolute; left: 50%; top: 56px; transform: translateX(-50%); width: min(760px, calc(100% - 24px)); max-height: calc(100vh - 80px); overflow-y: auto; background: var(--b-ivory); border-radius: 6px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.5); padding: 20px 24px 28px; display: flex; flex-direction: column; gap: 22px; }
.b-sok__head.b-sok__head.b-sok__head { display: flex; align-items: center; gap: 8px; }
.b-sok__field.b-sok__field.b-sok__field { flex: 1; min-width: 0; }
.b-sok__grid.b-sok__grid.b-sok__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.b-sok__col.b-sok__col.b-sok__col { display: flex; flex-direction: column; gap: 8px; }
.b-sok__col.b-sok__col.b-sok__col > .b-meta.b-meta.b-meta { margin-bottom: 4px; }
/* Advanced Woo Search-feltet i søk og mobilmeny */
.b-sok.b-sok.b-sok .aws-container .aws-search-form, .b-drawer.b-drawer.b-drawer .aws-container .aws-search-form { height: 52px; border: 1px solid rgba(30,26,23,.2); border-radius: 999px; background: #fff; overflow: hidden; }
.b-sok.b-sok.b-sok .aws-container .aws-search-field, .b-drawer.b-drawer.b-drawer .aws-container .aws-search-field { height: 50px; border: 0; background: transparent; padding-left: 20px; font: 400 15px var(--b-font-body); color: var(--b-ink); }
.b-sok.b-sok.b-sok .aws-container .aws-search-form .aws-search-btn, .b-drawer.b-drawer.b-drawer .aws-container .aws-search-form .aws-search-btn { background: transparent; border: 0; }
.b-sok.b-sok.b-sok .aws-container .aws-search-form .aws-form-btn { background: transparent; border: 0; }
.aws-search-result { border-radius: 6px; border: 1px solid var(--b-line); font-family: var(--b-font-body); }

/* ---------- Chips ---------- */
.b-chips.b-chips.b-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.b-chip.b-chip.b-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(30,26,23,.25); font: 500 13px/1 var(--b-font-body); color: var(--b-ink); text-decoration: none; white-space: nowrap; background: transparent; }
.b-chip.b-chip.b-chip:hover { border-color: var(--b-ink); color: var(--b-ink); }
.b-chip.b-chip.b-chip.is-active { background: var(--b-ink); color: var(--b-ivory); border-color: var(--b-ink); }

/* ---------- Kursrader (shortcode [bf_kurs_liste]) ---------- */
.b-course-list.b-course-list.b-course-list { display: flex; flex-direction: column; font-family: var(--b-font-body); }
.b-course-row.b-course-row.b-course-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.3fr) 72px 84px 24px; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--b-line); color: var(--b-ink); text-decoration: none; }
.b-course-row.b-course-row.b-course-row:last-child { border-bottom: 0; }
.b-course-row.b-course-row.b-course-row:hover .b-course-row__title.b-course-row__title.b-course-row__title { color: var(--b-taupe-deep); }
.b-course-row__main.b-course-row__main.b-course-row__main, .b-course-row__next.b-course-row__next.b-course-row__next { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.b-course-row__title.b-course-row__title.b-course-row__title { font-family: var(--b-font-display); font-size: 22px; line-height: 1.15; transition: color .15s; }
.b-course-row__sub.b-course-row__sub.b-course-row__sub, .b-course-row__seats.b-course-row__seats.b-course-row__seats { font-size: 13px; color: var(--b-ink-3); }
.b-course-row__label.b-course-row__label.b-course-row__label { font-size: 13px; color: var(--b-ink); }
.b-course-row__label.b-course-row__label.b-course-row__label em { font-style: normal; font-weight: 600; color: var(--b-taupe-deep); }
.b-course-row__dur.b-course-row__dur.b-course-row__dur { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--b-ink-3); }
.b-course-row__price.b-course-row__price.b-course-row__price { font-weight: 600; text-align: right; white-space: nowrap; }
.b-course-row__chev.b-course-row__chev.b-course-row__chev { justify-self: end; color: var(--b-ink-4); }

/* ---------- Prisliste med «Vis alle priser» ---------- */
.b-price-list.b-price-list.b-price-list:not(.is-open) > :nth-child(n + 6) { display: none !important; }

/* ---------- Skjul/vis per skjermstørrelse ---------- */
@media (min-width: 1025px) { .b-mobile-only.b-mobile-only.b-mobile-only { display: none !important; } }
@media (max-width: 1024px) {
  .b-desktop-only.b-desktop-only.b-desktop-only { display: none !important; }
  .b-mega.b-mega.b-mega { display: none; }
}

/* ---------- Mobil ---------- */
@media (max-width: 760px) {
  .b-course-row.b-course-row.b-course-row { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 16px 0; }
  .b-course-row__main.b-course-row__main.b-course-row__main { flex: 1 1 60%; }
  .b-course-row__next.b-course-row__next.b-course-row__next { order: 5; flex: 1 1 50%; }
  .b-course-row__dur.b-course-row__dur.b-course-row__dur { order: 6; flex: 0 0 auto; }
  .b-course-row__price.b-course-row__price.b-course-row__price { flex: 0 0 auto; }
  .b-course-row__chev.b-course-row__chev.b-course-row__chev { display: none; }
  .b-sok__panel.b-sok__panel.b-sok__panel { top: 12px; padding: 16px; }
  .b-sok__grid.b-sok__grid.b-sok__grid { grid-template-columns: 1fr; gap: 20px; }
  .b-chips--scroll.b-chips--scroll.b-chips--scroll { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 0 20px 4px; }
}

/* ---------- Tillegg: ikoner som brukes i headeren (atomic Div Block med klasse b-ico) ---------- */
.b-ico--search.b-ico--search.b-ico--search { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); }
.b-ico--cart.b-ico--cart.b-ico--cart { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l1 13H5L6 7z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l1 13H5L6 7z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E"); }
.b-ico--menu.b-ico--menu.b-ico--menu { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E"); }
.b-ico--plus.b-ico--plus.b-ico--plus { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.b-ico--arrow.b-ico--arrow.b-ico--arrow { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.b-ico--sm.b-ico--sm.b-ico--sm { width: 16px; height: 16px; }

/* ---------- Header over hero på forsiden ---------- */
/* Headeren er felles for hele nettstedet. På forsiden legges den over hero-bildet
   (gjennomsiktig), og får mørk bakgrunn når man scroller (JS setter is-scrolled). */
.home .b-header.b-header.b-header, .page-id-52026 .b-header.b-header.b-header { position: absolute; top: 0; left: 0; right: 0; background: transparent; transition: background .25s; }
.home .b-header.b-header.b-header.is-scrolled, .page-id-52026 .b-header.b-header.b-header.is-scrolled { position: fixed; background: var(--b-dark); box-shadow: 0 10px 30px -20px rgba(0,0,0,.5); }
/* Nettbutikk-lenken har en liten pil som snur når megamenyen er åpen */
.b-nav__link--mega.b-nav__link--mega.b-nav__link--mega::after { content: ''; width: 7px; height: 7px; margin-left: 2px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.b-nav__link--mega.b-nav__link--mega.b-nav__link--mega.is-open::after { transform: translateY(2px) rotate(-135deg); }

/* ---------- Overlegg (gradienter) som globale klasser ikke kan lage ---------- */
.b-hero__overlay.b-hero__overlay.b-hero__overlay { background: linear-gradient(90deg, rgba(14,13,12,.82) 0%, rgba(14,13,12,.45) 55%, rgba(14,13,12,.15) 100%), linear-gradient(180deg, rgba(14,13,12,0) 60%, rgba(14,13,12,.75) 100%); }
.b-course-card__img.b-course-card__img.b-course-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.b-course-card.b-course-card.b-course-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,20,18,0) 35%, rgba(23,20,18,.9) 100%); }
.b-hero__bg.b-hero__bg.b-hero__bg { object-position: 70% 40%; }
@media (max-width: 760px) { .b-hero__bg.b-hero__bg.b-hero__bg { object-position: 62% 40%; } }

/* ---------- Produktkort (Loop Grid) ---------- */
.b-product-card__add.b-product-card__add.b-product-card__add { position: absolute; right: 12px; bottom: 12px; width: 44px; height: 44px; border-radius: 50%; background: var(--b-ink); color: var(--b-ivory); display: flex; align-items: center; justify-content: center; z-index: 2; }
.b-product-card__add.b-product-card__add.b-product-card__add .b-ico.b-ico.b-ico { width: 18px; height: 18px; }
.b-product-card.b-product-card.b-product-card .price { font-family: var(--b-font-body); font-size: 14px; color: var(--b-ink); }
.b-product-card.b-product-card.b-product-card .price del { color: var(--b-ink-4); font-size: 12px; margin-left: 6px; }
.b-product-card.b-product-card.b-product-card .price ins { text-decoration: none; }
.b-product-card.b-product-card.b-product-card .price .tax_label, .b-product-card.b-product-card.b-product-card .price small { color: var(--b-ink-4); font-size: 12px; }
/* Loop Grid: fjern Elementors standard-avstander og la kortet fylle */
.e-loop-item.b-product-card.b-product-card.b-product-card { height: 100%; }
/* «Vis flere produkter»-knappen i Loop Grid */
.elementor-widget-loop-grid .e-load-more-wrapper .elementor-button { border-radius: 999px; background: var(--b-ink); color: var(--b-ivory); font: 600 14px/1.2 var(--b-font-body); letter-spacing: .04em; padding: 16px 32px; }
.elementor-widget-loop-grid .e-load-more-wrapper { margin-top: 48px; }

    * { box-sizing: border-box; }
body { margin: 0; background: var(--b-ivory); color: var(--b-ink); font-family: var(--b-font-body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; } a:hover { color: var(--b-taupe-deep); }
h1, h2, h3, p { margin: 0; text-wrap: pretty; }
h1, h2, h3 { font-family: var(--b-font-display); font-weight: 500; letter-spacing: -0.01em; }
/* ===== Global classes ===== */
.b-container.b-container.b-container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 56px; }
.b-section.b-section.b-section { padding: 112px 0; background: var(--b-ivory); }
.b-section--dark.b-section--dark.b-section--dark { background: var(--b-dark); color: var(--b-ivory); }
.b-section--sand.b-section--sand.b-section--sand { background: var(--b-sand); }
.b-eyebrow.b-eyebrow.b-eyebrow { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; color: var(--b-taupe-deep); }
.b-eyebrow--light.b-eyebrow--light.b-eyebrow--light { color: var(--b-taupe); } .b-eyebrow--teal.b-eyebrow--teal.b-eyebrow--teal { color: var(--b-teal); }
.b-h1.b-h1.b-h1 { font-size: 84px; line-height: 1.02; font-weight: 400; }
.b-h2.b-h2.b-h2 { font-size: 56px; line-height: 1.05; }
.b-h3.b-h3.b-h3 { font-size: 26px; line-height: 1.15; }
.b-lead.b-lead.b-lead { font-family: var(--b-font-display); font-size: 26px; line-height: 1.3; font-style: italic; color: var(--b-ink-2); }
.b-body.b-body.b-body { color: var(--b-ink-2); max-width: 52ch; } .b-body--light.b-body--light.b-body--light { color: rgba(246,242,236,0.78); }
.b-small.b-small.b-small { font-size: 13px; color: var(--b-ink-3); } .b-meta.b-meta.b-meta { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; }
.b-stack.b-stack.b-stack { display: flex; flex-direction: column; gap: 22px; }
.b-row.b-row.b-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.b-split.b-split.b-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.b-grid-3.b-grid-3.b-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.b-grid-4.b-grid-4.b-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.b-btn.b-btn.b-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: var(--b-radius-pill); font-weight: 600; font-size: 14px; letter-spacing: 0.04em; border: 1px solid transparent; white-space: nowrap; cursor: pointer; }
.b-btn.b-btn.b-btn svg { width: 16px; height: 16px; }
a svg, button svg, .b-crumbs.b-crumbs.b-crumbs svg { width: 18px; height: 18px; flex-shrink: 0; }
.b-crumbs.b-crumbs.b-crumbs svg { width: 12px; height: 12px; }
.b-btn--primary.b-btn--primary.b-btn--primary { background: var(--b-taupe); color: var(--b-ink); } .b-btn--primary.b-btn--primary.b-btn--primary:hover { color: var(--b-ink); background: #d9c6b1; }
.b-btn--dark.b-btn--dark.b-btn--dark { background: var(--b-ink); color: var(--b-ivory); } .b-btn--dark.b-btn--dark.b-btn--dark:hover { color: var(--b-ivory); background: #3a332e; }
.b-btn--outline.b-btn--outline.b-btn--outline { color: var(--b-ink); border-color: rgba(30,26,23,0.3); } .b-btn--outline-light.b-btn--outline-light.b-btn--outline-light { color: var(--b-ivory); border-color: rgba(246,242,236,0.45); } .b-btn--outline-light.b-btn--outline-light.b-btn--outline-light:hover { color: var(--b-ivory); border-color: var(--b-ivory); }
.b-btn--sm.b-btn--sm.b-btn--sm { min-height: 44px; padding: 0 20px; }
.b-link.b-link.b-link { font-size: 14px; font-weight: 600; letter-spacing: 0.04em; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.b-card.b-card.b-card { background: var(--b-white); border-radius: var(--b-radius); border: 1px solid rgba(30,26,23,0.08); }
.b-step-card.b-step-card.b-step-card { display: flex; gap: 18px; align-items: center; padding: 18px; }
.b-step-card.b-step-card.b-step-card img { width: 84px; height: 84px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.b-course-card.b-course-card.b-course-card { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 26px; min-height: 170px; }
.b-price.b-price.b-price { font-size: 14px; } .b-price.b-price.b-price small { color: var(--b-ink-4); font-size: 12px; } .b-price.b-price.b-price s { color: var(--b-ink-4); font-size: 12px; }
.b-price-row.b-price-row.b-price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--b-line); }
.b-price-row.b-price-row.b-price-row strong { font-weight: 600; white-space: nowrap; }
.b-product-card.b-product-card.b-product-card { display: flex; flex-direction: column; gap: 12px; }
.b-product-card__media.b-product-card__media.b-product-card__media { position: relative; }
.b-product-card__img.b-product-card__img.b-product-card__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--b-white); border-radius: 4px; display: block; }
.b-product-card__add.b-product-card__add.b-product-card__add { position: absolute; right: 12px; bottom: 12px; width: 44px; height: 44px; border-radius: 50%; background: var(--b-ink); color: var(--b-ivory); display: flex; align-items: center; justify-content: center; }
.b-product-card__brand.b-product-card__brand.b-product-card__brand { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--b-ink-4); }
.b-product-card__name.b-product-card__name.b-product-card__name { font-weight: 600; font-size: 15px; line-height: 1.35; }
.b-badge.b-badge.b-badge { position: absolute; top: 12px; left: 12px; padding: 5px 10px; background: var(--b-teal); color: #fff; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; border-radius: var(--b-radius-pill); }
.b-badge--taupe.b-badge--taupe.b-badge--taupe { background: var(--b-taupe); color: var(--b-ink); }
.b-logo.b-logo.b-logo { display: flex; align-items: center; gap: 12px; } .b-logo.b-logo.b-logo img { width: 34px; height: 34px; display: block; } .b-logo.b-logo.b-logo span { font-family: var(--b-font-display); font-size: 24px; letter-spacing: 0.18em; font-weight: 600; }
.b-header.b-header.b-header { position: relative; z-index: 5; color: var(--b-ivory); background: var(--b-dark); }
.b-header--overlay.b-header--overlay.b-header--overlay { position: absolute; top: 0; left: 0; right: 0; background: transparent; }
.b-header__row.b-header__row.b-header__row { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: 24px; }
.b-nav.b-nav.b-nav { display: flex; align-items: center; gap: 30px; }
.b-nav__link.b-nav__link.b-nav__link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; letter-spacing: 0.02em; color: var(--b-ivory); min-height: 44px; }
.b-nav__link.b-nav__link.b-nav__link:hover, .b-nav__link.b-nav__link.b-nav__link.is-open { color: var(--b-taupe); }
.b-nav__link.b-nav__link.b-nav__link svg { width: 14px; height: 14px; }
.b-header__tools.b-header__tools.b-header__tools { display: flex; align-items: center; gap: 4px; }
.b-icon-btn.b-icon-btn.b-icon-btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: inherit; position: relative; }
.b-icon-btn.b-icon-btn.b-icon-btn svg { width: 22px; height: 22px; }
.b-icon-btn__count.b-icon-btn__count.b-icon-btn__count { position: absolute; top: 6px; right: 4px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--b-taupe); color: var(--b-ink); font-size: 10px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.b-mega.b-mega.b-mega { background: var(--b-ivory); color: var(--b-ink); border-top: 1px solid var(--b-taupe); box-shadow: 0 30px 60px -20px rgba(30,26,23,0.45); }
.b-mega__grid.b-mega__grid.b-mega__grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 48px; padding: 44px 0 48px; }
.b-mega__col.b-mega__col.b-mega__col { display: flex; flex-direction: column; gap: 22px; }
.b-mega__group.b-mega__group.b-mega__group { display: flex; flex-direction: column; gap: 4px; }
.b-mega__title.b-mega__title.b-mega__title { font-family: var(--b-font-display); font-size: 22px; line-height: 1.2; display: flex; align-items: center; gap: 8px; }
.b-mega__link.b-mega__link.b-mega__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--b-ink-2); min-height: 36px; padding: 0 8px 0 0; border-radius: 4px; }
.b-mega__link.b-mega__link.b-mega__link:hover { color: var(--b-ink); background: rgba(30,26,23,0.04); }
.b-mega__count.b-mega__count.b-mega__count { font-size: 11px; color: var(--b-ink-4); }
.b-mega__tile.b-mega__tile.b-mega__tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 22px; min-height: 300px; border-radius: var(--b-radius); overflow: hidden; background: var(--b-teal-soft); color: var(--b-ink); }
.b-mega__tile.b-mega__tile.b-mega__tile img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.b-brandmark.b-brandmark.b-brandmark { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; display: block; border: 1px solid rgba(30,26,23,0.08); background: #fff; }
.b-drawer.b-drawer.b-drawer { background: var(--b-ivory); color: var(--b-ink); min-height: 100%; display: flex; flex-direction: column; }
.b-drawer__row.b-drawer__row.b-drawer__row { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 12px 0 20px; border-bottom: 1px solid var(--b-line); }
.b-search.b-search.b-search { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; border-radius: var(--b-radius-pill); border: 1px solid rgba(30,26,23,0.2); background: #fff; color: var(--b-ink-4); font-size: 14px; }
.b-search.b-search.b-search svg { width: 18px; height: 18px; flex-shrink: 0; }
.b-acc.b-acc.b-acc { display: flex; flex-direction: column; }
.b-acc__item.b-acc__item.b-acc__item { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 4px; border-bottom: 1px solid var(--b-line); font-size: 16px; font-weight: 500; }
.b-acc__item.b-acc__item.b-acc__item svg { width: 18px; height: 18px; color: var(--b-ink-3); flex-shrink: 0; }
.b-acc__sub.b-acc__sub.b-acc__sub { display: flex; flex-direction: column; padding: 4px 0 8px 16px; border-bottom: 1px solid var(--b-line); }
.b-acc__sub.b-acc__sub.b-acc__sub a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; font-size: 15px; color: var(--b-ink-2); }
.b-acc__sub.b-acc__sub.b-acc__sub .b-acc__sub.b-acc__sub.b-acc__sub { padding-left: 16px; border-bottom: 0; }
.b-acc__sub.b-acc__sub.b-acc__sub .b-acc__sub.b-acc__sub.b-acc__sub a { font-size: 14px; color: var(--b-ink-3); }
.b-crumbs.b-crumbs.b-crumbs { display: flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--b-ink-3); }
.b-crumbs.b-crumbs.b-crumbs svg { width: 12px; height: 12px; }
.b-archive-hero.b-archive-hero.b-archive-hero { padding: 64px 0; background: var(--b-sand); }
.b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 64px; align-items: center; }
.b-archive-hero__img.b-archive-hero__img.b-archive-hero__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--b-radius); display: block; }
.b-chips.b-chips.b-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.b-chip.b-chip.b-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: var(--b-radius-pill); border: 1px solid rgba(30,26,23,0.25); font-size: 13px; font-weight: 500; white-space: nowrap; background: transparent; }
.b-chip.b-chip.b-chip.is-active { background: var(--b-ink); color: var(--b-ivory); border-color: var(--b-ink); }
.b-toolbar.b-toolbar.b-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 0 32px; }
.b-select.b-select.b-select { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border-radius: var(--b-radius-pill); border: 1px solid rgba(30,26,23,0.25); font-size: 13px; font-weight: 500; background: #fff; }
.b-select.b-select.b-select svg { width: 14px; height: 14px; }
.b-pagination.b-pagination.b-pagination { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 48px 0 0; }
.b-page.b-page.b-page { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 8px; border-radius: 50%; font-size: 14px; font-weight: 500; }
.b-page.b-page.b-page.is-active { background: var(--b-ink); color: var(--b-ivory); }
.b-footer.b-footer.b-footer { padding: 72px 0 40px; background: var(--b-dark); color: var(--b-ivory); }
.b-footer__grid.b-footer__grid.b-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(246,242,236,0.15); }
.b-footer__col.b-footer__col.b-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.b-footer__col.b-footer__col.b-footer__col a { color: var(--b-ivory); } .b-footer__col.b-footer__col.b-footer__col a:hover { color: var(--b-taupe); }
.b-footer__heading.b-footer__heading.b-footer__heading { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(246,242,236,0.5); margin-bottom: 4px; }
.b-hero.b-hero.b-hero { position: relative; min-height: 780px; display: flex; align-items: flex-end; padding: 140px 0 72px; background: #0e0d0c; color: var(--b-ivory); overflow: hidden; }
.b-stats.b-stats.b-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 640px; margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(246,242,236,0.22); }
.b-stat.b-stat.b-stat { display: flex; flex-direction: column; gap: 4px; }
.b-stat__num.b-stat__num.b-stat__num { font-family: var(--b-font-display); font-size: 40px; line-height: 1; }
.b-stat__label.b-stat__label.b-stat__label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(246,242,236,0.7); }
.mobile-only { display: none !important; }
/* ===== Mobile (<= 760px) ===== */
@media (max-width: 760px) {
  body { font-size: 15px; }
  .b-container.b-container.b-container { padding: 0 20px; }
  .desktop-only { display: none !important; }
  .mobile-only { display: flex !important; }
  .b-section.b-section.b-section { padding: 64px 0; }
  .b-h1.b-h1.b-h1 { font-size: 46px; } .b-h2.b-h2.b-h2 { font-size: 38px; } .b-h3.b-h3.b-h3 { font-size: 22px; }
  .b-hero.b-hero.b-hero { min-height: 640px; padding-top: 124px; }
  .b-hero.b-hero.b-hero img.bg { object-position: 62% 40% !important; }
  .b-hero.b-hero.b-hero .b-row.b-row.b-row { flex-direction: column; align-items: stretch; } .b-hero.b-hero.b-hero .b-btn.b-btn.b-btn { width: 100%; }
  .b-stats.b-stats.b-stats { gap: 12px; } .b-stat__label.b-stat__label.b-stat__label { font-size: 10px; letter-spacing: 0.08em; } .b-stat__num.b-stat__num.b-stat__num { font-size: 32px; }
  .b-split.b-split.b-split { grid-template-columns: 1fr !important; gap: 32px !important; }
  .b-spec-row.b-spec-row.b-spec-row { flex-direction: column; align-items: flex-start !important; justify-content: center; gap: 2px !important; padding: 12px 0; }
  .b-spec-row.b-spec-row.b-spec-row > span:first-child { font-size: 15px; } .b-spec-row.b-spec-row.b-spec-row > span:last-child { text-align: left; }
  .b-beh-img.b-beh-img.b-beh-img { aspect-ratio: 16 / 10 !important; object-position: center 22% !important; }
  .b-split--media-first.b-split--media-first.b-split--media-first { display: flex; flex-direction: column; }
  .b-grid-3.b-grid-3.b-grid-3 { grid-template-columns: 1fr; }
  .b-grid-4.b-grid-4.b-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .b-course-grid.b-course-grid.b-course-grid { grid-template-columns: 1fr !important; }
  .b-course-cards.b-course-cards.b-course-cards { grid-template-columns: 1fr !important; gap: 12px !important; }
  .b-product-card__name.b-product-card__name.b-product-card__name { font-size: 14px; }
  .b-footer__grid.b-footer__grid.b-footer__grid { grid-template-columns: 1fr; gap: 28px; } .b-footer__col.b-footer__col.b-footer__col a { padding: 6px 0; }
  .b-link.b-link.b-link { padding: 10px 0; }
  .b-archive-hero.b-archive-hero.b-archive-hero { padding: 32px 0 40px; } .b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .b-archive-hero__img.b-archive-hero__img.b-archive-hero__img { aspect-ratio: 16 / 9; }
  .b-archive-hero.b-archive-hero.b-archive-hero { overflow: hidden; } .b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid > * { min-width: 0; }
  .b-chips.b-chips.b-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 0 20px 4px; }
  .b-toolbar.b-toolbar.b-toolbar { flex-direction: column; align-items: stretch; padding: 20px 0 24px; }
  .b-toolbar__actions.b-toolbar__actions.b-toolbar__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .b-toolbar__actions.b-toolbar__actions.b-toolbar__actions .b-select.b-select.b-select { justify-content: center; }
  .b-course-row.b-course-row.b-course-row { display: flex !important; flex-wrap: wrap; gap: 6px 12px !important; padding: 16px 0 !important; }
  .b-course-row.b-course-row.b-course-row > :nth-child(1) { flex: 1 1 60%; }
  .b-course-row.b-course-row.b-course-row > :nth-child(2) { order: 5; flex: 1 1 50%; }
  .b-course-row.b-course-row.b-course-row > :nth-child(3) { order: 6; flex: 0 0 auto; }
  .b-course-row.b-course-row.b-course-row > :nth-child(4) { flex: 0 0 auto; }
  .b-course-row.b-course-row.b-course-row > :nth-child(5) { display: none; }
  .b-mega__grid.b-mega__grid.b-mega__grid, .b-sok__grid.b-sok__grid.b-sok__grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .b-sok.b-sok.b-sok { top: 12px !important; padding: 16px !important; }
  .b-sok.b-sok.b-sok { width: calc(100% - 24px) !important; }
  .b-sok.b-sok.b-sok .b-chips.b-chips.b-chips { margin: 0; padding: 0; flex-wrap: wrap; }
  .b-sok.b-sok.b-sok a > span:not(.b-icon-btn.b-icon-btn.b-icon-btn) { min-width: 0; }
}
  
/* =====================================================================
   Overstyringer av Elementor Atomic-grunnstiler (.e-con, .e-button-base ...)
   Elementor laster sine grunnstiler ETTER de globale klassene, så knapper og
   beholdere trenger disse mer spesifikke reglene for å se ut som designet.
   ===================================================================== */
.e-button-base.b-btn.b-btn.b-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 999px; border: 1px solid transparent; background: transparent; color: var(--b-ink); font: 600 14px/1.2 var(--b-font-body); letter-spacing: .04em; text-decoration: none; box-shadow: none; }
.e-button-base.b-btn--primary.b-btn--primary.b-btn--primary { background: var(--b-taupe); color: var(--b-ink); } .e-button-base.b-btn--primary.b-btn--primary.b-btn--primary:hover { background: #d9c6b1; color: var(--b-ink); }
.e-button-base.b-btn--dark.b-btn--dark.b-btn--dark { background: var(--b-ink); color: var(--b-ivory); } .e-button-base.b-btn--dark.b-btn--dark.b-btn--dark:hover { background: #3a332e; color: var(--b-ivory); }
.e-button-base.b-btn--outline.b-btn--outline.b-btn--outline { border-color: rgba(30,26,23,.3); color: var(--b-ink); } .e-button-base.b-btn--outline.b-btn--outline.b-btn--outline:hover { border-color: var(--b-ink); color: var(--b-ink); }
.e-button-base.b-btn--outline-light.b-btn--outline-light.b-btn--outline-light { border-color: rgba(246,242,236,.45); color: var(--b-ivory); } .e-button-base.b-btn--outline-light.b-btn--outline-light.b-btn--outline-light:hover { border-color: var(--b-ivory); color: var(--b-ivory); }
.e-button-base.b-btn--sm.b-btn--sm.b-btn--sm { min-height: 44px; padding: 0 20px; }
.e-button-base.b-link.b-link.b-link { display: inline-block; padding: 0 0 2px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; background: transparent; color: var(--b-ink); font: 600 14px/1.4 var(--b-font-body); letter-spacing: .04em; text-decoration: none; box-shadow: none; }
.e-button-base.b-link.b-link.b-link:hover { color: var(--b-taupe-deep); background: transparent; }
.b-section--dark.b-section--dark.b-section--dark .e-button-base.b-link.b-link.b-link, .b-hero.b-hero.b-hero .e-button-base.b-link.b-link.b-link { color: var(--b-ivory); }
.e-button-base.b-nav__link.b-nav__link.b-nav__link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--b-ivory); font: 500 14px/1.2 var(--b-font-body); letter-spacing: .02em; text-decoration: none; box-shadow: none; cursor: pointer; }
.e-button-base.b-nav__link.b-nav__link.b-nav__link:hover, .e-button-base.b-nav__link.b-nav__link.b-nav__link.is-open { color: var(--b-taupe); background: transparent; }
.e-button-base.b-footer__link.b-footer__link.b-footer__link { display: inline-block; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--b-ivory); font: 400 14px/1.6 var(--b-font-body); text-decoration: none; text-align: left; box-shadow: none; }
.e-button-base.b-footer__link.b-footer__link.b-footer__link:hover { color: var(--b-taupe); background: transparent; }
/* Beholdere: Elementor gir e-con 100 % bredde – i rader skal de være så brede som innholdet */
.b-header__row.b-header__row.b-header__row > .e-con, .b-row.b-row.b-row > .e-con, .b-section-head.b-section-head.b-section-head > .e-con, .b-footer__bottom.b-footer__bottom.b-footer__bottom > .e-con { width: auto; --width: auto; flex: 0 0 auto; }
.b-header__row.b-header__row.b-header__row > .b-nav.b-nav.b-nav { flex: 0 1 auto; }
.e-con.b-container.b-container.b-container { --width: 100%; }
/* v3-widgets (kortkode) inne i atomiske beholdere skal ikke ha ekstra margin */
.b-stack.b-stack.b-stack > .elementor-widget, .b-row.b-row.b-row > .elementor-widget, .b-course-panel.b-course-panel.b-course-panel > .elementor-widget, .b-course-card__foot.b-course-card__foot.b-course-card__foot > .elementor-widget, .b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid .elementor-widget, .b-container.b-container.b-container > .elementor-widget-shortcode { margin: 0; }
.b-row.b-row.b-row > .elementor-widget-shortcode { width: auto; }
.b-row.b-row.b-row > .elementor-widget-shortcode .elementor-shortcode { display: flex; align-items: center; gap: 14px; }
.b-course-card__foot.b-course-card__foot.b-course-card__foot .elementor-widget-container, .b-course-card__foot.b-course-card__foot.b-course-card__foot .elementor-shortcode { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
.b-course-card__foot.b-course-card__foot.b-course-card__foot .elementor-widget-shortcode { width: 100%; }
.b-course-card__em.b-course-card__em.b-course-card__em { font-style: normal; color: var(--b-taupe); }
.b-course-card__next.b-course-card__next.b-course-card__next { font-size: 13px; } .b-course-card__price.b-course-card__price.b-course-card__price { font-weight: 600; white-space: nowrap; }
/* Bilder som skal fylle en beholder (e-image er et rent <img>) */
.b-hero__bg.b-hero__bg.b-hero__bg, .b-course-card__img.b-course-card__img.b-course-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Loop Grid-elementer: ingen ramme/padding rundt kortet, klamp lange produktnavn */
.e-loop-item { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.e-loop-item > .b-product-card.b-product-card.b-product-card { width: 100%; }
.b-product-card__name.b-product-card__name.b-product-card__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.b-product-card.b-product-card.b-product-card .e-image-base { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
/* Hero: overlegg og innhold */
.b-hero.b-hero.b-hero > .b-hero__overlay.b-hero__overlay.b-hero__overlay { position: absolute; inset: 0; pointer-events: none; }
.b-hero.b-hero.b-hero > .b-container.b-container.b-container { position: relative; z-index: 1; }
/* Megamenyen ligger i headeren, som må være posisjonert */
.b-header.b-header.b-header { position: relative; }
.b-header.b-header.b-header > .elementor-widget-shortcode { position: static; margin: 0; }

/* ---------- Klasser som bare finnes som Elementor-klasser (samme verdier), lagt til her så de virker overalt ---------- */
.b-section-head.b-section-head.b-section-head { display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 24px; margin: 0 0 40px; }
.b-hero__content.b-hero__content.b-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 28px; }
.b-hero__lead.b-hero__lead.b-hero__lead { font-family: var(--b-font-body); font-size: 18px; line-height: 1.6; max-width: 46ch; margin: 0; color: rgba(246,242,236,.82); }
.b-hero__ctas.b-hero__ctas.b-hero__ctas { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 14px; }
.b-h2--light.b-h2--light.b-h2--light { color: var(--b-ivory); }
.b-small--light.b-small--light.b-small--light { color: rgba(246,242,236,.78); }
.b-footer__text.b-footer__text.b-footer__text { font-family: var(--b-font-body); font-size: 14px; line-height: 1.6; max-width: 34ch; margin: 0; color: rgba(246,242,236,.7); }
.b-logo__img.b-logo__img.b-logo__img { width: 34px; height: 34px; display: block; }
.b-logo__text.b-logo__text.b-logo__text { font-family: var(--b-font-display); font-size: 24px; font-weight: 600; letter-spacing: .18em; line-height: 1; margin: 0; color: var(--b-ivory); }
.b-img.b-img.b-img { width: 100%; display: block; object-fit: cover; border-radius: 4px; }
.b-img--4-3.b-img--4-3.b-img--4-3 { aspect-ratio: 4 / 3; }
.b-img--4-5.b-img--4-5.b-img--4-5 { aspect-ratio: 4 / 5; }
.b-step-card__img.b-step-card__img.b-step-card__img { width: 84px; height: 84px; object-fit: cover; border-radius: 4px; flex: 0 0 auto; }
.b-stack--sm.b-stack--sm.b-stack--sm { gap: 4px; }
.b-stack--md.b-stack--md.b-stack--md { gap: 14px; }
.b-split--end.b-split--end.b-split--end { align-items: flex-end; }
.b-mt-28.b-mt-28.b-mt-28 { margin-top: 28px; }
.b-mt-64.b-mt-64.b-mt-64 { margin-top: 64px; }
.b-mb-48.b-mb-48.b-mb-48 { margin-bottom: 48px; }
.b-w-full.b-w-full.b-w-full { width: 100%; }
.b-brandmark--sm.b-brandmark--sm.b-brandmark--sm { width: 44px; height: 44px; }
.b-badge--float.b-badge--float.b-badge--float { position: absolute; top: 12px; left: 12px; z-index: 2; }
.b-price-list.b-price-list.b-price-list { display: flex; flex-direction: column; margin-top: 8px; }
.b-spec-row.b-spec-row.b-spec-row { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; border-bottom: 1px solid rgba(246,242,236,.18); color: var(--b-ivory); text-decoration: none; }
.b-spec-row__name.b-spec-row__name.b-spec-row__name { font-family: var(--b-font-body); font-size: 16px; font-weight: 500; line-height: 1.4; margin: 0; color: var(--b-ivory); }
.b-spec-row__val.b-spec-row__val.b-spec-row__val { font-family: var(--b-font-body); font-size: 13px; line-height: 1.4; margin: 0; color: rgba(246,242,236,.6); }
.b-course-grid.b-course-grid.b-course-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 20px; align-items: stretch; }
.b-course-card.b-course-card.b-course-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 420px; padding: 24px; border-radius: 6px; overflow: hidden; background: var(--b-dark); color: var(--b-ivory); text-decoration: none; }
.b-course-card__body.b-course-card__body.b-course-card__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; }
.b-course-card__title.b-course-card__title.b-course-card__title { font-family: var(--b-font-display); font-size: 32px; font-weight: 500; line-height: 1.1; margin: 0; color: var(--b-ivory); }
.b-course-card__foot.b-course-card__foot.b-course-card__foot { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 12px; border-top: 1px solid rgba(246,242,236,.25); font-family: var(--b-font-body); font-size: 13px; color: var(--b-ivory); }
.b-course-panel.b-course-panel.b-course-panel { display: flex; flex-direction: column; padding: 8px 26px; }
.b-archive-hero.b-archive-hero.b-archive-hero { width: 100%; padding: 64px 0; background: var(--b-sand); overflow: hidden; }
.b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 64px; align-items: center; }
.b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid > * { min-width: 0; }
.b-archive-body.b-archive-body.b-archive-body { padding-bottom: 96px; }
.b-crumbs.b-crumbs.b-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-family: var(--b-font-body); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--b-ink-3); margin: 0; }
.b-toolbar.b-toolbar.b-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 0 32px; }
.b-toolbar__actions.b-toolbar__actions.b-toolbar__actions { display: flex; gap: 10px; align-items: center; }
.b-toolbar.b-toolbar.b-toolbar .woocommerce-ordering select { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(30,26,23,.25); font: 500 13px var(--b-font-body); background: #fff; color: var(--b-ink); }
.b-desktop-only.b-desktop-only.b-desktop-only { display: flex; }
.b-mobile-only.b-mobile-only.b-mobile-only { display: none; }
.b-icon.b-icon.b-icon { width: 22px; height: 22px; display: block; }
@media (max-width: 1024px) {
  .b-desktop-only.b-desktop-only.b-desktop-only { display: none !important; }
  .b-mobile-only.b-mobile-only.b-mobile-only { display: flex !important; }
  .b-course-grid.b-course-grid.b-course-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .b-hero__lead.b-hero__lead.b-hero__lead { font-size: 16px; }
  .b-hero__ctas.b-hero__ctas.b-hero__ctas { flex-direction: column; align-items: stretch; }
  .b-hero__ctas.b-hero__ctas.b-hero__ctas .b-btn.b-btn.b-btn { width: 100%; }
  .b-img--4-5.b-img--4-5.b-img--4-5 { aspect-ratio: 16 / 10; }
  .b-mt-64.b-mt-64.b-mt-64 { margin-top: 40px; }
  .b-mb-48.b-mb-48.b-mb-48 { margin-bottom: 32px; }
  .b-spec-row.b-spec-row.b-spec-row { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; padding: 12px 0; }
  .b-course-card.b-course-card.b-course-card { min-height: 360px; }
  .b-course-panel.b-course-panel.b-course-panel { padding: 0 16px; }
  .b-archive-hero.b-archive-hero.b-archive-hero { padding: 32px 0 40px; }
  .b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .b-toolbar.b-toolbar.b-toolbar { flex-direction: column; align-items: stretch; padding: 20px 0 24px; }
}

/* =====================================================================
   Tillegg 2026-09-04: mobilfikser etter test i 390px-visning
   ===================================================================== */
/* Elementor gir widgets i header-malen 20px bunnmarg → ivory stripe over hero. Shortcode-widgetene (megameny, mobilmeny, søk) er tomme i flyten. */
.elementor-location-header .elementor-widget { margin-bottom: 0; }
.elementor-location-header .elementor-widget:not(:last-child) { margin-bottom: 0; }
/* Mobilmenyens undernivåer skal være lukket til trekkspillet åpner dem (JS setter is-open). */
.b-acc__sub.b-acc__sub.b-acc__sub:not(.is-open) { display: none; }
@media (max-width: 760px) {
  /* Header: logo + fire ikonknapper må få plass på 390px. */
  .b-header__row.b-header__row.b-header__row { height: 68px; gap: 8px; }
  .b-logo.b-logo.b-logo { gap: 8px; }
  /* .b-logo.b-logo.b-logo img/span-reglene fra designet har spesifisitet 0-3-1, derfor .b-logo.b-logo.b-logo foran. */
  .b-logo.b-logo.b-logo .b-logo__img.b-logo__img.b-logo__img { width: 28px; height: 28px; }
  .b-logo.b-logo.b-logo .b-logo__text.b-logo__text.b-logo__text { font-size: 18px; letter-spacing: .14em; }
  .b-header__tools.b-header__tools.b-header__tools { gap: 0; }
  .b-icon-btn.b-icon-btn.b-icon-btn { width: 40px; height: 40px; }
  .b-icon-btn.b-icon-btn.b-icon-btn .b-ico.b-ico.b-ico { width: 21px; height: 21px; }
  /* Footer: lenkekolonnene side om side, merke og kontakt i full bredde. */
  .b-footer__grid.b-footer__grid.b-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .b-footer__col.b-footer__col.b-footer__col:first-child, .b-footer__col.b-footer__col.b-footer__col:last-child { grid-column: 1 / -1; }
}
/* Badges i menyer (Nyhet, Nye kurs) er inline; bare .b-badge--float.b-badge--float.b-badge--float (kurskortet) skal ligge absolutt. */
.b-badge.b-badge.b-badge:not(.b-badge--float.b-badge--float.b-badge--float) { position: static; }
/* Radius-variabler brukes av knapper/søkefelt i shortcode-markupen, men var aldri definert (ga 0 radius i mobilmenyen). */
:root { --b-radius: 6px; --b-radius-pill: 999px; }
/* ---------- Produktarkiv: «Vis flere produkter»-knappen (Loop Grid load more) i b-btn--dark-stil ---------- */
.e-loop__load-more { display: flex; justify-content: center; margin-top: 40px; }
.e-loop__load-more .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 30px; border-radius: 999px; background: var(--b-ink); color: var(--b-ivory); font: 500 14px/1 var(--b-font-body); letter-spacing: .01em; text-decoration: none; transition: background .2s, transform .2s; }
.e-loop__load-more .elementor-button:hover { background: var(--b-ink-2); color: var(--b-ivory); transform: translateY(-1px); }
.e-loop__load-more .elementor-button .elementor-button-text { font: inherit; }
.e-loop__load-more-message { text-align: center; margin-top: 32px; font: 400 14px var(--b-font-body); color: var(--b-ink-3); }
/* Kategori uten bilde: skjul den tomme bildeboksen i arkiv-heroen (Elementor rendrer <img> uten src). */
.b-archive-hero__media.b-archive-hero__media.b-archive-hero__media:has(> img:not([src])), .b-archive-hero__media.b-archive-hero__media.b-archive-hero__media:has(> img[src=""]) { display: none; }
/* Søke-popup på mobil: designfilens gamle .b-sok-regler.b-sok-regler.b-sok-regler (top/padding/width med !important) traff overlegget i stedet for panelet. Nullstilles her. */
@media (max-width: 760px) {
  .b-sok.b-sok.b-sok { top: 0 !important; padding: 0 !important; width: auto !important; }
  .b-sok__panel.b-sok__panel.b-sok__panel { top: 12px; width: calc(100% - 24px); }
}

/* =====================================================================
   Fargesystem «salvie» og produktkort B/C – besluttet 4. sept 2026 (se kanvaset, side «Alternativer»)
   Lys salvie #5e7675 = header, footer, mørk seksjon, mørke knapper, merker (alltid med hvit tekst, 4,9:1).
   Dyp salvie #354545 = små etiketter på ivory, hero-gradient, kurskortet.
   Taupe #c7b5a1 = primærknapp med ink-tekst og logomerket. Samme verdier ligger i Elementor-variablene.
   ===================================================================== */
:root { --b-teal: #5e7675; --b-teal-soft: #e3e9e7; --b-taupe: #c7b5a1; --b-dark: #5e7675; --b-deep: #354545; }
/* Header */
.b-header.b-header.b-header { background: var(--b-dark); color: #fff; }
.b-nav__link.b-nav__link.b-nav__link { color: #fff; } .b-nav__link.b-nav__link.b-nav__link:hover, .b-nav__link.b-nav__link.b-nav__link.is-open { color: rgba(255,255,255,0.75); }
.b-header.b-header.b-header .b-btn--outline-light.b-btn--outline-light.b-btn--outline-light, .b-section--dark.b-section--dark.b-section--dark .b-btn--outline-light.b-btn--outline-light.b-btn--outline-light { color: #fff; border-color: rgba(255,255,255,0.6); }
.b-logo__text.b-logo__text.b-logo__text { color: #fff; }
.b-header.b-header.b-header .b-icon-btn.b-icon-btn.b-icon-btn { color: #fff; }
/* Footer */
.b-footer.b-footer.b-footer { background: var(--b-dark); color: #fff; }
.b-footer__link.b-footer__link.b-footer__link { color: #fff; } .b-footer__link.b-footer__link.b-footer__link:hover { color: #fff; text-decoration: underline; }
.b-footer__heading.b-footer__heading.b-footer__heading { color: rgba(255,255,255,0.85); }
.b-footer__text.b-footer__text.b-footer__text { color: rgba(255,255,255,0.9); }
.b-footer__bottom.b-footer__bottom.b-footer__bottom { color: rgba(255,255,255,0.85); border-top-color: rgba(255,255,255,0.25); }
.b-footer__grid.b-footer__grid.b-footer__grid { border-bottom-color: rgba(255,255,255,0.25); }
/* Mørk seksjon (Elleebana) */
.b-section--dark.b-section--dark.b-section--dark { background: #5e7675; color: #fff; }
.b-h2--light.b-h2--light.b-h2--light { color: #fff; } .b-body--light.b-body--light.b-body--light { color: rgba(255,255,255,0.9); }
.b-section--dark.b-section--dark.b-section--dark .b-eyebrow--light.b-eyebrow--light.b-eyebrow--light { color: #fff; }
.b-spec-row.b-spec-row.b-spec-row { color: #fff; border-color: rgba(255,255,255,0.28); } .b-spec-row__name.b-spec-row__name.b-spec-row__name { color: #fff; } .b-spec-row__val.b-spec-row__val.b-spec-row__val { color: rgba(255,255,255,0.8); }
.b-section--dark.b-section--dark.b-section--dark .b-price-list.b-price-list.b-price-list { border-top-color: rgba(255,255,255,0.28); }
.b-section--dark.b-section--dark.b-section--dark .b-brandmark.b-brandmark.b-brandmark { background: #fff; }
/* Knapper etter alternativ 2 */
.b-btn--dark.b-btn--dark.b-btn--dark { background: var(--b-teal); color: #fff; } .b-btn--dark.b-btn--dark.b-btn--dark:hover { background: #526867; color: #fff; }
.b-btn--primary.b-btn--primary.b-btn--primary { background: var(--b-taupe); color: var(--b-ink); }
/* Små etiketter i dyp salvie, uten pille */
.b-eyebrow--teal.b-eyebrow--teal.b-eyebrow--teal { color: var(--b-deep); }
.b-badge.b-badge.b-badge { background: var(--b-teal); color: #fff; }
.b-product-card__add.b-product-card__add.b-product-card__add { background: var(--b-teal); color: #fff; }
.b-course-card.b-course-card.b-course-card { background: var(--b-deep); }
/* Hero: svart-hvitt bilde under et salvie-slør, dyp salvie bak teksten */
.b-hero.b-hero.b-hero { background: #5e7675; }
.b-hero__bg.b-hero__bg.b-hero__bg { filter: grayscale(1) brightness(1.2); opacity: 0.9; }
.b-hero__overlay.b-hero__overlay.b-hero__overlay { background: linear-gradient(90deg, rgba(53,69,69,0.86) 0%, rgba(94,118,117,0.74) 50%, rgba(94,118,117,0.62) 100%), linear-gradient(180deg, rgba(53,69,69,0) 0%, rgba(53,69,69,0.55) 100%); }

/* ---------- Produktkort B «Galleri» (forsiden, loop-item 52024) ---------- */
.b-product-card--galleri.b-product-card--galleri.b-product-card--galleri { height: 100%; }
.b-product-card--galleri.b-product-card--galleri.b-product-card--galleri .b-product-card__media.b-product-card__media.b-product-card__media { aspect-ratio: 1 / 1; background: var(--b-white); border-radius: 6px; overflow: hidden; border: 1px solid rgba(30,26,23,0.08); }
.b-product-card--galleri.b-product-card--galleri.b-product-card--galleri .b-product-card__img.b-product-card__img.b-product-card__img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.b-product-card--galleri.b-product-card--galleri.b-product-card--galleri > .b-stack.b-stack.b-stack { flex: 1 1 auto; }
.b-product-card__foot.b-product-card__foot.b-product-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 8px; }
.b-product-card__addlink.b-product-card__addlink.b-product-card__addlink { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: var(--b-ink); border-bottom: 1px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.b-product-card__addlink.b-product-card__addlink.b-product-card__addlink .b-ico.b-ico.b-ico { width: 14px; height: 14px; }
/* ---------- Produktkort C «Rammekort» (arkivet) ---------- */
.b-product-card--ramme.b-product-card--ramme.b-product-card--ramme { height: 100%; padding: 12px 12px 14px; background: var(--b-white); border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; }
.b-product-card--ramme.b-product-card--ramme.b-product-card--ramme .b-product-card__media.b-product-card__media.b-product-card__media { border-radius: 4px; overflow: hidden; }
.b-product-card--ramme.b-product-card--ramme.b-product-card--ramme > .b-stack.b-stack.b-stack { flex: 1 1 auto; padding: 0 4px; }
.b-product-card__btn.b-product-card__btn.b-product-card__btn { width: 100%; margin-top: auto; }
.b-btn--soft.b-btn--soft.b-btn--soft { background: var(--b-sand); color: var(--b-ink); } .b-btn--soft.b-btn--soft.b-btn--soft:hover { color: var(--b-ink); background: #e2d9cd; }
.b-btn--soft.b-btn--soft.b-btn--soft .b-ico.b-ico.b-ico { width: 16px; height: 16px; }
/* ---------- Behandlinger: priser i fast kolonne så «kr» står under hverandre ---------- */
.b-price-row__price.b-price-row__price.b-price-row__price { min-width: 76px; text-align: right; white-space: nowrap; flex: none; }
.b-price-row__name.b-price-row__name.b-price-row__name { min-width: 0; }
/* ---------- Kursrader: «Neste kurs» som etikett over datoen ---------- */
.b-course-row__next.b-course-row__next.b-course-row__next { display: flex; flex-direction: column; gap: 3px; }
.b-course-row__em.b-course-row__em.b-course-row__em { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; color: var(--b-taupe-deep); }
.b-course-row__label.b-course-row__label.b-course-row__label { font-size: 14px; font-weight: 500; color: var(--b-ink); }
.b-course-card__next.b-course-card__next.b-course-card__next { display: flex; flex-direction: column; gap: 3px; }
.b-course-card__em.b-course-card__em.b-course-card__em { font-style: normal; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; color: var(--b-taupe); }
.b-course-card__date.b-course-card__date.b-course-card__date { font-size: 13px; }
/* ---------- Mobil ---------- */
@media (max-width: 760px) {
  .b-section--dark.b-section--dark.b-section--dark { padding: 64px 0; }
  .b-actions.b-actions.b-actions { flex-direction: column; align-items: stretch; } .b-actions.b-actions.b-actions .b-btn.b-btn.b-btn { width: 100%; } .b-actions.b-actions.b-actions .b-small.b-small.b-small { text-align: center; }
  .b-price-actions.b-price-actions.b-price-actions { flex-direction: column; align-items: stretch; } .b-price-actions.b-price-actions.b-price-actions .b-btn.b-btn.b-btn { width: 100%; } .b-price-toggle.b-price-toggle.b-price-toggle { order: -1; }
  .b-course-row.b-course-row.b-course-row { align-items: flex-start; }
  .b-course-row__next.b-course-row__next.b-course-row__next { margin-top: 8px; } .b-course-row__dur.b-course-row__dur.b-course-row__dur { margin-top: 29px; } .b-course-row__price.b-course-row__price.b-course-row__price { margin-top: 3px; }
  .b-course-row__chev.b-course-row__chev.b-course-row__chev { margin-top: 11px; } /* chevronen er 9px kantlinjer rotert 45°; høyde/flex på selve spannet strekker den til en strek */
  .b-footer__grid.b-footer__grid.b-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .b-footer__grid.b-footer__grid.b-footer__grid > .b-footer__col.b-footer__col.b-footer__col:first-child { grid-column: 1 / -1; } .b-footer__grid.b-footer__grid.b-footer__grid > .b-footer__col.b-footer__col.b-footer__col:last-child { grid-column: auto; }
  .b-footer__col.b-footer__col.b-footer__col { gap: 0; } .b-footer__link.b-footer__link.b-footer__link { padding: 5px 0; min-height: 0; }
  .b-product-card__foot.b-product-card__foot.b-product-card__foot { flex-direction: column; align-items: flex-start; gap: 6px; }
  .b-product-card--ramme.b-product-card--ramme.b-product-card--ramme { padding: 8px 8px 10px; } .b-product-card__btn.b-product-card__btn.b-product-card__btn { min-height: 40px; font-size: 12px; padding: 0 8px; } .b-price.b-price.b-price { white-space: nowrap; }
}
/* Elementor-knapper (e-button-base) har egne regler med høyere spesifisitet lenger opp i filen; gjentas her i salvie. */
.e-button-base.b-btn--dark.b-btn--dark.b-btn--dark { background: var(--b-teal); color: #fff; } .e-button-base.b-btn--dark.b-btn--dark.b-btn--dark:hover { background: #526867; color: #fff; }
.e-button-base.b-btn--primary.b-btn--primary.b-btn--primary { background: var(--b-taupe); color: var(--b-ink); }
.e-button-base.b-btn--outline-light.b-btn--outline-light.b-btn--outline-light { color: #fff; border-color: rgba(255,255,255,0.6); } .e-button-base.b-btn--outline-light.b-btn--outline-light.b-btn--outline-light:hover { color: #fff; border-color: #fff; }
.e-button-base.b-nav__link.b-nav__link.b-nav__link { color: #fff; } .e-button-base.b-nav__link.b-nav__link.b-nav__link:hover, .e-button-base.b-nav__link.b-nav__link.b-nav__link.is-open { color: rgba(255,255,255,0.75); }
.e-button-base.b-footer__link.b-footer__link.b-footer__link { color: #fff; } .e-button-base.b-footer__link.b-footer__link.b-footer__link:hover { color: #fff; text-decoration: underline; }
.b-section--dark.b-section--dark.b-section--dark .e-button-base.b-link.b-link.b-link, .b-hero.b-hero.b-hero .e-button-base.b-link.b-link.b-link { color: #fff; }
.e-loop__load-more .elementor-button { background: var(--b-teal); color: #fff; } .e-loop__load-more .elementor-button:hover { background: #526867; color: #fff; }
/* Mobil: «Vis alle priser» kommer fra en kortkode-widget; det er widget-innpakningen som må flyttes øverst. */
@media (max-width: 760px) {
  .b-price-actions.b-price-actions.b-price-actions > .elementor-widget-shortcode { order: -1; width: 100%; }
  .b-price-actions.b-price-actions.b-price-actions > .elementor-widget-shortcode .b-btn.b-btn.b-btn, .b-price-actions.b-price-actions.b-price-actions > .e-button-base { width: 100%; }
}
/* ---------- Elementor-standarder som ikke finnes i designet ---------- */
/* Atomic Div Block har 10px padding som standard. Designets beholdere (stack, row, split, grid …) har ingen; klasser med egen padding (b-container, b-card, b-step-card, b-course-card, rammekort) vinner fortsatt på spesifisitet. */
.elementor .e-div-block-base, .elementor .e-flexbox-base { padding: 0; } /* 0-2-0: klasser med egen padding (b-container, b-card, b-step-card, b-course-card, rammekort) vinner */
/* Klassiske widgets (kortkoder) har 20px bunnmarg når de ikke er sist i en beholder. */
.b-header.b-header.b-header .elementor-widget-shortcode, .b-footer.b-footer.b-footer .elementor-widget-shortcode, .b-hero.b-hero.b-hero .elementor-widget-shortcode, .b-section.b-section.b-section .elementor-widget-shortcode, .b-archive-hero.b-archive-hero.b-archive-hero .elementor-widget-shortcode, .b-archive-body.b-archive-body.b-archive-body .elementor-widget-shortcode, .b-product-card.b-product-card.b-product-card .elementor-widget-shortcode { margin-bottom: 0; }
/* Chevron på kursradene skal også vises på mobil (en eldre mobilregel skjulte den). */
@media (max-width: 760px) {
  .b-course-row.b-course-row.b-course-row > .b-course-row__chev.b-course-row__chev.b-course-row__chev { display: inline-block !important; }
}
/* Tallboble på kurv-ikonet: kortkode-widgeten skal ikke ta plass; selve boblen er posisjonert absolutt av .b-icon-btn__count.b-icon-btn__count.b-icon-btn__count. */
.b-icon-btn.b-icon-btn.b-icon-btn .elementor-widget-shortcode { position: static; width: 0; height: 0; overflow: visible; }
/* ---------- Tekstlenker: bare én strek (temaet legger på text-decoration i tillegg til kantlinjen) ---------- */
.b-link.b-link.b-link, .e-button-base.b-link.b-link.b-link, .b-product-card__addlink.b-product-card__addlink.b-product-card__addlink, .b-acc__all.b-acc__all.b-acc__all, .b-mega__more.b-mega__more.b-mega__more { text-decoration: none !important; }
/* ---------- «eks. mva» dempet etter prisen (WooCommerce-suffiks og bf_pris) ---------- */
.b-price.b-price.b-price small, .b-price.b-price.b-price .woocommerce-price-suffix, .e-paragraph-base.b-price.b-price.b-price small, .e-paragraph-base.b-price.b-price.b-price .woocommerce-price-suffix { font-size: 12px; font-weight: 400; color: var(--b-ink-4); }
/* ---------- Topp-luft under headeren på innholdssider (mobil): kundesenter, juridiske sider, min konto, handlekurv ---------- */
@media (max-width: 760px) {
  .b-ks-page.b-ks-page.b-ks-page, .b-legal.b-legal.b-legal, .woocommerce-account .entry-content > .woocommerce, .woocommerce-cart .entry-content > .woocommerce, .page-id-314 .elementor-element-363bdaa.elementor-element-363bdaa { padding: 40px 20px 64px !important; } .page-id-314 .elementor-element-a873a6e.elementor-element-a873a6e { padding: 0 !important; }
}
/* ---------- Kampanjebanner over prislisten på forsiden ([bf_behandlinger]) ---------- */
.b-price-kampanje.b-price-kampanje.b-price-kampanje { display: flex; align-items: center; gap: 12px; padding: 12px 16px; margin-bottom: 8px; background: var(--b-teal); border-radius: 6px; }
.b-price-kampanje__badge.b-price-kampanje__badge.b-price-kampanje__badge { flex: none; display: inline-block; padding: 4px 12px; border-radius: 999px; background: #f4e4dc; color: #6d3b2b; font-size: 13px; font-weight: 600; letter-spacing: 0.02em; white-space: nowrap; }
.b-price-kampanje__tekst.b-price-kampanje__tekst.b-price-kampanje__tekst { font-size: 14px; line-height: 1.4; color: var(--b-ivory); }
@media (max-width: 760px) {
  .b-price-kampanje.b-price-kampanje.b-price-kampanje { padding: 10px 14px; gap: 10px; }
  .b-price-kampanje__tekst.b-price-kampanje__tekst.b-price-kampanje__tekst { font-size: 13px; }
}
/* ---------- Kampanjepris på behandlinger (rabattpris i CPT) ---------- */
.b-treat__price--rabatt.b-treat__price--rabatt.b-treat__price--rabatt { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.b-treat__price-old.b-treat__price-old.b-treat__price-old { font-size: 12px; font-weight: 400; color: var(--b-ink-3); text-decoration: line-through; }
.b-treat__price-new.b-treat__price-new.b-treat__price-new { font-size: 17px; font-weight: 600; color: var(--b-ink); }
.b-treat__kampanje.b-treat__kampanje.b-treat__kampanje { display: flex; align-items: center; gap: 8px; margin-top: -2px; }
.b-treat__badge.b-treat__badge.b-treat__badge { display: inline-block; padding: 3px 10px; border-radius: 999px; background: #f4e4dc; color: #6d3b2b; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; white-space: nowrap; }
.b-treat__kampanje-tekst.b-treat__kampanje-tekst.b-treat__kampanje-tekst { font-size: 12px; color: var(--b-ink-3); }
.b-price-row__old.b-price-row__old.b-price-row__old { font-size: 12px; font-weight: 400; color: var(--b-ink-3); text-decoration: line-through; margin-right: 6px; }
/* ---------- Behandlingssiden: kort per behandling ([bf_behandlinger_liste]) ---------- */
.b-treat-grid.b-treat-grid.b-treat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.b-treat.b-treat.b-treat { display: flex; flex-direction: column; gap: 10px; padding: 24px; background: var(--b-white); border: 1px solid rgba(30,26,23,0.08); border-radius: 6px; color: var(--b-ink); text-decoration: none !important; }
.b-treat.b-treat.b-treat:hover { border-color: rgba(30,26,23,0.2); }
.b-treat__head.b-treat__head.b-treat__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.b-treat__title.b-treat__title.b-treat__title { font-family: var(--b-font-display); font-size: 24px; line-height: 1.15; }
.b-treat__price.b-treat__price.b-treat__price { font-weight: 600; white-space: nowrap; padding-top: 4px; }
.b-treat__text.b-treat__text.b-treat__text { font-size: 14px; line-height: 1.6; color: var(--b-ink-2); }
.b-treat__foot.b-treat__foot.b-treat__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--b-line); }
.b-treat__meta.b-treat__meta.b-treat__meta { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--b-ink-3); }
.b-treat.b-treat.b-treat .b-link.b-link.b-link { font-size: 13px; }
.b-btn--xs.b-btn--xs.b-btn--xs { min-height: 36px; padding: 0 16px; font-size: 12px; }
@media (max-width: 760px) {
  .b-treat-grid.b-treat-grid.b-treat-grid { grid-template-columns: 1fr; gap: 12px; } .b-treat.b-treat.b-treat { padding: 18px; } .b-treat__title.b-treat__title.b-treat__title { font-size: 20px; }
}
/* ---------- Megameny (desktop): kategorilenker i bunnstripen, prisnote til høyre, «Se serien» med kort strek ---------- */
.b-mega__foot.b-mega__foot.b-mega__foot { align-items: baseline; }
.b-mega__foot-links.b-mega__foot-links.b-mega__foot-links { display: flex; align-items: baseline; gap: 28px; flex-wrap: wrap; }
.b-mega__foot-links.b-mega__foot-links.b-mega__foot-links .b-link.b-link.b-link { font-size: 13px; font-weight: 500; color: var(--b-ink-3); border-bottom-color: rgba(30,26,23,0.35); text-decoration: none !important; }
.b-mega__foot-links.b-mega__foot-links.b-mega__foot-links .b-link.b-link.b-link:hover { color: var(--b-ink); }
.b-mega__tile-body.b-mega__tile-body.b-mega__tile-body .b-link.b-link.b-link, .b-mega__tile.b-mega__tile.b-mega__tile .b-link.b-link.b-link { align-self: flex-start; width: max-content; }
/* Mobil: Starter Pack-lenken rett under bildet (split-gap 32px + b-mt-28 ga ~60px luft; nå ca. 16px som på kanvaset). */
@media (max-width: 760px) {
  .b-split.b-split.b-split > .b-mobile-only.b-mobile-only.b-mobile-only.b-mt-28.b-mt-28.b-mt-28 { margin-top: -16px; }
}
/* Rammekort (arkivet): prisen ligger i bunnen av tekstblokken, så pris og knapp flukter i raden uansett navnelengde. */
.b-product-card--ramme.b-product-card--ramme.b-product-card--ramme > .b-stack.b-stack.b-stack { display: flex; flex-direction: column; }
.b-product-card--ramme.b-product-card--ramme.b-product-card--ramme > .b-stack.b-stack.b-stack > .b-price.b-price.b-price { margin-top: auto; padding-top: 6px; }
/* ---------- Produktkort etter «Legg i kurv» ---------- */
/* WooCommerce sin egen «Vis handlekurv»-lenke etter knappen skjules; knappen bytter selv tekst (se «Forside 2026 – JS»). */
.b-product-card.b-product-card.b-product-card .added_to_cart, .b-product-card__foot.b-product-card__foot.b-product-card__foot .added_to_cart { display: none !important; }
.b-product-card__btn.b-product-card__btn.b-product-card__btn.loading, .b-product-card__addlink.b-product-card__addlink.b-product-card__addlink.loading { opacity: 0.6; pointer-events: none; }
.b-product-card__btn.b-product-card__btn.b-product-card__btn.is-added { background: #e3e9e7; color: var(--b-deep); }
.b-product-card__btn.b-product-card__btn.b-product-card__btn.is-cart { background: var(--b-teal); color: #fff; }
.b-product-card__addlink.b-product-card__addlink.b-product-card__addlink.is-added { color: var(--b-deep); border-bottom-color: transparent; }
.b-product-card__addlink.b-product-card__addlink.b-product-card__addlink.is-cart { color: var(--b-teal); border-bottom-color: currentColor; }
.b-ico--check.b-ico--check.b-ico--check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); }
/* Litt mer luft mellom kategorinavn og produktnavn på produktkortene. */
.b-product-card__brand.b-product-card__brand.b-product-card__brand { margin-bottom: 4px; }
/* Bunnstripen i megamenyen: lenkene som ren tekst med understrek (ingen kantlinje/padding som gjør boksen høyere), så de ligger på linje med prisnoten. */
.b-mega__foot.b-mega__foot.b-mega__foot { align-items: center; }
.b-mega__foot-links.b-mega__foot-links.b-mega__foot-links { align-items: center; }
.b-mega__foot-links.b-mega__foot-links.b-mega__foot-links .b-link.b-link.b-link { display: inline; padding: 0; border: 0; line-height: 1.5; text-decoration: underline !important; text-decoration-color: rgba(30,26,23,0.35); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.b-mega__foot-links.b-mega__foot-links.b-mega__foot-links .b-link.b-link.b-link:hover { text-decoration-color: currentColor; }
/* ---------- Søkeresultater (Advanced Woo Search) i søke-popupen ----------
   AWS legger resultatlisten i <body>, utenfor panelet. Her får den samme flate, hjørner og skrift som panelet,
   så den leses som en del av popupen. */
html .aws-search-result { background: var(--b-ivory); border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; box-shadow: 0 30px 60px -24px rgba(30,26,23,0.45); margin-top: 8px; padding: 6px; font-family: var(--b-font-body); z-index: 9999; overflow: hidden; }
html .aws-search-result ul { padding: 0; }
html .aws-search-result .aws_result_item { border-bottom: 1px solid var(--b-line); }
html .aws-search-result li:last-child .aws_result_item { border-bottom: 0; }
html .aws-search-result .aws_result_link { padding: 12px 10px; border-radius: 4px; }
html .aws-search-result .aws_result_link:hover, html .aws-search-result .aws_result_link:focus { background: var(--b-sand); }
html .aws-search-result .aws_result_title { font-size: 14px; font-weight: 600; color: var(--b-ink); line-height: 1.35; }
html .aws-search-result .aws_result_excerpt, html .aws-search-result .aws_result_content { font-size: 13px; color: var(--b-ink-3); line-height: 1.5; }
html .aws-search-result .aws_result_content strong { color: var(--b-ink); font-weight: 600; }
html .aws-search-result .aws_result_price { font-size: 14px; font-weight: 500; color: var(--b-ink); }
html .aws-search-result .aws_result_price .woocommerce-price-suffix, html .aws-search-result .aws_result_price small { font-size: 12px; color: var(--b-ink-4); font-weight: 400; }
html .aws-search-result .aws_result_image { border-radius: 4px; overflow: hidden; background: #fff; }
html .aws-search-result .aws_result_image img { border-radius: 4px; }
html .aws-search-result .aws_search_more, html .aws-search-result .aws_view_all { font-size: 13px; font-weight: 600; color: var(--b-ink); padding: 12px 10px; }
html .aws-search-result .aws_result_sale { display: none; }
html .aws-search-result .aws-search-result-scroll { max-height: 60vh; }
/* AWS setter border-radius 0 med !important; overstyres her. Når resultater vises, skjules «Populære søk/snarveier» og panelet
   vokser rundt resultatlisten (JS setter has-results og --bf-results-h på panelet), så listen ligger inne i popupen. */
html .aws-search-result { border-radius: 6px !important; }
html .aws-search-result .aws_result_link, html .aws-search-result .aws_result_image, html .aws-search-result .aws_result_image img { border-radius: 4px !important; }
.b-sok__panel.b-sok__panel.b-sok__panel.has-results .b-sok__grid.b-sok__grid.b-sok__grid { display: none; }
.b-sok__panel.b-sok__panel.b-sok__panel.has-results { padding-bottom: calc(var(--bf-results-h, 0px) + 36px); }
/* Mobil: litt mer luft i footeren (lenkerader, avstand mellom tekst og kontaktinfo, avstand mellom kolonnene). */
@media (max-width: 760px) {
  .b-footer__grid.b-footer__grid.b-footer__grid { gap: 36px 20px; }
  .b-footer__col.b-footer__col.b-footer__col { gap: 2px; }
  .b-footer__link.b-footer__link.b-footer__link { padding: 4px 0; }
  .b-footer__text.b-footer__text.b-footer__text { margin-bottom: 8px; }
  .b-footer__heading.b-footer__heading.b-footer__heading { margin-bottom: 8px; }
}
@media (max-width: 760px) {
  .e-button-base.b-footer__link.b-footer__link.b-footer__link { padding: 4px 0; min-height: 0; } /* Elementor-knappens egen 0-padding-regel har høyere prioritet enn .b-footer__link.b-footer__link.b-footer__link */
}
/* Mobil: tettere produktgrid (Loop Grid har 30px mellomrom som standard) og priser som får bryte linje i kortet. */
@media (max-width: 760px) {
  .elementor-widget-loop-grid .elementor-loop-container { gap: 12px !important; column-gap: 12px !important; row-gap: 16px !important; }
  .b-product-card.b-product-card.b-product-card .b-price.b-price.b-price { white-space: normal; }
  .b-product-card.b-product-card.b-product-card .b-price.b-price.b-price s, .b-product-card.b-product-card.b-product-card .b-price.b-price.b-price del { white-space: nowrap; }
}
/* Mobil: bunnlinjen i footer på to linjer, og plass nederst så cookie-ikonet ikke ligger over teksten. */
@media (max-width: 760px) {
  .b-footer__bottom.b-footer__bottom.b-footer__bottom { flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 20px; }
  .b-footer.b-footer.b-footer { padding-bottom: 88px; }
}
/* Bunnlinjen i footer: mer luft mot skillestreken og mot bunnen, også på desktop. */
.b-footer__bottom.b-footer__bottom.b-footer__bottom { padding-top: 24px; padding-bottom: 8px; }

/* Header følger med når man scroller, på alle sider (2026-09-07). Forsiden beholder overlay + fixed via JS
   (.home .b-header). På andre sider gjøres Elementors header-wrapper sticky, siden #main-container i Blocksy
   ikke er en scroll-container. */
body:not(.home) header.elementor-location-header { position: sticky; top: 0; z-index: 60; }
body.admin-bar:not(.home) header.elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar:not(.home) header.elementor-location-header { top: 46px; } }

/* MIDLERTIDIG (2026-09-07): kategoritekster og kategoribilder er skjult til de er revidert.
   Teksten skjules i PHP (snippet «Produktarkiv-hjelpere», filter get_the_archive_description); her skjules bildet
   og den tomme tekstboksen. Fjern denne blokken + PHP-filteret når tekstene skal publiseres. */
/* (7. sept kveld: alle kategorier har godkjent bilde, skjuleregelen er fjernet) */
.b-archive-hero.b-archive-hero.b-archive-hero [data-id="bfadesc1"]:empty { display: none; }
/* Underkategori-chips: maks 6 synlige, resten bak «+N flere» (markup i [bf_underkategorier], klikk i JS). */
.b-chips.b-chips.b-chips .b-chip.b-chip.b-chip.is-extra { display: none; }
.b-chips.b-chips.b-chips.is-expanded .b-chip.b-chip.b-chip.is-extra { display: inline-flex; }
.b-chip--more.b-chip--more.b-chip--more { cursor: pointer; border-style: dashed; color: var(--b-ink); font-family: inherit; }
.b-chip--more.b-chip--more.b-chip--more:hover { border-style: solid; }

/* Kategoritekst i arkiv-heroen: kort ingress + «Les mer» ([bf_kategoritekst]). */
.b-cat-desc.b-cat-desc.b-cat-desc { max-width: 62ch; }
.b-cat-desc.b-cat-desc.b-cat-desc p { margin: 0 0 12px; }
.b-cat-desc.b-cat-desc.b-cat-desc ul, .b-cat-desc.b-cat-desc.b-cat-desc ol { margin: 0 0 12px; padding-left: 20px; }
.b-cat-desc.b-cat-desc.b-cat-desc > :last-child, .b-cat-desc__full.b-cat-desc__full.b-cat-desc__full > :last-child { margin-bottom: 0; }
.b-cat-desc__toggle.b-cat-desc__toggle.b-cat-desc__toggle { display: inline; background: none; border: 0; padding: 0; margin: 0; font: inherit; font-weight: 600; color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.b-cat-desc__toggle.b-cat-desc__toggle.b-cat-desc__toggle:hover { text-decoration-thickness: 2px; }

/* Piller på produktkortet ([bf_produkt_merker]): rabatt oppe til venstre, kort merkelapp (ACF) oppe til høyre. */
.b-product-card__media.b-product-card__media.b-product-card__media { position: relative; }
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { position: static; margin: 0; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { position: absolute; top: 12px; z-index: 2; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale { left: 12px; background: var(--b-teal); color: #fff; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { right: 12px; left: auto; background: var(--b-teal); color: #fff; }
/* Footer på desktop: lenkekolonnene midtstilles loddrett mot Balenchi-kolonnen. */
/* Footer på desktop: lenkekolonnene starter på samme linje og ligger loddrett sentrert mot Balenchi-kolonnen. */
@media (min-width: 761px) { .b-footer__grid.b-footer__grid.b-footer__grid { align-items: start; } .b-footer__grid.b-footer__grid.b-footer__grid > .b-footer__col.b-footer__col.b-footer__col:not(:first-child) { padding-top: 46px; } }

/* Produktnavn på mobil: tre linjer før det klippes (kortet er halvparten så bredt som på desktop). */
@media (max-width: 760px) { .b-product-card__name.b-product-card__name.b-product-card__name { -webkit-line-clamp: 3; } }

/* Piller på mobil: mindre, og når kortet har både rabatt og merkelapp legges merkelappen på egen rad under rabatten (kortet er for smalt til begge på samme linje). */
@media (max-width: 760px) {
  .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { top: 10px; padding: 4px 8px; font-size: 10px; letter-spacing: .1em; }
  .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale { left: 10px; }
  .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { right: 10px; }
}

/* Pillene ligger i en rad øverst i bildet (rabatt til venstre, merkelapp til høyre). Får ikke begge plass, bryter merkelappen til egen rad. */
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode .elementor-widget-container, .b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode .elementor-shortcode { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 6px; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { position: static; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { margin-left: auto; }
@media (max-width: 760px) { .b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { top: 10px; left: 10px; right: 10px; } }

/* Piller på produktkortet: samme hjørneradius som kortet (6px) i stedet for pilleform. */
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { border-radius: 4px; }

/* Pillene nærmere kanten av bildet: kortet har allerede 12px luft rundt. */
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { top: 6px; left: 6px; right: 6px; }
@media (max-width: 760px) { .b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { top: 6px; left: 6px; right: 6px; } }

/* Pillene i den lyseste grønnfargen med dyp salvie som tekst, så de ikke dominerer bildet. */
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { background: #e3e9e7; color: #354545; }

/* Kategoritekst: tydelige mellomtitler (Manrope 700) og rolig brødtekst; punktlister med kule. */
.b-cat-desc.b-cat-desc.b-cat-desc h3 { font-family: var(--b-font-body); font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--b-ink); margin: 18px 0 6px; }
.b-cat-desc.b-cat-desc.b-cat-desc p, .b-cat-desc.b-cat-desc.b-cat-desc li { font-weight: 400; }
.b-cat-desc.b-cat-desc.b-cat-desc li strong { font-weight: 600; }
.b-cat-desc.b-cat-desc.b-cat-desc ul { list-style: disc; padding-left: 20px; margin: 0 0 12px; }
.b-cat-desc.b-cat-desc.b-cat-desc li { margin: 0 0 4px; }

/* PDF-lenke under kategoriteksten ([bf_kategoritekst] + ACF bf_pdf). */
.b-cat-pdf.b-cat-pdf.b-cat-pdf { margin: 14px 0 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; }
.b-cat-pdf.b-cat-pdf.b-cat-pdf a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.b-cat-pdf.b-cat-pdf.b-cat-pdf svg { width: 15px; height: 15px; flex: none; }
.b-cat-pdf__meta.b-cat-pdf__meta.b-cat-pdf__meta { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--b-deep); }

/* Arkiv-hero med flere elementer: PDF-lenken som lite kort, og underkategori-chipsene skilt fra teksten med en strek. */
.b-cat-pdf.b-cat-pdf.b-cat-pdf { margin: 18px 0 0; display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--b-white); border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; }
.b-cat-pdf.b-cat-pdf.b-cat-pdf a { text-decoration: none; }
.b-cat-pdf.b-cat-pdf.b-cat-pdf a:hover { text-decoration: underline; text-underline-offset: 3px; }
.b-archive-hero.b-archive-hero.b-archive-hero .b-chips.b-chips.b-chips { margin-top: 6px; padding-top: 22px; border-top: 1px solid rgba(30,26,23,0.12); }
@media (max-width: 760px) { .b-archive-hero.b-archive-hero.b-archive-hero .b-chips.b-chips.b-chips { margin: 2px -20px 0; padding: 18px 20px 4px; } }

/* Arkiv-hero på mobil: kategoribildet legges i full bredde rett under tittelen (stacken løses opp med display: contents og elementene sorteres med order). PDF-kortet får pilleform som knappene og dempet bakgrunn. */
@media (max-width: 760px) {
  .b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .b-archive-hero__grid.b-archive-hero__grid.b-archive-hero__grid > .b-stack.b-stack.b-stack { display: contents; }
  .b-archive-hero.b-archive-hero.b-archive-hero [data-id="bfacrumb"] { order: 1; }
  .b-archive-hero.b-archive-hero.b-archive-hero [data-id="bfatitle"] { order: 2; }
  .b-archive-hero__media.b-archive-hero__media.b-archive-hero__media { order: 3; }
  .b-archive-hero.b-archive-hero.b-archive-hero [data-id="bfadesc1"] { order: 4; }
  .b-archive-hero.b-archive-hero.b-archive-hero [data-id="bfachips"] { order: 5; }
}
.b-cat-pdf.b-cat-pdf.b-cat-pdf { background: rgba(255,255,255,0.4); border-color: rgba(30,26,23,0.16); border-radius: 999px; padding: 9px 16px 9px 14px; }
@media (max-width: 760px) { .b-cat-pdf.b-cat-pdf.b-cat-pdf { align-self: flex-start; } .b-cat-pdf__meta.b-cat-pdf__meta.b-cat-pdf__meta { display: none; } }

/* Lagerpille ([bf_produkt_merker]): nederst til venstre i bildet, uavhengig av rabatt/merkelapp øverst.
   Utsolgt = dyp salvie med hvit tekst, Forventes inn = taupe med ink-tekst. Utsolgte produkter får dempet bilde. */
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { bottom: 6px; align-content: flex-start; }
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode .elementor-widget-container, .b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode .elementor-shortcode { position: static; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock.b-badge--stock.b-badge--stock { position: absolute; left: 0; bottom: 0; top: auto; right: auto; height: auto; margin: 0; border-radius: 4px; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock-out.b-badge--stock-out.b-badge--stock-out { background: #354545; color: #fff; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock-back.b-badge--stock-back.b-badge--stock-back { background: var(--b-taupe); color: var(--b-ink); }
.b-product-card.b-product-card.b-product-card:has(.b-badge--stock-out) .b-product-card__img.b-product-card__img.b-product-card__img { opacity: 0.55; }
@media (max-width: 760px) { .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock.b-badge--stock.b-badge--stock { padding: 4px 8px; font-size: 10px; letter-spacing: .1em; } }

/* Rettelse: når pille-wrapperen dekker hele bildet (for lagerpillen nederst), må pillene øverst ikke strekkes i høyden. */
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { align-items: flex-start; align-content: flex-start; }
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode .elementor-widget-container, .b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode .elementor-shortcode { flex: 0 0 100%; height: auto; align-items: flex-start; align-content: flex-start; }
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--sale.b-badge--sale.b-badge--sale, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--info.b-badge--info.b-badge--info { align-self: flex-start; height: auto; }

/* Lagerpille øverst til venstre, foran rabatten (Ronny 7. sept kveld). Merkelappen blir til høyre; raden bryter ved plassmangel. */
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock.b-badge--stock.b-badge--stock { position: static; order: -1; align-self: flex-start; }
.b-product-card__media.b-product-card__media.b-product-card__media > .elementor-widget-shortcode { bottom: auto; }

/* Lagerpillene i samme stil som rabatt og merkelapp (lys grønn, dyp salvie tekst). */
.b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock-out.b-badge--stock-out.b-badge--stock-out, .b-product-card__media.b-product-card__media.b-product-card__media .b-badge--stock-back.b-badge--stock-back.b-badge--stock-back { background: #e3e9e7; color: #354545; }

/* Mobilmeny: underkategorier på nivå 3 (under Div tilbehør) innrykket og litt dempet. */
.b-acc__sub.b-acc__sub.b-acc__sub a.b-acc__grand.b-acc__grand.b-acc__grand { padding-left: 18px; font-size: 14px; color: var(--b-ink-3); min-height: 40px; }

/* ==================== Produktside ([bf_produktside], mal «Forside 2026 – Produkt») ==================== */
.b-pdp.b-pdp.b-pdp { padding: 24px 0 72px; background: var(--b-ivory); }
.b-pdp__crumbs.b-pdp__crumbs.b-pdp__crumbs { margin-bottom: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.b-pdp__crumbs.b-pdp__crumbs.b-pdp__crumbs a { color: var(--b-ink-3); }
.b-pdp__crumbs.b-pdp__crumbs.b-pdp__crumbs a:last-child { color: var(--b-ink); }
.b-crumbs__sep.b-crumbs__sep.b-crumbs__sep { color: var(--b-ink-4); }
.b-pdp__grid.b-pdp__grid.b-pdp__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 64px; align-items: start; }
.b-pdp__gallery.b-pdp__gallery.b-pdp__gallery { position: relative; }
.b-pdp__badges.b-pdp__badges.b-pdp__badges { position: absolute; top: 6px; left: 6px; right: 6px; z-index: 3; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.b-pdp__badges.b-pdp__badges.b-pdp__badges .b-badge.b-badge.b-badge { position: static; background: #e3e9e7; color: #354545; border-radius: 4px; }
.b-pdp__badges.b-pdp__badges.b-pdp__badges .b-badge--info.b-badge--info.b-badge--info { margin-left: auto; }
.b-pdp__badges.b-pdp__badges.b-pdp__badges .b-badge--stock.b-badge--stock.b-badge--stock { order: -1; }
.b-pdp.b-pdp.b-pdp .woocommerce-product-gallery { width: 100% !important; float: none; margin: 0; }
.b-pdp.b-pdp.b-pdp .woocommerce-product-gallery__wrapper { margin: 0; }
.b-pdp.b-pdp.b-pdp .woocommerce-product-gallery .flex-viewport, .b-pdp.b-pdp.b-pdp .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child { background: #fff; border: 1px solid rgba(30,26,23,0.08); border-radius: 6px; overflow: hidden; }
.b-pdp.b-pdp.b-pdp .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
.b-pdp.b-pdp.b-pdp .woocommerce-product-gallery__trigger { top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.9); z-index: 4; }
.b-pdp.b-pdp.b-pdp .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.b-pdp.b-pdp.b-pdp .flex-control-thumbs li { margin: 0; padding: 0; width: auto; float: none; }
.b-pdp.b-pdp.b-pdp .flex-control-thumbs img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 4px; padding: 6px; box-sizing: border-box; opacity: 1; cursor: pointer; }
.b-pdp.b-pdp.b-pdp .flex-control-thumbs img.flex-active { border-color: var(--b-ink); }
.b-pdp__info.b-pdp__info.b-pdp__info { display: flex; flex-direction: column; gap: 18px; }
.b-pdp__eyebrow.b-pdp__eyebrow.b-pdp__eyebrow { margin: 0; }
.b-pdp__title.b-pdp__title.b-pdp__title { margin: 0; font-family: var(--b-font-display); font-weight: 400; font-size: 42px; line-height: 1.08; letter-spacing: -0.01em; color: var(--b-ink); }
.b-pdp__price.b-pdp__price.b-pdp__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.b-pdp__price.b-pdp__price.b-pdp__price .b-price.b-price.b-price { font-size: 30px; font-weight: 600; }
.b-pdp__price.b-pdp__price.b-pdp__price .b-price.b-price.b-price del { font-size: 18px; color: var(--b-ink-4); font-weight: 400; margin-right: 0; }
/* Prisen som én flex-rad: nå-pris, før-pris, «eks. mva.» med samme luft (6px) – mellomrom i HTML og Blocksys egen column-gap teller ikke */
.b-pdp .b-pdp__price.b-pdp__price.b-pdp__price .b-price { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.b-pdp .b-pdp__price.b-pdp__price.b-pdp__price .b-price .sale-price { column-gap: 6px; }
.b-pdp__price.b-pdp__price.b-pdp__price .b-price.b-price.b-price ins { text-decoration: none; }
.b-pdp__price.b-pdp__price.b-pdp__price .woocommerce-price-suffix { font-size: 14px; font-weight: 400; color: var(--b-ink-3); margin-left: 6px; }
.b-pdp__inkl.b-pdp__inkl.b-pdp__inkl { font-size: 14px; color: var(--b-ink-3); }
.b-pdp__inkl.b-pdp__inkl.b-pdp__inkl .woocommerce-Price-amount { font-weight: 500; color: var(--b-ink-2); }
.b-pdp__stock.b-pdp__stock.b-pdp__stock { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--b-ink-2); }
.b-pdp__stock.b-pdp__stock.b-pdp__stock i { width: 8px; height: 8px; border-radius: 50%; background: #5e7675; display: inline-block; }
.b-pdp__stock.b-pdp__stock.b-pdp__stock.is-back i { background: var(--b-taupe); }
.b-pdp__stock.b-pdp__stock.b-pdp__stock.is-out i { background: #354545; }
.b-pdp__short.b-pdp__short.b-pdp__short p { margin: 0 0 10px; } .b-pdp__short.b-pdp__short.b-pdp__short p:last-child { margin-bottom: 0; }
.b-pdp__note.b-pdp__note.b-pdp__note { padding: 12px 14px; background: var(--b-sand); border-left: 3px solid var(--b-taupe); border-radius: 4px; font-size: 14px; line-height: 1.5; color: var(--b-ink-2); }
.b-pdp__note.b-pdp__note.b-pdp__note p { margin: 0; }
/* WooCommerce sitt kjøpsskjema i vårt design */
.b-pdp__buy.b-pdp__buy.b-pdp__buy form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy form.cart.variations_form { flex-direction: column; align-items: stretch; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: stretch; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .quantity { display: inline-flex; align-items: center; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; min-height: 52px; padding: 0 6px; background: #fff; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .quantity input.qty { width: 44px; min-height: 0; border: 0; background: transparent; text-align: center; font: 600 16px var(--b-font-body); color: var(--b-ink); -moz-appearance: textfield; padding: 0; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .quantity input.qty::-webkit-outer-spin-button, .b-pdp__buy.b-pdp__buy.b-pdp__buy .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .b-qty__btn.b-qty__btn.b-qty__btn { width: 40px; height: 40px; border: 0; background: transparent; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--b-ink); font-size: 18px; line-height: 1; padding: 0; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .b-qty__btn.b-qty__btn.b-qty__btn:hover { background: var(--b-sand); }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 999px; border: 1px solid #5e7675; background: #5e7675; color: #fff; font: 600 14px var(--b-font-body); letter-spacing: 0.04em; cursor: pointer; transition: background .2s; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button:hover { background: #526867; border-color: #526867; color: #fff; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button.disabled, .b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button:disabled { opacity: .5; cursor: not-allowed; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .variations { width: 100%; margin: 0 0 4px; border-collapse: collapse; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .variations td, .b-pdp__buy.b-pdp__buy.b-pdp__buy .variations th { padding: 0 0 12px; border: 0; vertical-align: middle; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .variations th.label { padding-right: 16px; font-weight: 600; font-size: 14px; white-space: nowrap; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .variations select { width: 100%; min-height: 48px; padding: 0 40px 0 16px; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1a17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 16px; font: 500 14px var(--b-font-body); color: var(--b-ink); -webkit-appearance: none; appearance: none; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .reset_variations { font-size: 13px; color: var(--b-ink-3); text-decoration: underline; margin-left: 8px; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .woocommerce-variation-price { margin-bottom: 8px; font-weight: 600; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .woocommerce-variation-availability p { margin: 0 0 8px; font-size: 14px; color: var(--b-ink-2); }
.b-pdp__soldout.b-pdp__soldout.b-pdp__soldout { width: 100%; opacity: .55; pointer-events: none; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist { width: 100%; margin-top: 4px; padding: 18px; background: var(--b-sand); border-radius: 6px; }
.b-pdp__waitlist-title.b-pdp__waitlist-title.b-pdp__waitlist-title { margin: 0 0 4px; font-weight: 600; font-size: 15px; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .b-small.b-small.b-small { display: block; margin: 0 0 12px; font-size: 13px; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-waitlist-form, .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist form { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist input[type="email"], .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist input[type="text"] { flex: 1; min-width: 0; min-height: 46px; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; padding: 0 16px; font: 14px var(--b-font-body); background: #fff; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist button, .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .button { min-height: 46px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--b-taupe); background: var(--b-taupe); color: var(--b-ink); font: 600 14px var(--b-font-body); cursor: pointer; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-waitlist-title, .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-waitlist-description, .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist h3, .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist h4 { display: none; }
.b-pdp__osm.b-pdp__osm.b-pdp__osm klarna-placement { display: block; margin: 0; }
.b-pdp__usp.b-pdp__usp.b-pdp__usp { list-style: none; margin: 0; padding: 16px 0 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 13px; color: var(--b-ink-3); border-top: 1px solid rgba(30,26,23,0.12); }
.b-pdp__usp.b-pdp__usp.b-pdp__usp li { display: flex; align-items: center; gap: 8px; margin: 0; }
.b-pdp__usp.b-pdp__usp.b-pdp__usp li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #5e7675; }
.b-pacc.b-pacc.b-pacc { display: flex; flex-direction: column; border-top: 1px solid rgba(30,26,23,0.12); margin-top: 4px; }
.b-pacc__item.b-pacc__item.b-pacc__item { border-bottom: 1px solid rgba(30,26,23,0.12); }
.b-pacc__item.b-pacc__item.b-pacc__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; font-weight: 600; font-size: 15px; color: var(--b-ink); }
.b-pacc__item.b-pacc__item.b-pacc__item summary::-webkit-details-marker { display: none; }
.b-pacc__item.b-pacc__item.b-pacc__item summary::after { content: ""; width: 10px; height: 10px; border-right: 1.5px solid var(--b-ink-3); border-bottom: 1.5px solid var(--b-ink-3); transform: rotate(45deg); margin-right: 6px; flex: none; transition: transform .2s; }
.b-pacc__item.b-pacc__item.b-pacc__item[open] summary::after { transform: rotate(-135deg); margin-top: 6px; }
.b-pacc__item.b-pacc__item.b-pacc__item summary span:first-child { flex: 1; }
.b-pacc__tag.b-pacc__tag.b-pacc__tag { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #354545; background: #e3e9e7; border-radius: 4px; padding: 3px 7px; margin-right: 10px; font-weight: 600; }
.b-pacc__body.b-pacc__body.b-pacc__body { padding: 0 0 20px; color: var(--b-ink-2); font-size: 15px; line-height: 1.6; }
.b-pacc__body.b-pacc__body.b-pacc__body p { margin: 0 0 12px; } .b-pacc__body.b-pacc__body.b-pacc__body p:last-child { margin-bottom: 0; }
.b-pacc__body.b-pacc__body.b-pacc__body ol, .b-pacc__body.b-pacc__body.b-pacc__body ul { margin: 0 0 12px; padding-left: 20px; } .b-pacc__body.b-pacc__body.b-pacc__body li { margin-bottom: 4px; }
.b-pacc__body.b-pacc__body.b-pacc__body h2, .b-pacc__body.b-pacc__body.b-pacc__body h3, .b-pacc__body.b-pacc__body.b-pacc__body h4 { font-family: var(--b-font-body); font-size: 15px; font-weight: 700; margin: 14px 0 4px; color: var(--b-ink); }
.b-pacc__body.b-pacc__body.b-pacc__body img { max-width: 100%; height: auto; border-radius: 4px; }
.b-pacc__body.b-pacc__body.b-pacc__body table { width: 100%; border-collapse: collapse; font-size: 14px; } .b-pacc__body.b-pacc__body.b-pacc__body td, .b-pacc__body.b-pacc__body.b-pacc__body th { padding: 6px 8px; border-bottom: 1px solid rgba(30,26,23,0.12); text-align: left; }
.b-pdp__meta.b-pdp__meta.b-pdp__meta { margin: 0; font-size: 13px; color: var(--b-ink-4); }
.b-pdp__meta.b-pdp__meta.b-pdp__meta a { color: var(--b-ink-3); text-decoration: underline; text-underline-offset: 3px; }
.b-pdp__bar.b-pdp__bar.b-pdp__bar { display: none; }
/* Relaterte produkter */
.b-pdp-related.b-pdp-related.b-pdp-related { padding: 72px 0 96px; background: var(--b-ivory); }
.b-pdp-related__head.b-pdp-related__head.b-pdp-related__head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.b-pdp-related__head.b-pdp-related__head.b-pdp-related__head p { margin: 0; }
.b-pdp-related__title.b-pdp-related__title.b-pdp-related__title { margin: 0; font-size: 38px; }
.b-pdp-related__grid.b-pdp-related__grid.b-pdp-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; row-gap: 32px; }
.b-pdp-related__item.b-pdp-related__item.b-pdp-related__item > .elementor { height: 100%; }
@media (max-width: 760px) {
  .b-pdp.b-pdp.b-pdp { padding: 16px 0 56px; }
  .b-pdp__crumbs.b-pdp__crumbs.b-pdp__crumbs { margin-bottom: 18px; font-size: 11px; }
  .b-pdp__grid.b-pdp__grid.b-pdp__grid { grid-template-columns: 1fr; gap: 24px; }
  .b-pdp.b-pdp.b-pdp .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .b-pdp__title.b-pdp__title.b-pdp__title { font-size: 30px; }
  .b-pdp__price.b-pdp__price.b-pdp__price .b-price.b-price.b-price { font-size: 26px; }
  .b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button { min-height: 50px; }
  .b-pdp-related.b-pdp-related.b-pdp-related { padding: 56px 0 72px; }
  .b-pdp-related__grid.b-pdp-related__grid.b-pdp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; row-gap: 16px; }
  .b-pdp-related__title.b-pdp-related__title.b-pdp-related__title { font-size: 28px; }
  .b-pdp__bar.b-pdp__bar.b-pdp__bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); background: rgba(246,242,236,0.96); border-top: 1px solid rgba(30,26,23,0.12); backdrop-filter: blur(6px); transform: translateY(110%); transition: transform .25s; }
  .b-pdp__bar.b-pdp__bar.b-pdp__bar.is-visible { transform: none; }
  .b-pdp__bar.b-pdp__bar.b-pdp__bar .b-price.b-price.b-price { font-size: 18px; font-weight: 600; }
  .b-pdp__bar.b-pdp__bar.b-pdp__bar .b-price.b-price.b-price del { display: none; }
  .b-pdp__bar.b-pdp__bar.b-pdp__bar .woocommerce-price-suffix { font-size: 12px; font-weight: 400; color: var(--b-ink-3); margin-left: 4px; }
  .b-pdp__bar-btn.b-pdp__bar-btn.b-pdp__bar-btn { min-height: 46px; padding: 0 22px; white-space: nowrap; }
  .b-pdp__bar-btn.b-pdp__bar-btn.b-pdp__bar-btn.is-disabled { opacity: .5; pointer-events: none; }
  body.single-product { padding-bottom: 0; }
}

/* Produktside: WooCommerce sin egen lagerlinje i skjemaet skjules (vi har vår egen over), og knappen får ikke versaler. */
.b-pdp__buy.b-pdp__buy.b-pdp__buy .stock { display: none; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button { text-transform: none; }

/* Produktside: galleriets slider (ul med width 200 %) må ikke tvinge grid-kolonnen bredere enn skjermen på mobil. */
.b-pdp__grid.b-pdp__grid.b-pdp__grid > * { min-width: 0; }
.b-pdp__gallery.b-pdp__gallery.b-pdp__gallery { min-width: 0; max-width: 100%; overflow: hidden; }
.b-pdp.b-pdp.b-pdp .woocommerce-product-gallery__wrapper { max-width: none; }

/* Produktside: i slider-modus skal ikke første bilde ha egen ramme (den gjorde lysbildet 2px bredere og viste en stripe av neste bilde). */
.b-pdp.b-pdp.b-pdp .flex-viewport .woocommerce-product-gallery__image { border: 0; border-radius: 0; background: #fff; }

/* Produktnavn på kortene alltid i Manrope, også der temaet gir overskrifter Cormorant (produktsiden). */
.b-product-card__name.b-product-card__name.b-product-card__name { font-family: var(--b-font-body); }

/* ==================== Handlekurv (/handlekurv/, klassisk WooCommerce-kurv i Blocksy) ==================== */
.woocommerce-cart .hero-section { display: none; }
.woocommerce-cart .ct-container-full > article, .woocommerce-cart .entry-content { padding: 0; }
.woocommerce-cart .woocommerce { max-width: 1168px; margin: 0 auto; padding: 0 20px 24px; box-sizing: border-box; }
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message, .woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info { background: var(--b-sand); border: 0; border-radius: 6px; color: var(--b-ink); font-size: 14px; padding: 14px 18px; margin: 0 0 24px; }
.woocommerce-cart .woocommerce-message::before { display: none; }
.woocommerce-cart .woocommerce-message .button { background: transparent; border: 1px solid rgba(30,26,23,0.25); color: var(--b-ink); border-radius: 999px; padding: 8px 16px; font: 600 13px var(--b-font-body); text-transform: none; }
/* «X fjernet. Angre»: samme kort-stil som resten av kurven, angre som liten omriss-knapp (Blocksy gir den ellers taupe boks + versaler) */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message { background: var(--b-white); border: 1px solid var(--b-line); border-radius: 12px; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 10px 16px; padding: 14px 16px; margin: 0 0 18px; }
.woocommerce-cart .woocommerce-message .restore-item, .woocommerce-cart .woocommerce-message a.button, .woocommerce-cart .woocommerce-message .button { order: 2; margin: 0; float: none; width: auto; flex: 0 0 auto; background: transparent !important; border: 1px solid rgba(30,26,23,0.25) !important; color: var(--b-ink) !important; border-radius: 999px !important; padding: 7px 14px !important; font: 600 13px var(--b-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none; line-height: 1.2; }
.woocommerce-cart .woocommerce-message .restore-item:hover { background: var(--b-ivory) !important; }
@media (max-width: 479.98px) { .woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message { flex-direction: column; align-items: flex-start; gap: 8px; } .woocommerce-cart .woocommerce-message .restore-item { margin-top: 2px !important; } }
.b-cart__head.b-cart__head.b-cart__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.b-cart__head.b-cart__head.b-cart__head .b-eyebrow.b-eyebrow.b-eyebrow { margin: 0 0 8px; }
.b-cart__title.b-cart__title.b-cart__title { margin: 0; font-family: var(--b-font-display); font-weight: 400; font-size: 44px; line-height: 1.05; color: var(--b-ink); }
.b-cart__count.b-cart__count.b-cart__count { margin: 0 0 6px; font-size: 14px; color: var(--b-ink-3); }
.b-cart__count.b-cart__count.b-cart__count a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-cart .ct-woocommerce-cart-form { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 48px; align-items: start; }
/* Varelinjer */
.woocommerce-cart table.shop_table.cart { border: 0; border-collapse: collapse; margin: 0; width: 100%; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart td { border: 0; padding: 20px 0; vertical-align: middle; background: transparent; }
.woocommerce-cart table.shop_table.cart tr.cart_item { border-top: 1px solid rgba(30,26,23,0.12); }
.woocommerce-cart table.shop_table.cart tr.cart_item:last-of-type { border-bottom: 1px solid rgba(30,26,23,0.12); }
.woocommerce-cart td.product-thumbnail { width: 88px; padding-right: 20px !important; }
.woocommerce-cart td.product-thumbnail img { width: 88px; height: 88px; object-fit: contain; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 4px; padding: 8px; box-sizing: border-box; display: block; }
.woocommerce-cart td.product-name { padding-right: 20px !important; }
.woocommerce-cart td.product-name > a { font-weight: 600; font-size: 15px; line-height: 1.35; color: var(--b-ink); text-decoration: none; }
.woocommerce-cart td.product-name .price { margin: 4px 0 0; font-size: 13px; color: var(--b-ink-3); }
.woocommerce-cart td.product-name .price del { color: var(--b-ink-4); margin-right: 4px; }
.woocommerce-cart td.product-name .price ins { text-decoration: none; }
.woocommerce-cart td.product-name .variation, .woocommerce-cart td.product-name .tillatrestordre { font-size: 13px; color: var(--b-ink-3); margin: 4px 0 0; }
.woocommerce-cart td.product-name .tillatrestordre { padding: 8px 10px; background: var(--b-sand); border-left: 3px solid var(--b-taupe); border-radius: 4px; font-style: normal; color: var(--b-ink-2); }
.woocommerce-cart td.product-quantity { width: 150px; }
.woocommerce-cart td.product-quantity .quantity { display: inline-flex; align-items: center; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; min-height: 44px; padding: 0 4px; background: #fff; }
.woocommerce-cart td.product-quantity .quantity input.qty { width: 40px; border: 0; background: transparent; text-align: center; font: 600 15px var(--b-font-body); color: var(--b-ink); -moz-appearance: textfield; }
.woocommerce-cart td.product-quantity .quantity input.qty::-webkit-inner-spin-button, .woocommerce-cart td.product-quantity .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-cart td.product-quantity .quantity button, .woocommerce-cart td.product-quantity .quantity .ct-increase, .woocommerce-cart td.product-quantity .quantity .ct-decrease { width: 36px; height: 36px; border: 0; background: transparent; border-radius: 50%; color: var(--b-ink); cursor: pointer; }
.woocommerce-cart td.product-subtotal { width: 110px; text-align: right; font-weight: 600; white-space: nowrap; }
.woocommerce-cart td.product-subtotal .tax_label { display: none; }
.woocommerce-cart td.product-remove { width: 48px; text-align: right; }
.woocommerce-cart td.product-remove a.remove { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(30,26,23,0.15); color: var(--b-ink-3) !important; background: transparent !important; font-size: 18px; line-height: 1; }
.woocommerce-cart td.product-remove a.remove:hover { border-color: var(--b-ink); color: var(--b-ink) !important; }
/* Kupong og oppdater */
.woocommerce-cart td.actions { padding: 20px 0 0 !important; }
.woocommerce-cart td.actions .coupon { display: flex; gap: 10px; align-items: stretch; }
.woocommerce-cart td.actions .coupon input.input-text { flex: 1; min-height: 48px; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; padding: 0 18px; font: 14px var(--b-font-body); background: #fff; width: auto; }
.woocommerce-cart td.actions .coupon .button, .woocommerce-cart td.actions > .button { min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1px solid rgba(30,26,23,0.25); background: transparent; color: var(--b-ink); font: 600 14px var(--b-font-body); text-transform: none; cursor: pointer; }
.woocommerce-cart td.actions .coupon .button:hover { border-color: var(--b-ink); }
.woocommerce-cart td.actions > .button[name="update_cart"] { display: none; } /* kurven oppdateres automatisk (Blocksy) */
/* Oppsummering */
.woocommerce-cart .cart_totals { background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; padding: 28px; position: sticky; top: 120px; width: auto; float: none; }
.admin-bar .woocommerce-cart .cart_totals { top: 152px; }
.woocommerce-cart .cart_totals h2 { font-family: var(--b-font-display); font-weight: 400; font-size: 26px; margin: 0 0 10px; color: var(--b-ink); }
.woocommerce-cart .cart_totals table.shop_table { border: 0; margin: 0; }
.woocommerce-cart .cart_totals th, .woocommerce-cart .cart_totals td { border: 0; padding: 10px 0; font-size: 15px; color: var(--b-ink-2); font-weight: 400; background: transparent; }
.woocommerce-cart .cart_totals td { text-align: right; }
.woocommerce-cart .cart_totals .tax_label { font-size: 12px; color: var(--b-ink-4); }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { border-top: 1px solid rgba(30,26,23,0.12); padding-top: 18px; font-weight: 600; color: var(--b-ink); font-size: 18px; }
.woocommerce-cart .cart_totals tr.order-savings th, .woocommerce-cart .cart_totals tr.order-savings td { font-size: 13px; color: #5e7675; padding-top: 0; }
.woocommerce-cart .cart_totals tr.frakt-info td { font-size: 13px !important; color: var(--b-ink-3) !important; font-weight: 400 !important; text-align: left !important; padding: 6px 0 4px !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; margin: 18px 0 14px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 0 28px; border-radius: 999px; background: #5e7675; border: 1px solid #5e7675; color: #fff; font: 600 14px var(--b-font-body); letter-spacing: 0.04em; text-transform: none; margin: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #526867; border-color: #526867; color: #fff; }
.woocommerce-cart .cart_totals klarna-placement { display: block; margin: 0 0 12px; }
.woocommerce-cart .cart_totals .ct-payment-icons, .woocommerce-cart .cart_totals > div:last-child { text-align: center; }
/* Anbefalinger under kurven */
.b-cart__related.b-cart__related.b-cart__related { padding: 72px 0 0; }
/* Tom kurv */
.woocommerce-cart .cart-empty { font-family: var(--b-font-display); font-size: 28px; color: var(--b-ink); border: 0; background: transparent; padding: 0; margin: 0 0 16px; }
.woocommerce-cart .cart-empty::before { display: none; }
.woocommerce-cart .return-to-shop .button { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border-radius: 999px; background: var(--b-taupe); color: var(--b-ink); font: 600 14px var(--b-font-body); text-transform: none; }
@media (max-width: 760px) {
  .woocommerce-cart .woocommerce { padding: 0 20px 16px; }
  .b-cart__title.b-cart__title.b-cart__title { font-size: 34px; }
  .woocommerce-cart .ct-woocommerce-cart-form { grid-template-columns: 1fr; gap: 24px; }
  .woocommerce-cart table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "img name rm" "img qty sum"; gap: 10px 14px; padding: 16px 0; }
  .woocommerce-cart table.shop_table.cart tr.cart_item td { padding: 0 !important; display: block; width: auto; }
  .woocommerce-cart td.product-thumbnail { grid-area: img; } .woocommerce-cart td.product-thumbnail img { width: 72px; height: 72px; }
  .woocommerce-cart td.product-name { grid-area: name; }
  .woocommerce-cart td.product-name .price.ct-hidden-sm { display: block !important; }
  .woocommerce-cart td.product-price { display: none !important; }
  .woocommerce-cart td.product-quantity { grid-area: qty; }
  .woocommerce-cart td.product-subtotal { grid-area: sum; align-self: center; }
  .woocommerce-cart td.product-remove { grid-area: rm; justify-self: end; }
  .woocommerce-cart td.product-subtotal::before, .woocommerce-cart td.product-quantity::before, .woocommerce-cart td.product-name::before { display: none !important; }
  .woocommerce-cart .cart_totals { position: static; padding: 22px; }
  .woocommerce-cart td.actions .coupon { flex-wrap: wrap; }
  .b-cart__related.b-cart__related.b-cart__related { padding-top: 48px; }
}

/* Ajax «Legg i kurv»: bekreftelse under kjøpsskjemaet. */
.b-pdp__added.b-pdp__added.b-pdp__added { width: 100%; margin-top: 10px; padding: 12px 14px; background: #e3e9e7; color: #354545; border-radius: 6px; font-size: 14px; }
.b-pdp__added.b-pdp__added.b-pdp__added a { font-weight: 600; color: #354545; text-decoration: underline; text-underline-offset: 3px; margin-left: 6px; }
.b-pdp__buy.b-pdp__buy.b-pdp__buy .single_add_to_cart_button.loading { opacity: .7; }

/* Elementor-innhold på produktet ([bf_produkt_innhold]) under produktheroen. */
.b-pdp-content.b-pdp-content.b-pdp-content { padding: 0 0 24px; }
.b-pdp-content.b-pdp-content.b-pdp-content > .elementor { max-width: 1168px; margin: 0 auto; padding: 0 20px; }

/* Produktside: alle piller til venstre i galleriet, så de ikke havner bak fullskjerm-ikonet oppe til høyre. */
.b-pdp__badges.b-pdp__badges.b-pdp__badges { right: auto; max-width: calc(100% - 64px); }
.b-pdp__badges.b-pdp__badges.b-pdp__badges .b-badge--info.b-badge--info.b-badge--info { margin-left: 0; }

/* Justeringer 7. sept kveld: piller litt lenger inn på produktsiden, luft over ventelisten, Blocksys antall-velger i kurven. */
.b-pdp__badges.b-pdp__badges.b-pdp__badges { top: 12px; left: 12px; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist { margin-top: 14px; }
.b-pdp__osm.b-pdp__osm.b-pdp__osm { background: var(--b-sand); border-radius: 6px; padding: 6px 8px; }
.woocommerce-cart td.product-quantity .quantity { display: block; --quantity-height: 44px; --quantity-width: 132px; height: 44px; width: 132px; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; padding: 0; background: #fff; overflow: hidden; }
.woocommerce-cart td.product-quantity .quantity input.qty { width: 100%; height: 42px; text-align: center; font: 600 15px var(--b-font-body); color: var(--b-ink); border: 0; background: transparent; }
.woocommerce-cart td.product-quantity .quantity .ct-increase, .woocommerce-cart td.product-quantity .quantity .ct-decrease { width: 40px; height: 42px; }

/* Handlekurv på mobil: Blocksys ekstra rad med antall/pris/slett skjules (vår rutenett-rad viser det samme), og kurven bruker hele bredden. */
.woocommerce-cart .entry-content > .woocommerce, .woocommerce-cart .woocommerce { max-width: 1168px; width: 100%; margin: 0 auto !important; }
.woocommerce-cart .product-mobile-actions { display: none !important; }
@media (max-width: 760px) {
  .woocommerce-cart .woocommerce { padding: 0 16px 16px; }
  .woocommerce-cart td.product-name > a { font-size: 14px; }
  .woocommerce-cart td.product-quantity .quantity { --quantity-width: 120px; width: 120px; --quantity-height: 40px; height: 40px; }
  .woocommerce-cart td.product-quantity .quantity input.qty { height: 38px; }
  .woocommerce-cart td.product-quantity .quantity .ct-increase, .woocommerce-cart td.product-quantity .quantity .ct-decrease { height: 38px; width: 36px; }
  .woocommerce-cart td.actions .coupon input.input-text { flex: 1 1 100%; }
  .woocommerce-cart td.actions .coupon .button { width: 100%; }
}

/* Handlekurv: pluss og minus i antall-velgeren sentreres loddrett (Blocksy regner ut en top-verdi som blir feil med vår høyde). */
.woocommerce-cart td.product-quantity .quantity .ct-increase, .woocommerce-cart td.product-quantity .quantity .ct-decrease { top: 0 !important; bottom: 0 !important; height: auto !important; margin: 0 !important; display: flex; align-items: center; justify-content: center; }

/* Blocksys venteliste inne i vår boks: egen tittel/tekst skjules (vi har vår egen), skjemaet får pilleform. */
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-waitlist-initial-state .ct-waitlist-title, .b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-waitlist-initial-state .ct-waitlist-message { display: none; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-product-waitlist { margin: 0; padding: 0; border: 0; background: transparent; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-product-waitlist-form { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; margin: 0; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-product-waitlist-form input[type="email"] { flex: 1 1 160px; min-width: 0; min-height: 46px; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; padding: 0 16px; font: 14px var(--b-font-body); background: #fff; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-product-waitlist-form .ct-button { min-height: 46px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--b-taupe); background: var(--b-taupe); color: var(--b-ink); font: 600 14px var(--b-font-body); text-transform: none; cursor: pointer; }
.b-pdp__waitlist.b-pdp__waitlist.b-pdp__waitlist .ct-waitlist-subscribed-state .ct-waitlist-message { margin: 0; font-size: 14px; color: var(--b-ink-2); }

/* ---------- Variantvelger i kjøpsboksen (plugin «Variation Swatches for WooCommerce», .variable-item) ---------- */
#bf-kjop table.variations { margin: 0 0 16px !important; }
#bf-kjop .variations tr { margin: 0 0 14px !important; gap: 6px !important; }
#bf-kjop .variations tr:last-child { margin-bottom: 0 !important; }
#bf-kjop .variations th.label { padding: 0 !important; font: 500 13px/1.4 var(--b-font-body); color: #5e7675; letter-spacing: 0.02em; }
#bf-kjop .variations th.label label { font: inherit; color: inherit; margin: 0; }
#bf-kjop .variations th.label .woo-selected-variation-item-name { color: var(--b-ink); font-weight: 600; }
#bf-kjop .variations td.value { padding: 0 !important; }
#bf-kjop .variations .variable-items-wrapper { display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; }
#bf-kjop .variations .variable-item.button-variable-item { margin: 0 !important; padding: 0 !important; min-width: 40px; height: 36px; border-radius: 6px !important; box-shadow: none !important; border: 1px solid rgba(30,26,23,0.22) !important; background: #fff !important; color: var(--b-ink) !important; transition: border-color .15s, background .15s, color .15s; }
#bf-kjop .variations .variable-item.button-variable-item .variable-item-contents { height: 100%; display: flex; align-items: center; justify-content: center; }
#bf-kjop .variations .variable-item.button-variable-item .variable-item-span { padding: 0 12px !important; font: 500 14px/1 var(--b-font-body) !important; }
#bf-kjop .variations .variable-item.button-variable-item:hover, #bf-kjop .variations .variable-item.button-variable-item:focus-visible { border-color: var(--b-ink) !important; }
#bf-kjop .variations .variable-item.button-variable-item.selected { background: var(--b-ink) !important; border-color: var(--b-ink) !important; color: var(--b-ivory) !important; }
#bf-kjop .variations .variable-item.button-variable-item.disabled { opacity: .35; }
#bf-kjop .variations .reset_variations { font: 500 13px var(--b-font-body); color: #5e7675; text-decoration: underline; }
#bf-kjop .single_variation_wrap { margin-top: 12px; }

/* Antall skjules helt når maks er 1 (WooCommerce gjør input til type=hidden i .quantity.hidden) */
#bf-kjop .quantity.hidden, #bf-kjop .quantity:has(> input.qty[type="hidden"]) { display: none !important; }

/* Blocksy legger sine egne +/- (ct-increase/ct-decrease) i antallsfeltet på variable produkter – vi har egne knapper */
#bf-kjop .quantity .ct-increase, #bf-kjop .quantity .ct-decrease { display: none !important; }

/* Megameny: flisen (Brik & Pearl) skal ikke strekkes til hele menyhøyden */
.b-mega__grid.b-mega__grid.b-mega__grid > .b-mega__tile.b-mega__tile.b-mega__tile { align-self: start; }
/* Forsiden, Brik & Pearl-seksjonen på mobil: «Starter Pack kr …» legges nede til venstre på bildet */
@media (max-width: 760px) {
  .elementor-element-98f40d2.b-split { position: relative; }
  .elementor-element-98f40d2.b-split > .elementor-element-7379c5c.b-mobile-only { position: absolute; left: 14px; bottom: 14px; margin: 0 !important; z-index: 2; }
  .elementor-element-7379c5c .b-link.b-link.b-link { display: inline-block; background: rgba(255,255,255,0.94); padding: 8px 12px; border-bottom: 0; border-radius: 4px; box-shadow: 0 1px 2px rgba(30,26,23,0.08); }
}

/* Megameny-flisen: høyere, og produktbildet synlig i øvre del før fadingen inn mot teksten */
.b-mega__grid.b-mega__grid.b-mega__grid > .b-mega__tile.b-mega__tile.b-mega__tile { min-height: 420px; }
.b-mega__tile.b-mega__tile.b-mega__tile > .b-mega__tile-bg.b-mega__tile-bg.b-mega__tile-bg { object-position: center 35%; }
.b-mega__tile.b-mega__tile.b-mega__tile::after { background: linear-gradient(180deg, rgba(223,231,233,0) 0%, rgba(223,231,233,0) 38%, rgba(223,231,233,0.96) 72%); }

/* Megameny-flisen: zoom bildet litt så den hvite toppen i selve bildet forsvinner */
.b-mega__tile.b-mega__tile.b-mega__tile > .b-mega__tile-bg.b-mega__tile-bg.b-mega__tile-bg { transform: scale(1.35); transform-origin: center 62%; }

/* 404-siden: luft mellom «Populære produkter» og produktgriden */
.elementor-element-bf404con2 > .b-h2.b-h2.b-h2 { margin: 0 0 32px; }
@media (max-width: 760px) { .elementor-element-bf404con2 > .b-h2.b-h2.b-h2 { margin-bottom: 22px; } }

/* ---------- Produktside: roligere rytme i infokolonnen (7. sept) ---------- */
/* Tre grupper: pris+lager, kjøp, informasjon. Tett innenfor, luft mellom. Overstyrer gap-oppsettet over. */
.b-pdp .b-pdp__info.b-pdp__info.b-pdp__info { gap: 0; }
.b-pdp .b-pdp__eyebrow.b-pdp__eyebrow.b-pdp__eyebrow { margin: 0 0 12px; }
.b-pdp .b-pdp__title.b-pdp__title.b-pdp__title { margin: 0 0 22px; font-size: 36px; line-height: 1.1; }
.b-pdp .b-pdp__pricegroup { display: flex; flex-direction: column; gap: 6px; margin: 0 0 28px; }
.b-pdp .b-pdp__price.b-pdp__price.b-pdp__price { gap: 6px; }
.b-pdp .b-pdp__price.b-pdp__price.b-pdp__price .b-price { font-size: 32px; line-height: 1; }
.b-pdp .b-pdp__inkl.b-pdp__inkl.b-pdp__inkl { margin: 0; font-size: 14px; color: var(--b-ink-3); }
.b-pdp .b-pdp__inkl.b-pdp__inkl.b-pdp__inkl .woocommerce-Price-amount { font-weight: 500; color: var(--b-ink-2); }
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock { margin: 2px 0 0; }
.b-pdp .b-pdp__short.b-pdp__short.b-pdp__short { margin: 0 0 28px; }
.b-pdp .b-pdp__note.b-pdp__note.b-pdp__note { margin: 0 0 20px; }
.b-pdp .b-pdp__buy.b-pdp__buy.b-pdp__buy { margin: 0 0 12px; }
.b-pdp .b-pdp__osm.b-pdp__osm.b-pdp__osm { background: transparent; padding: 0; border-radius: 0; margin: 0 0 36px; }
.b-pdp .b-pdp__buy.b-pdp__buy.b-pdp__buy:last-of-type + .b-pacc { margin-top: 24px; }
.b-pdp .b-pacc.b-pacc.b-pacc { margin-top: 0; }
.b-pdp .b-pdp__usp.b-pdp__usp.b-pdp__usp { margin: 20px 0 0; padding: 0; border: 0; display: block; font-size: 13px; line-height: 1.6; color: var(--b-ink-4); }
.b-pdp .b-pdp__meta.b-pdp__meta.b-pdp__meta { display: none; }
@media (max-width: 760px) {
  .b-pdp .b-pdp__title.b-pdp__title.b-pdp__title { font-size: 28px; margin-bottom: 18px; }
  .b-pdp .b-pdp__price.b-pdp__price.b-pdp__price .b-price { font-size: 28px; }
  .b-pdp .b-pdp__pricegroup, .b-pdp .b-pdp__short.b-pdp__short.b-pdp__short { margin-bottom: 24px; }
  .b-pdp .b-pdp__osm.b-pdp__osm.b-pdp__osm { margin-bottom: 30px; }
}

/* Prisgruppe, justert: suffikset fra WooCommerce skjules, én liten linje under prisen, lager med litt mer avstand */
.b-pdp .b-pdp__price.b-pdp__price.b-pdp__price .woocommerce-price-suffix { display: none; }
.b-pdp .b-pdp__pricegroup { gap: 4px; }
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock { margin-top: 12px; }
.b-pdp .b-pdp__osm.b-pdp__osm.b-pdp__osm klarna-placement { display: block; }

/* Lagerstatus står rett over kjøpsknappen */
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock { margin: 0 0 10px; }
.b-pdp .b-pdp__short.b-pdp__short.b-pdp__short { margin-bottom: 24px; }

/* Lagerstatus med ikon i stedet for prikk (Lucide-stil, maskert SVG i tekstfargen) */
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock { gap: 8px; font-size: 14px; color: var(--b-ink-2); }
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock i { width: 18px; height: 18px; border-radius: 0; flex: none; background: #5e7675; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat; }
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock.is-back i { background: #a3907d; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock.is-out i { background: #354545; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6M9 9l6 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6M9 9l6 6'/%3E%3C/svg%3E"); }


/* Prisgruppe, endelig: suffikset «eks. mva» vises igjen inntil prisen; inkl.-linjen i én vekt og farge */
.b-pdp .b-pdp__price.b-pdp__price.b-pdp__price .woocommerce-price-suffix { display: inline; font-size: 14px; font-weight: 400; color: var(--b-ink-3); margin-left: 0; }
.b-pdp .b-pdp__inkl.b-pdp__inkl.b-pdp__inkl { font-size: 13px; color: var(--b-ink-3); }
.b-pdp .b-pdp__inkl.b-pdp__inkl.b-pdp__inkl .woocommerce-Price-amount { font-weight: inherit; color: inherit; }

/* Litt mer luft mellom lagerstatus, kjøpsrad og Klarna-linjen */
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock { margin-bottom: 16px; }
.b-pdp .b-pdp__buy.b-pdp__buy.b-pdp__buy { margin-bottom: 18px; }

/* Flere dokumenter i trekkspillet: piller under hverandre med litt luft */
.b-pdp .b-pdp__docs { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.b-pdp .b-pdp__docs .b-cat-pdf.b-cat-pdf.b-cat-pdf { margin: 0; }

/* Hero på forsiden: tittelen bryter på to linjer som på canvasen (max-width: 12ch) */
.b-hero.b-hero.b-hero .b-hero__content.b-hero__content.b-hero__content > .b-h1.b-h1.b-h1 { font-size: 70px; max-width: 25ch; text-wrap: balance; } /* to linjer: «Alt salongen din trenger» / «til vipper og bryn» (ca 763px vs 780px ved 70px Cormorant, 0,45em/tegn). 20ch ville gitt tre linjer. */
@media (max-width: 760px) { .b-hero.b-hero.b-hero .b-hero__content.b-hero__content.b-hero__content > .b-h1.b-h1.b-h1 { max-width: none; font-size: 45px; line-height: 1.05; text-wrap: pretty; } } /* mobil: tre linjer, naturlig bryting (balance ga fire jevne linjer) */

/* Mobilmeny: bunnknappene følger menyen i stedet for å ligge nederst i skjermen (færre punkter i menyen fra 9. sept) */
.b-drawer__foot.b-drawer__foot.b-drawer__foot { margin-top: 36px; padding-top: 8px; }

/* Mobilmeny: grupper under Elleebana (mobile_groups i bf_meny_config). Gruppenavn mørkt og halvfett, kategoriene innrykket og dempet under. */
.b-acc__group.b-acc__group.b-acc__group { display: flex; align-items: center; gap: 12px; margin: 22px 0 4px; padding: 0 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--b-ink-4); white-space: nowrap; }
.b-acc__group.b-acc__group.b-acc__group::after { content: ""; flex: 1; height: 1px; background: var(--b-line); }
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 > .b-acc__group.b-acc__group.b-acc__group:first-child { margin-top: 10px; }
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 > .b-acc__group ~ a:not(.b-acc__all) { padding-left: 4px; min-height: 42px; font-size: 15px; color: var(--b-ink-2); } /* uten innrykk: rett venstrekant, hierarkiet bæres av vekt, farge og luft */
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 > .b-acc__all.b-acc__all.b-acc__all { margin-top: 20px; }

/* Mobilmeny: pillene «Nyhet» og «Nye kurs» tonet ned (lys grønn som produktpillene, mindre skrift) */
.b-drawer.b-drawer.b-drawer .b-badge.b-badge.b-badge { background: #e3e9e7; color: #354545; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; padding: 3px 8px; border-radius: 4px; }

/* Mobilmeny: innrykket på underkategoriene under Elleebana halvert (16px → 8px) */
.b-acc__sub.b-acc__sub.b-acc__sub .b-acc__sub--2.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 { padding-left: 8px; } /* må slå regelen .b-acc__sub .b-acc__sub (6 klasser) */





/* ==================== Min konto (/min-konto/, [woocommerce_my_account] i Blocksy) ==================== */
/* Sideramme: som handlekurven – Blocksys sidetittel skjules, vårt eget sidehode skrives ut av snippet «Forside 2026 – Min konto». */
.woocommerce-account .hero-section { display: none; }
.woocommerce-account .ct-container-full > article, .woocommerce-account .entry-content { padding: 0; }
.woocommerce-account .entry-content > .woocommerce { max-width: 1168px; margin: 0 auto; padding: 0 20px 24px; box-sizing: border-box; }
.woocommerce-account .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message, .woocommerce-account .woocommerce-notices-wrapper .woocommerce-info, .woocommerce-account .woocommerce-notices-wrapper .woocommerce-error, .woocommerce-account .woocommerce-error, .woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info { background: var(--b-sand); border: 0; border-radius: 6px; color: var(--b-ink); padding: 14px 18px; margin: 0 0 20px; font-size: 14px; }
.woocommerce-account .woocommerce-error { background: #f3e3e0; }
.woocommerce-account .woocommerce-message::before, .woocommerce-account .woocommerce-info::before, .woocommerce-account .woocommerce-error::before { display: none; }
.woocommerce-account .woocommerce-message a, .woocommerce-account .woocommerce-info a, .woocommerce-account .woocommerce-error a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .woocommerce-info { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.woocommerce-account .woocommerce-info .button, .woocommerce-account .woocommerce-message .button { background: transparent; border: 1px solid rgba(30,26,23,0.25); color: var(--b-ink); border-radius: 999px; padding: 8px 16px; font: 600 13px var(--b-font-body); text-transform: none; text-decoration: none; min-height: 0; white-space: nowrap; }

/* Sidehode */
.b-acct__head.b-acct__head.b-acct__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 32px; grid-column: 1 / -1; }
.b-acct__head .b-eyebrow { margin: 0 0 8px; }
.b-acct__title.b-acct__title { margin: 0; font-family: var(--b-font-display); font-weight: 400; font-size: 44px; line-height: 1.05; color: var(--b-ink); }
.b-acct__user.b-acct__user { margin: 0 0 6px; font-size: 14px; color: var(--b-ink-3); }
.b-acct__user a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }

/* Rutenett: meny til venstre, innhold til høyre. Blocksys ct-acount-nav-wrapper gjøres gjennomsiktig for rutenettet. */
.woocommerce-account .entry-content > .woocommerce.ct-woo-account { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 0 64px; align-items: start; }
.woocommerce-account .ct-woo-account > .ct-acount-nav { display: contents; }
.woocommerce-account .ct-woo-account > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; min-width: 0; }

/* Meny */
.woocommerce-account nav.woocommerce-MyAccount-navigation.b-acct__nav { width: 100%; position: sticky; top: 96px; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.woocommerce-account .b-acct__nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-account .b-acct__nav li, .woocommerce-account .ct-acount-nav .b-acct__nav li { margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
.woocommerce-account .b-acct__nav li::before, .woocommerce-account .b-acct__nav li::after { display: none; }
.woocommerce-account .b-acct__nav li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 0 16px; border-radius: 999px; font: 500 14px/1.3 var(--b-font-body); color: var(--b-ink-2); text-decoration: none; background: transparent; border: 1px solid transparent; box-shadow: none; }
.woocommerce-account .b-acct__nav li a::before, .woocommerce-account .b-acct__nav li a::after, .woocommerce-account .b-acct__nav li a svg { display: none; }
.woocommerce-account .b-acct__nav li a:hover { color: var(--b-ink); background: rgba(30,26,23,0.04); }
.woocommerce-account nav.b-acct__nav ul li:not(:last-child) a { border-bottom: 1px solid transparent; } /* Blocksy legger skillelinje under hvert menypunkt */
.woocommerce-account nav.b-acct__nav ul li.is-active a { background: #fff; color: var(--b-ink); font-weight: 600; border: 1px solid rgba(30,26,23,0.1); }
.woocommerce-account .b-acct__nav .b-acct__n { font-size: 12px; color: var(--b-ink-4); font-weight: 500; }
.woocommerce-account .b-acct__nav li.b-acct__out { margin-top: 14px; }
.woocommerce-account .b-acct__nav li.b-acct__out a { color: var(--b-ink-3); font-size: 13px; min-height: 40px; }

/* Kort og innhold */
.b-acct__main.b-acct__main { display: flex; flex-direction: column; gap: 28px; }
.b-acct__card.b-acct__card { background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; padding: 28px; }
.b-acct__card--sand.b-acct__card--sand { background: var(--b-sand); border-color: transparent; }
.b-acct__cardhead.b-acct__cardhead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.b-acct__cardhead--top.b-acct__cardhead--top { align-items: flex-start; }
.b-acct__h2.b-acct__h2 { margin: 0; font-family: var(--b-font-display); font-weight: 400; font-size: 24px; line-height: 1.15; color: var(--b-ink); }
.b-acct__h3.b-acct__h3 { margin: 0 0 10px; font-family: var(--b-font-body); font-weight: 600; font-size: 15px; color: var(--b-ink); }
.b-acct__sub.b-acct__sub { margin: 6px 0 0; font-size: 14px; color: var(--b-ink-3); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.woocommerce-account .b-acct__cardhead .b-link, .woocommerce-account .b-help .b-link, .woocommerce-account .b-orders__act .b-link { font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: var(--b-ink); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.b-acct__two.b-acct__two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.b-acct__empty.b-acct__empty { margin: 0; font-size: 14px; color: var(--b-ink-3); }
.b-acct__empty a, .b-acct__note a, .b-kv a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.b-acct__note.b-acct__note { margin: 14px 0 0; font-size: 13px; color: var(--b-ink-3); }

/* Bestill igjen */
.b-acct__reorder.b-acct__reorder { display: flex; align-items: center; gap: 28px; }
.b-acct__reorder > div:last-child { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.b-acct__reorder-lead.b-acct__reorder-lead { margin: 0; font-weight: 600; font-size: 15px; color: var(--b-ink); }
.b-acct__reorder-items.b-acct__reorder-items { margin: 0; font-size: 14px; color: var(--b-ink-3); }
.woocommerce-account .b-acct__reorder .b-btn { align-self: flex-start; margin-top: 10px; }
.b-acct__thumbs.b-acct__thumbs { display: flex; gap: 10px; flex: none; }
.b-acct__thumbs img { width: 64px; height: 64px; object-fit: contain; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 4px; padding: 6px; box-sizing: border-box; display: block; }
.b-acct__thumbs span { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; border: 1px dashed rgba(30,26,23,0.25); border-radius: 4px; font-size: 13px; font-weight: 600; color: var(--b-ink-3); box-sizing: border-box; }

/* Statuspiller */
.b-status.b-status { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; padding: 4px 10px; border-radius: 999px; background: #e3e9e7; color: #354545; white-space: nowrap; line-height: 1.3; }
.b-status--wait.b-status--wait { background: var(--b-sand); color: var(--b-ink-2); }
.b-status--off.b-status--off { background: #eeeae5; color: var(--b-ink-4); }
.b-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; display: inline-block; }

/* Ordreliste */
.b-orders.b-orders { display: flex; flex-direction: column; }
.b-orders__row.b-orders__row { display: grid; grid-template-columns: 84px 110px minmax(0, 1fr) auto 84px auto; gap: 18px; align-items: center; padding: 16px 0; border-top: 1px solid rgba(30,26,23,0.12); font-size: 14px; color: var(--b-ink); }
.b-orders__row:last-child { border-bottom: 1px solid rgba(30,26,23,0.12); }
.b-orders__row.is-head { border-top: 0; padding: 0 0 10px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: var(--b-ink-4); }
.b-orders__nr.b-orders__nr { font-weight: 600; }
.b-orders__nr a { color: var(--b-ink); text-decoration: none; }
.b-orders__date { color: var(--b-ink-2); }
.b-orders__items.b-orders__items { color: var(--b-ink-2); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.4; }
.b-orders__sum.b-orders__sum { font-weight: 600; text-align: right; white-space: nowrap; }
.b-orders__act.b-orders__act { display: flex; gap: 16px; align-items: center; justify-content: flex-end; }
.woocommerce-account .b-orders__act .b-btn { min-height: 38px; padding: 0 16px; font-size: 13px; }
.b-orders__row .b-acct__mob { display: none; }
.b-acct__pag.b-acct__pag { display: flex; justify-content: center; gap: 12px; margin-top: 22px; }

/* Enkeltordre */
.b-odetail.b-odetail { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.b-oline.b-oline { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 12px 0; border-top: 1px solid rgba(30,26,23,0.1); font-size: 14px; }
.b-oline:last-of-type { border-bottom: 1px solid rgba(30,26,23,0.1); }
.b-oline img { width: 56px; height: 56px; object-fit: contain; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 4px; padding: 5px; box-sizing: border-box; display: block; }
.b-oline__name.b-oline__name { font-weight: 600; line-height: 1.35; color: var(--b-ink); }
.b-oline__name a { color: inherit; text-decoration: none; }
.b-oline__meta.b-oline__meta { font-size: 13px; color: var(--b-ink-3); margin-top: 2px; }
.b-oline__qty.b-oline__qty { color: var(--b-ink-3); white-space: nowrap; }
.b-oline__sum.b-oline__sum { font-weight: 600; min-width: 72px; text-align: right; white-space: nowrap; }
.b-odetail__totals.b-odetail__totals { display: flex; flex-direction: column; margin-top: 8px; }
.b-odetail__totals > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: 14px; color: var(--b-ink-2); }
.b-odetail__totals > div.is-total { border-top: 1px solid rgba(30,26,23,0.12); margin-top: 6px; padding-top: 14px; font-weight: 600; color: var(--b-ink); font-size: 16px; }
.b-odetail__side.b-odetail__side { display: flex; flex-direction: column; gap: 22px; }
.b-odetail__facts.b-odetail__facts { display: flex; flex-direction: column; gap: 14px; margin: 0; font-size: 14px; }
.b-odetail__facts dt { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: var(--b-ink-4); margin: 0 0 4px; }
.b-odetail__facts dd { margin: 0; color: var(--b-ink-2); line-height: 1.5; }
.b-odetail__actions.b-odetail__actions { display: flex; flex-direction: column; gap: 10px; }
.woocommerce-account .b-odetail__actions .b-btn { width: 100%; }
.b-odetail__notes.b-odetail__notes { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(30,26,23,0.12); }
.b-odetail__note { margin: 0 0 12px; font-size: 14px; color: var(--b-ink-2); } .b-odetail__note p { margin: 4px 0 0; }
.woocommerce-account .b-acct__card--order .woocommerce-order-details, .woocommerce-account .b-acct__card--order .woocommerce-customer-details { margin-top: 24px; }

/* Adresser og kontodetaljer */
.b-addr.b-addr { margin: 0; font-size: 14px; line-height: 1.6; color: var(--b-ink-2); }
.b-kv.b-kv { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 8px 16px; font-size: 14px; color: var(--b-ink); }
.b-kv > span:nth-child(odd) { color: var(--b-ink-4); }
.b-wait.b-wait { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid rgba(30,26,23,0.1); font-size: 14px; }
.b-wait img { width: 48px; height: 48px; object-fit: contain; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 4px; padding: 4px; box-sizing: border-box; flex: none; }
.b-wait > div { flex: 1; min-width: 0; }
.b-wait__name.b-wait__name { font-weight: 600; color: var(--b-ink); text-decoration: none; }
.b-wait .b-small { display: block; margin-top: 2px; font-size: 13px; color: var(--b-ink-3); }
.b-help.b-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; font-size: 14px; color: var(--b-ink-2); }
.b-help > span a { font-weight: 600; color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }

/* WooCommerce sine egne skjemaer (adresser, kontodetaljer, glemt passord) og adressekortene */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin: 0 0 18px; font-size: 14px; color: var(--b-ink-3); }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; width: 100%; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Address { width: auto; float: none; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; padding: 28px; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.woocommerce-account .woocommerce-Address-title h2 { margin: 0; font-family: var(--b-font-display); font-weight: 400; font-size: 24px; line-height: 1.15; color: var(--b-ink); }
.woocommerce-account .woocommerce-Address-title a.edit { font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: var(--b-ink); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.woocommerce-account .woocommerce-Address address { font-style: normal; font-size: 14px; line-height: 1.6; color: var(--b-ink-2); }
.woocommerce-account .woocommerce-MyAccount-content form.edit-account, .woocommerce-account form.edit-account, .woocommerce-account form.woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields, .woocommerce-account form.lost_reset_password { background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; padding: 28px; max-width: none; width: 100%; box-sizing: border-box; }
.woocommerce-account .woocommerce-address-fields h3, .woocommerce-account form.edit-account fieldset legend { font-family: var(--b-font-display); font-weight: 400; font-size: 24px; margin: 0 0 18px; color: var(--b-ink); }
.woocommerce-account form.edit-account fieldset { border: 0; padding: 0; margin: 24px 0 0; }
.woocommerce-account .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: 0; float: none; width: 100%; }
.woocommerce-account .form-row-first, .woocommerce-account .form-row-last { width: 100%; }
.woocommerce-account .woocommerce-address-fields__field-wrapper, .woocommerce-account form.edit-account { display: block; }
@media (min-width: 761px) {
	.woocommerce-account .woocommerce-address-fields__field-wrapper, .woocommerce-account form.edit-account > .form-row-first, .woocommerce-account form.edit-account > .form-row-last { }
	.woocommerce-account .form-row-first, .woocommerce-account .form-row-last { width: calc(50% - 8px); display: inline-flex; vertical-align: top; }
	.woocommerce-account .form-row-first { margin-right: 16px; }
}
.woocommerce-account .form-row label { font-size: 13px; font-weight: 600; color: var(--b-ink-2); line-height: 1.3; }
.woocommerce-account .form-row label .required { color: var(--b-ink-4); text-decoration: none; }
.woocommerce-account .form-row label .optional { color: var(--b-ink-4); font-weight: 400; }
.woocommerce-account .form-row .input-text, .woocommerce-account .form-row input[type="text"], .woocommerce-account .form-row input[type="email"], .woocommerce-account .form-row input[type="tel"], .woocommerce-account .form-row input[type="password"], .woocommerce-account .form-row select, .woocommerce-account .form-row .select2-container .select2-selection--single { min-height: 50px; height: auto; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; padding: 0 20px; font: 400 15px/1.3 var(--b-font-body); background: #fff; color: var(--b-ink); width: 100%; box-sizing: border-box; box-shadow: none; }
.woocommerce-account .form-row .select2-container .select2-selection--single { display: flex; align-items: center; } .woocommerce-account .form-row .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 12px; }
.woocommerce-account .form-row .input-text:focus { outline: none; border-color: var(--b-ink); }
.woocommerce-account .form-row .password-input { display: block; position: relative; }
.woocommerce-account .form-row .show-password-input { top: 50%; transform: translateY(-50%); right: 16px; }
.woocommerce-account .form-row span em, .woocommerce-account .form-row .description { font-size: 12px; color: var(--b-ink-4); font-style: normal; }
.woocommerce-account .woocommerce-MyAccount-content button.button, .woocommerce-account .woocommerce-MyAccount-content .button:not(.b-btn), .woocommerce-account form.lost_reset_password .button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px; border-radius: 999px; background: #5e7675; color: #fff; border: 1px solid transparent; font: 600 14px/1 var(--b-font-body); letter-spacing: 0.04em; text-transform: none; cursor: pointer; }
.woocommerce-account .woocommerce-MyAccount-content button.button:hover, .woocommerce-account form.lost_reset_password .button:hover { background: #526867; color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content .b-btn, .woocommerce-account .b-login .b-btn, .woocommerce-account .b-acct__main .b-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 28px; border-radius: 999px; font: 600 14px/1 var(--b-font-body); letter-spacing: 0.04em; border: 1px solid transparent; white-space: nowrap; cursor: pointer; text-decoration: none; text-transform: none; box-sizing: border-box; }
.woocommerce-account .b-btn.b-btn--dark { background: #5e7675; color: #fff; border-color: #5e7675; } .woocommerce-account .b-btn.b-btn--dark:hover { background: #526867; border-color: #526867; color: #fff; }
.woocommerce-account .b-btn.b-btn--outline { background: transparent; color: var(--b-ink); border: 1px solid rgba(30,26,23,0.3); } .woocommerce-account .b-btn.b-btn--outline:hover { border-color: var(--b-ink); color: var(--b-ink); }
.woocommerce-account .b-btn.b-btn--soft { background: var(--b-sand); color: var(--b-ink); border-color: var(--b-sand); } .woocommerce-account .b-btn.b-btn--soft:hover { background: #e2d9cd; border-color: #e2d9cd; color: var(--b-ink); }
.woocommerce-account .b-odetail__actions .b-btn.b-btn--outline, .woocommerce-account .b-login .b-btn.b-btn--outline { background: #fff; }
.woocommerce-account .b-btn svg { width: 16px; height: 16px; flex: none; }

/* Innlogging og ny konto */
.woocommerce-account .entry-content > .woocommerce.ct-woo-unauthorized { display: block; }
.b-login.b-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; width: 100%; }
.b-login--single.b-login--single { grid-template-columns: minmax(0, 520px); }
.woocommerce-account .b-login__card { padding: 40px; }
.woocommerce-account .b-login__card .b-acct__h2 { font-size: 30px; margin: 0 0 6px; }
.b-login__lead.b-login__lead { margin: 0 0 24px; color: var(--b-ink-2); font-size: 15px; line-height: 1.5; }
.b-login__usp.b-login__usp { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; color: var(--b-ink-2); }
.b-login__usp li { display: flex; gap: 10px; align-items: flex-start; }
.b-login__usp li svg { flex: none; margin-top: 2px; color: #5e7675; }
.woocommerce-account .b-login .form-row { margin: 0 0 16px; }
.woocommerce-account .b-login .b-login__submit { margin: 6px 0 0; }
.woocommerce-account .b-login .b-login__submit .b-btn { width: 100%; }
.b-login__row.b-login__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 16px; }
.woocommerce-account .b-login .b-check { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--b-ink-2); margin: 0; cursor: pointer; }
.woocommerce-account .b-login .b-check input { width: 18px; height: 18px; margin: 0; accent-color: #5e7675; }
.b-login__lost.b-login__lost { font-size: 13px; color: var(--b-ink-3); text-decoration: underline; text-underline-offset: 3px; }
.b-login__extra { font-size: 12px; color: var(--b-ink-3); margin: 0 0 4px; }
.b-login__extra > p { margin: 0 0 14px; line-height: 1.5; }
.b-login__extra a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.b-login__extra .g-recaptcha { margin: 0 0 14px; }
.woocommerce-account .b-login .b-btn--outline { background: #fff; }

@media (max-width: 760px) {
	.woocommerce-account .entry-content > .woocommerce.ct-woo-account { grid-template-columns: 1fr; gap: 0; }
	.b-acct__head.b-acct__head.b-acct__head { margin-bottom: 20px; }
	.b-acct__title.b-acct__title { font-size: 36px; }
	.woocommerce-account nav.woocommerce-MyAccount-navigation.b-acct__nav { position: static; margin: 0 -20px 20px; padding: 0 20px 6px; overflow-x: auto; scrollbar-width: none; width: auto; }
	.woocommerce-account .b-acct__nav::-webkit-scrollbar { display: none; }
	.woocommerce-account .b-acct__nav ul { flex-direction: row; gap: 8px; width: max-content; }
	.woocommerce-account .b-acct__nav li a { min-height: 38px; padding: 0 16px; border: 1px solid rgba(30,26,23,0.25); font-size: 13px; color: var(--b-ink); gap: 6px; }
	.woocommerce-account .b-acct__nav li.is-active a { background: var(--b-ink); color: var(--b-ivory); border-color: var(--b-ink); }
	.woocommerce-account .b-acct__nav .b-acct__n { display: none; }
	.woocommerce-account .b-acct__nav li.b-acct__out { margin: 0; } .woocommerce-account .b-acct__nav li.b-acct__out a { min-height: 38px; font-size: 13px; color: var(--b-ink-3); }
	.b-acct__main.b-acct__main { gap: 18px; }
	.b-acct__card.b-acct__card { padding: 20px; }
	.b-acct__cardhead.b-acct__cardhead { margin-bottom: 14px; }
	.b-acct__h2.b-acct__h2 { font-size: 22px; }
	.b-acct__two.b-acct__two { grid-template-columns: 1fr; gap: 18px; }
	.b-acct__reorder.b-acct__reorder { flex-direction: column; align-items: stretch; gap: 16px; }
	.woocommerce-account .b-acct__reorder .b-btn { align-self: stretch; }
	.b-acct__thumbs img, .b-acct__thumbs span { width: 60px; height: 60px; }
	.b-orders__row.is-head { display: none; }
	.b-orders__row.b-orders__row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nr status" "items items" "sum sum" "act act"; gap: 8px 12px; padding: 16px 0; }
	.b-orders__row > .b-orders__nr { grid-area: nr; } .b-orders__row > .b-orders__date { display: none; } .b-orders__row > .b-orders__items { grid-area: items; -webkit-line-clamp: 3; }
	.b-orders__row > .b-orders__status { grid-area: status; justify-self: end; } .b-orders__row > .b-orders__sum { grid-area: sum; text-align: left; } .b-orders__row > .b-orders__act { grid-area: act; justify-content: flex-start; margin-top: 4px; gap: 8px; }
	.b-orders__row .b-acct__mob { display: inline; color: var(--b-ink-4); font-weight: 400; }
	.woocommerce-account .b-orders__act .b-btn { flex: 1; }
	.woocommerce-account .b-orders__act .b-link { border: 1px solid rgba(30,26,23,0.3); border-radius: 999px; min-height: 38px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
	.b-odetail.b-odetail { grid-template-columns: 1fr; gap: 24px; }
	.b-oline.b-oline { grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "img name sum" "img qty qty"; gap: 4px 12px; align-items: start; }
	.b-oline img { width: 48px; height: 48px; grid-area: img; }
	.b-oline > div:nth-child(2) { grid-area: name; }
	.b-oline__qty.b-oline__qty { grid-area: qty; font-size: 13px; }
	.b-oline__sum.b-oline__sum { grid-area: sum; }
	.b-kv.b-kv { grid-template-columns: 1fr; gap: 2px 0; } .b-kv > span:nth-child(even) { margin-bottom: 8px; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce-account .woocommerce-Address, .woocommerce-account form.edit-account, .woocommerce-account form.woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields, .woocommerce-account form.lost_reset_password { padding: 20px; }
	.woocommerce-account .woocommerce-MyAccount-content button.button { width: 100%; }
	.b-login.b-login { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce-account .b-login__card { padding: 24px 20px; }
	.woocommerce-account .b-login__card .b-acct__h2 { font-size: 26px; }
}


/* ==================== Tillegg 9. sept 2026: chips-hint på mobil, Min konto-meny på mobil, kassehode, «Se alt fra» i mobilmenyen ==================== */
/* Chips (kategoripiller) på mobil: pil til høyre viser at raden kan rulles sidelengs. Pilen ligger fast i rammen (attachment scroll);
   et dekkfelt som følger innholdet (attachment local) skjuler den når raden er rullet helt ut. Bakgrunn = sand i arkiv-heroen, ellers ivory. */
@media (max-width: 760px) {
  .b-chips.b-chips.b-chips { background:
    linear-gradient(to left, var(--b-ivory) 60%, rgba(246,242,236,0)) right center / 56px 100% no-repeat local,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231e1a17' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") right 18px center / 20px 20px no-repeat scroll,
    linear-gradient(to left, var(--b-ivory) 30%, rgba(246,242,236,0)) right center / 72px 100% no-repeat scroll; }
  .b-archive-hero .b-chips.b-chips.b-chips, .b-section--sand .b-chips.b-chips.b-chips { background:
    linear-gradient(to left, var(--b-sand) 60%, rgba(236,229,220,0)) right center / 56px 100% no-repeat local,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231e1a17' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") right 18px center / 20px 20px no-repeat scroll,
    linear-gradient(to left, var(--b-sand) 30%, rgba(236,229,220,0)) right center / 72px 100% no-repeat scroll; }
  .b-chips.b-chips.b-chips { padding-right: 56px; }
  /* Min konto på mobil: mindre luft, menypiller uten ramme og mindre (Ronny 9. sept) */
  .woocommerce-account .ct-container-full { --theme-content-spacing: 28px; }
  .woocommerce-account .entry-content > .woocommerce { padding-bottom: 8px; }
  .b-acct__head.b-acct__head.b-acct__head { margin-bottom: 14px; }
  .b-acct__title.b-acct__title { font-size: 32px; }
  .woocommerce-account nav.woocommerce-MyAccount-navigation.b-acct__nav { margin: 0 -20px 16px; padding: 0 20px 4px; }
  .woocommerce-account nav.b-acct__nav ul li a, .woocommerce-account nav.b-acct__nav ul li:not(:last-child) a { min-height: 34px; padding: 0 13px; border: 0; background: rgba(30,26,23,0.06); font-size: 13px; color: var(--b-ink-2); }
  .woocommerce-account nav.b-acct__nav ul li.is-active a { background: var(--b-ink); color: var(--b-ivory); border: 0; font-weight: 600; }
  .woocommerce-account nav.b-acct__nav ul li.b-acct__out a { background: transparent; color: var(--b-ink-3); padding: 0 8px; }
  .b-acct__card.b-acct__card { padding: 18px 16px; }
  .b-acct__main.b-acct__main { gap: 14px; }
  .b-acct__cardhead.b-acct__cardhead { margin-bottom: 12px; }
}
/* Kassen: sidehode og bedriftslinje over Kustom-rammen (samme bredde som rammen) */
.woocommerce-checkout .b-checkout__head { max-width: 640px; margin: 0 auto 18px; padding: 0; }
.woocommerce-checkout .b-checkout__head .b-cart__title { font-size: 40px; }
.b-checkout__note.b-checkout__note { max-width: 640px; margin: 0 auto 20px; padding: 14px 18px; background: var(--b-sand); border-radius: 6px; font-size: 14px; line-height: 1.5; color: var(--b-ink-2); }
.b-checkout__note strong { color: var(--b-ink); }
@media (max-width: 760px) { .woocommerce-checkout .b-checkout__head .b-cart__title { font-size: 32px; } .woocommerce-checkout .b-checkout__head { margin-bottom: 14px; } }
/* Mobilmeny: «Se alt fra Elleebana» skal se ut som en lenke, ikke en overskrift */
.b-drawer .b-acc__all.b-acc__all.b-acc__all { font-size: 14px; font-weight: 500; color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(30,26,23,0.35); }

/* Rullehinten gjelder bare kategoripillene i arkivet, ikke chips i søk/meny */
@media (max-width: 760px) { .b-sok .b-chips.b-chips.b-chips, .b-drawer .b-chips.b-chips.b-chips, .b-mega .b-chips.b-chips.b-chips { background: none; padding-right: 20px; } }

@media (max-width: 760px) { .b-archive-hero .b-chips.b-chips.b-chips.b-chips { padding-right: 56px !important; } }
.b-drawer .b-acc__all.b-acc__all.b-acc__all span { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(30,26,23,0.4); }


/* ==================== Kundesenter ([bf_kundesenter], side «Kundesenter») ==================== */
.b-ks-body .hero-section { display: none; }
.b-ks-body .ct-container-full > article, .b-ks-body .entry-content { padding: 0; }
.b-ks-body .entry-content > .b-ks-page, .b-ks-page { max-width: 1168px; margin: 0 auto; padding: 0 20px 24px; box-sizing: border-box; }
.b-ks__head.b-ks__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 64px; align-items: end; margin: 0 0 36px; }
.b-ks__head .b-eyebrow { margin: 0 0 8px; }
.b-ks__title.b-ks__title { margin: 0; font-family: var(--b-font-display); font-weight: 400; font-size: 44px; line-height: 1.05; color: var(--b-ink); }
.b-ks__lead.b-ks__lead { font-size: 17px; line-height: 1.6; color: var(--b-ink-2); margin: 14px 0 0; max-width: 52ch; }
.b-ks__konto.b-ks__konto { margin: 0 0 8px; font-size: 14px; color: var(--b-ink-3); }
.b-ks__konto a, .b-ks__ingress a, .b-ks .b-pacc__body a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.b-ks__contact.b-ks__contact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; background: var(--b-sand); border-radius: 6px; padding: 8px 0; margin: 0 0 48px; }
.b-ks__contact > div { padding: 22px 28px; border-left: 1px solid rgba(30,26,23,0.1); display: flex; flex-direction: column; gap: 6px; }
.b-ks__contact > div:first-child { border-left: 0; }
.b-ks__contact .b-eyebrow { font-size: 11px; color: var(--b-ink-3); margin: 0; }
.b-ks__contact strong { font-size: 17px; font-weight: 600; color: var(--b-ink); }
.b-ks__contact strong a { color: inherit; text-decoration: none; }
.b-ks__contact span { font-size: 13px; color: var(--b-ink-3); }
.b-ks.b-ks { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 0 64px; align-items: start; }
.b-ks__nav.b-ks__nav { display: flex; flex-direction: column; gap: 2px; position: sticky; top: 96px; }
.b-ks__nav a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--b-ink-2); border: 1px solid transparent; text-decoration: none; }
.b-ks__nav a:hover { color: var(--b-ink); background: rgba(30,26,23,0.04); }
.b-ks__nav a.is-active { background: #fff; color: var(--b-ink); font-weight: 600; border-color: rgba(30,26,23,0.1); }
.b-ks__tabs.b-ks__tabs { display: none; }
.b-ks__main.b-ks__main { display: flex; flex-direction: column; gap: 56px; }
.b-ks__sec { scroll-margin-top: 96px; }
.b-ks__h2.b-ks__h2 { font-family: var(--b-font-display); font-weight: 400; font-size: 30px; line-height: 1.15; margin: 0 0 4px; color: var(--b-ink); }
.b-ks__ingress.b-ks__ingress { margin: 0 0 8px; font-size: 15px; color: var(--b-ink-3); line-height: 1.5; }
.b-ks .b-pacc.b-ks__faq { margin-top: 12px; }
.b-ks .b-pacc summary { font-size: 16px; }
.b-ks .b-pacc__body { max-width: 68ch; }
.b-ks .b-pacc__body p { margin: 0 0 10px; } .b-ks .b-pacc__body p:last-child { margin-bottom: 0; }
.b-ks__links.b-ks__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 16px; }
.b-ks__link.b-ks__link { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff; border: 1px solid rgba(30,26,23,0.1); border-radius: 6px; padding: 22px 24px; color: var(--b-ink); text-decoration: none; }
.b-ks__link:hover { border-color: rgba(30,26,23,0.3); }
.b-ks__link strong { display: block; font-size: 16px; font-weight: 600; }
.b-ks__link span { display: block; font-size: 13px; color: var(--b-ink-3); margin-top: 2px; }
.b-ks__link svg { width: 18px; height: 18px; flex: none; color: var(--b-ink-3); }
.b-ks__note.b-ks__note { background: var(--b-sand); border-radius: 6px; padding: 18px 22px; font-size: 14px; color: var(--b-ink-2); margin-top: 16px; }
.b-ks__note strong { color: var(--b-ink); }
@media (max-width: 760px) {
  .b-ks-body .ct-container-full { --theme-content-spacing: 28px; }
  .b-ks__head.b-ks__head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 24px; }
  .b-ks__title.b-ks__title { font-size: 34px; }
  .b-ks__lead.b-ks__lead { font-size: 16px; }
  .b-ks__contact.b-ks__contact { grid-template-columns: 1fr; padding: 4px 0; margin-bottom: 24px; }
  .b-ks__contact > div { border-left: 0; border-top: 1px solid rgba(30,26,23,0.1); padding: 16px 20px; }
  .b-ks__contact > div:first-child { border-top: 0; }
  .b-ks.b-ks { grid-template-columns: 1fr; gap: 16px; }
  .b-ks__nav.b-ks__nav { display: none; }
  .b-ks__tabs.b-ks__tabs { display: flex; gap: 8px; overflow-x: auto; margin: 0 -20px; padding: 0 20px 6px; scrollbar-width: none; position: sticky; top: 76px; z-index: 5; background: var(--b-ivory); padding-top: 8px; }
  .b-ks__tabs::-webkit-scrollbar { display: none; }
  .b-ks__tabs .b-chip { min-height: 34px; padding: 0 13px; border: 0; background: rgba(30,26,23,0.06); font-size: 13px; color: var(--b-ink-2); text-decoration: none; }
  .b-ks__tabs .b-chip.is-active { background: var(--b-ink); color: var(--b-ivory); }
  .b-ks__main.b-ks__main { gap: 40px; }
  .b-ks__sec { scroll-margin-top: 130px; }
  .b-ks__h2.b-ks__h2 { font-size: 26px; }
  .b-ks .b-pacc summary { font-size: 15px; min-height: 52px; }
  .b-ks__links.b-ks__links { grid-template-columns: 1fr; gap: 12px; }
}

/* Kundesenter: trekkspillet stiles her (produktsidens regler er avgrenset til produktsiden) */
.b-ks .b-pacc.b-pacc { display: flex; flex-direction: column; border-top: 1px solid rgba(30,26,23,0.12); margin-top: 12px; }
.b-ks .b-pacc details { border-bottom: 1px solid rgba(30,26,23,0.12); }
.b-ks .b-pacc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 14px 0; font-weight: 600; font-size: 16px; color: var(--b-ink); line-height: 1.35; }
.b-ks .b-pacc summary::-webkit-details-marker { display: none; }
.b-ks .b-pacc summary::marker { content: ''; }
.b-ks .b-pacc summary::after { content: ''; width: 10px; height: 10px; border-right: 1.5px solid var(--b-ink-3); border-bottom: 1.5px solid var(--b-ink-3); transform: rotate(45deg); margin-right: 6px; flex: none; transition: transform .2s; }
.b-ks .b-pacc details[open] summary::after { transform: rotate(-135deg); margin-top: 6px; }
.b-ks .b-pacc__body { padding: 0 0 20px; color: var(--b-ink-2); font-size: 15px; line-height: 1.6; max-width: 68ch; }
@media (max-width: 760px) { .b-ks .b-pacc summary { font-size: 15px; min-height: 52px; padding: 12px 0; } }

/* Lash Bar-siden (48400): lesbar linjelengde og luft rundt mellomtitlene */
.page-id-48400 .elementor-widget-text-editor { max-width: 760px; }
.page-id-48400 .elementor-widget-text-editor h3 { font-family: var(--b-font-display); font-weight: 400; font-size: 28px; line-height: 1.15; margin: 32px 0 10px; }
.page-id-48400 .elementor-widget-text-editor p { margin: 0 0 14px; line-height: 1.65; }
.page-id-48400 .elementor-widget-text-editor ul { margin: 0 0 18px; padding-left: 20px; } .page-id-48400 .elementor-widget-text-editor li { margin-bottom: 6px; }
.page-id-48400 .elementor-widget-text-editor a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
/* Rullehinten på kategoripillene: bredere fade så pilen ikke ligger over tekst */
@media (max-width: 760px) { .b-archive-hero .b-chips.b-chips.b-chips { background-size: 56px 100%, 20px 20px, 110px 100%; background-position: right center, right 14px center, right center; } }

/* Vilkårssider (Salgsvilkår 1024, Personvernerklæring 63): lesbar spalte, samme sidehode som kundesenteret */
.page-id-1024 .hero-section, .page-id-63 .hero-section { display: none; }
.page-id-1024 .ct-container-full > article, .page-id-63 .ct-container-full > article, .page-id-1024 .entry-content, .page-id-63 .entry-content { padding: 0; }
.b-legal.b-legal { max-width: 800px; margin: 0 auto; padding: 0 20px 24px; box-sizing: border-box; font-size: 16px; line-height: 1.65; color: var(--b-ink-2); }
.b-legal .b-eyebrow { margin: 0 0 8px; }
.b-legal__title.b-legal__title { margin: 0 0 12px; font-family: var(--b-font-display); font-weight: 400; font-size: 44px; line-height: 1.05; color: var(--b-ink); }
.b-legal__lead.b-legal__lead { margin: 0 0 32px; font-size: 17px; color: var(--b-ink-2); }
.b-legal h2 { font-family: var(--b-font-display); font-weight: 400; font-size: 26px; line-height: 1.15; color: var(--b-ink); margin: 36px 0 10px; scroll-margin-top: 96px; }
.b-legal p { margin: 0 0 14px; }
.b-legal ul, .b-legal ol { margin: 0 0 16px; padding-left: 22px; } .b-legal li { margin-bottom: 6px; }
.b-legal strong { color: var(--b-ink); }
.b-legal a { color: var(--b-ink); text-decoration: underline; text-underline-offset: 3px; }
.b-legal__table { overflow-x: auto; margin: 0 0 18px; }
.b-legal table { width: 100%; border-collapse: collapse; font-size: 14px; }
.b-legal th, .b-legal td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid rgba(30,26,23,0.12); }
.b-legal th { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--b-ink-4); font-weight: 600; }
.b-legal__updated { margin-top: 32px; font-size: 13px; color: var(--b-ink-4); }
@media (max-width: 760px) { .page-id-1024 .ct-container-full, .page-id-63 .ct-container-full { --theme-content-spacing: 28px; } .b-legal__title.b-legal__title { font-size: 34px; } .b-legal h2 { font-size: 22px; } }


/* ==================== Rullehint (erstatter bakgrunnstrikset fra tidligere i dag) ==================== */
.b-scrollhint { position: relative; }
.b-scrollhint::before, .b-scrollhint::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; pointer-events: none; opacity: 0; transition: opacity .2s; }
.b-scrollhint::after { width: 72px; background: linear-gradient(to left, var(--hint-bg, var(--b-ivory)) 38%, rgba(246,242,236,0)); }
.b-scrollhint::before { width: 20px; right: 14px; z-index: 1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231e1a17' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px 20px no-repeat; }
.b-archive-hero .b-scrollhint, .b-section--sand .b-scrollhint { --hint-bg: var(--b-sand); }
.b-archive-hero .b-scrollhint::after { background: linear-gradient(to left, var(--b-sand) 38%, rgba(236,229,220,0)); }
@media (max-width: 760px) {
  .b-scrollhint:not(.is-end):not(.is-noscroll)::before, .b-scrollhint:not(.is-end):not(.is-noscroll)::after { opacity: 1; }
  /* Kategoripiller: wrapperen tar de negative margene, raden ruller inni */
  .b-chips-wrap.b-chips-wrap { margin: 0 -20px; }
  .b-chips-wrap .b-chips.b-chips.b-chips.b-chips { margin: 0; padding: 0 20px 4px; background: none; }
  /* Min konto-menyen: wrapper tar margene; piller små og lave (Ronny 9. sept: for runde/ovale) */
  .b-acct__navwrap.b-acct__navwrap { margin: 0 -20px 14px; }
  .woocommerce-account .b-acct__navwrap nav.woocommerce-MyAccount-navigation.b-acct__nav { margin: 0; padding: 0 20px 4px; }
  .woocommerce-account .ct-acount-nav nav.b-acct__nav ul { gap: 6px; }
  .woocommerce-account .ct-acount-nav nav.b-acct__nav ul li a, .woocommerce-account .ct-acount-nav nav.b-acct__nav ul li:not(:last-child) a { min-height: 0; height: 30px; padding: 0 12px; line-height: 30px; font-size: 13px; border-radius: 6px; }
  .woocommerce-account .ct-acount-nav nav.b-acct__nav ul li.b-acct__out a { padding: 0 8px; }
  /* Min konto på mobil: mindre luft rundt innholdet */
  .woocommerce-account .entry-content > .woocommerce { padding-left: 0; padding-right: 0; }
  .b-acct__card.b-acct__card { padding: 16px 14px; }
  .woocommerce-account .woocommerce-Address, .woocommerce-account form.edit-account, .woocommerce-account form.woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields, .woocommerce-account form.lost_reset_password { padding: 16px 14px; }
  .woocommerce-account .b-login__card { padding: 20px 16px; }
  /* Kundesenter-pillene: samme hint */
  .b-ks__tabswrap.b-ks__tabswrap { margin: 0 -20px; position: sticky; top: 76px; z-index: 5; background: var(--b-ivory); }
  .b-ks__tabswrap .b-ks__tabs.b-ks__tabs { margin: 0; position: static; padding: 8px 20px 6px; }
}

@media (max-width: 760px) { .woocommerce-account .ct-container-full, .b-ks-body .ct-container-full, .page-id-1024 .ct-container-full, .page-id-63 .ct-container-full { --container-edge: 20px; } .b-ks-page.b-ks-page, .b-legal.b-legal { padding-left: 0; padding-right: 0; } }

/* Mobil: Blocksys constrained layout legger 30px+ margin på innholdsblokken (margin auto !important) – våre sidewrappere skal gå kant til kant med egen 20px-padding */
@media (max-width: 760px) {
  .b-ks-body .entry-content.is-layout-constrained > .b-ks-page, .woocommerce-account .entry-content.is-layout-constrained > .woocommerce, .page-id-1024 .entry-content.is-layout-constrained > .b-legal, .page-id-63 .entry-content.is-layout-constrained > .b-legal { max-width: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; }
}

/* Desktop: wrapperen rundt Min konto-menyen skal ikke bryte sticky-menyen */
@media (min-width: 761px) { .woocommerce-account .b-acct__navwrap { display: contents; } }

/* Rullehint: pilen midtstilles på pillene (ikke på hele boksen, som også rommer bunnpadding og rullefelt); rullefeltet skjules */
.b-scrollhint::before { top: var(--hint-y, 20px); bottom: auto; height: 20px; margin-top: -10px; }
.b-acct__navwrap { --hint-y: 15px; }
.b-ks__tabswrap { --hint-y: 25px; }
.b-chips-wrap .b-chips.b-chips.b-chips { scrollbar-width: none; -ms-overflow-style: none; }
.b-chips-wrap .b-chips.b-chips.b-chips::-webkit-scrollbar { display: none; }
.woocommerce-account nav.b-acct__nav::-webkit-scrollbar { display: none; }

/* Mindre luft over innholdet på konto-, kundesenter- og vilkårssidene (desktop) */
@media (min-width: 761px) { .woocommerce-account .ct-container-full, .b-ks-body .ct-container-full, .page-id-1024 .ct-container-full, .page-id-63 .ct-container-full { --theme-content-spacing: 40px; } }

/* Kundesenter: pillewrapperen skal ikke ta en rutenettcelle på desktop (skjøv innholdet under menyen), og skal kunne rulle på mobil */
@media (min-width: 761px) { .b-ks__tabswrap.b-ks__tabswrap { display: none; } }
@media (max-width: 760px) { .b-ks.b-ks { grid-template-columns: minmax(0, 1fr); } .b-ks__tabswrap.b-ks__tabswrap { min-width: 0; } .b-ks__tabswrap .b-ks__tabs.b-ks__tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .b-ks__tabswrap .b-ks__tabs::-webkit-scrollbar { display: none; } }

/* Sidemenyene (kundesenter, Min konto) skal ligge under den klebrige headeren (76px) – og under adminlinjen når man er innlogget som admin */
.b-ks__nav.b-ks__nav, .woocommerce-account nav.woocommerce-MyAccount-navigation.b-acct__nav { top: 100px; }
.admin-bar .b-ks__nav.b-ks__nav, .admin-bar.woocommerce-account nav.woocommerce-MyAccount-navigation.b-acct__nav { top: 132px; }
.b-ks__sec { scroll-margin-top: 100px; }

/* Desktop: våre sidewrappere skal ikke legge egen sidepadding oppa Blocksys containerkant (Ronny 9. sept: unødvendig padding på sidene) */
@media (min-width: 761px) { .b-ks-page.b-ks-page, .b-legal.b-legal, .woocommerce-account .entry-content > .woocommerce, .woocommerce-cart .woocommerce { padding-left: 0; padding-right: 0; } }

/* Min konto på mobil: rutenettet må ikke vokse med menyens max-content-bredde (ul har width: max-content inne i rullefeltet) */
@media (max-width: 760px) { .woocommerce-account .entry-content > .woocommerce.ct-woo-account { grid-template-columns: minmax(0, 1fr); } .b-acct__navwrap.b-acct__navwrap { min-width: 0; max-width: calc(100% + 40px); } .woocommerce-account .b-acct__navwrap nav.woocommerce-MyAccount-navigation.b-acct__nav { min-width: 0; max-width: 100%; } }

/* Personvernerklæring: CookieYes-knapp og tabell over informasjonskapsler */
.b-legal .b-legal__btn.b-legal__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; border-radius: 999px; border: 1px solid rgba(30,26,23,0.3); color: var(--b-ink); font: 600 14px/1 var(--b-font-body); letter-spacing: 0.04em; text-decoration: none; cursor: pointer; background: #fff; }
.b-legal .b-legal__btn.b-legal__btn:hover { border-color: var(--b-ink); }
.b-legal .b-legal__cky { margin: 8px 0 20px; }
.b-legal .b-legal__cky h3, .b-legal .b-legal__cky h4, .b-legal .b-legal__cky .cky-audit-table-heading { font-family: var(--b-font-display); font-weight: 400; font-size: 22px; color: var(--b-ink); margin: 24px 0 6px; }
.b-legal .b-legal__cky p { font-size: 14px; color: var(--b-ink-3); }
.b-legal .b-legal__cky table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 8px 0 16px; }
.b-legal .b-legal__cky th, .b-legal .b-legal__cky td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid rgba(30,26,23,0.12); background: transparent; word-break: break-word; }
.b-legal .b-legal__cky th { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--b-ink-4); font-weight: 600; }
@media (max-width: 760px) { .b-legal .b-legal__cky { overflow-x: auto; } .b-legal .b-legal__cky table { min-width: 520px; } }

/* Kundesenter desktop: sidewrapperen uten egen padding må slå grunnregelen (.b-ks-body .entry-content > .b-ks-page) */
@media (min-width: 761px) { .b-ks-body .entry-content > .b-ks-page.b-ks-page { padding-left: 0; padding-right: 0; } }


/* ===== Kontodetaljer-skjema: to felt per linje + øye-ikon midtstilt (10. sept 2026) ===== */
.woocommerce-account form.edit-account, .woocommerce-account .woocommerce-address-fields__field-wrapper { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 16px; }
.woocommerce-account form.edit-account > .clear, .woocommerce-account .woocommerce-address-fields__field-wrapper > .clear { display: none; }
.woocommerce-account form.edit-account > .form-row, .woocommerce-account form.edit-account > fieldset, .woocommerce-account form.edit-account > p, .woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row { flex: 0 0 100%; min-width: 0; }
.woocommerce-account form.edit-account > fieldset { margin-top: 8px; }
@media (min-width: 761px) {
	.woocommerce-account form.edit-account > .form-row-first, .woocommerce-account form.edit-account > .form-row-last, .woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-first, .woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-last,
	.woocommerce-account form.edit-account > .form-row:has(> #account_display_name), .woocommerce-account form.edit-account > .form-row:has(> #account_email) { flex: 0 0 calc(50% - 8px); width: calc(50% - 8px); display: flex; margin-right: 0; }
}
.woocommerce-account .form-row .password-input .show-password-input { top: 50% !important; bottom: auto !important; transform: translateY(-50%) !important; right: 18px !important; margin: 0 !important; }

.woocommerce-account form.edit-account > p:has(> button[name="save_account_details"]) { margin-top: 12px; }

/* ---------- Mobilmeny: uten innrykk på undernivaaene (rett venstrekant hele veien) ---------- */
.b-acc__sub.b-acc__sub.b-acc__sub { padding-left: 4px; padding-right: 4px; } /* samme 4px som .b-acc__item (Nettbutikk), begge sider så minus/pil linjerer */
.b-acc__sub.b-acc__sub.b-acc__sub .b-acc__sub--2.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 { padding-left: 0; }
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 > .b-acc__group.b-acc__group.b-acc__group { padding-left: 0; padding-right: 0; }
.b-acc__sub--2.b-acc__sub--2.b-acc__sub--2 > .b-acc__group ~ a:not(.b-acc__all) { padding-left: 0; }
/* ---------- Mobilmeny: pille + pil samlet til hoyre på rader med badge ---------- */
.b-acc__end.b-acc__end.b-acc__end { display: inline-flex; align-items: center; gap: 12px; flex: none; }

/* ---------- Arkiv-hero (mobil): pilleraden ligger i .b-chips-wrap som allerede har -20px; fjern dobbel negativ margin så forste pille linjerer med innholdet ---------- */
@media (max-width: 760px) {
  .b-archive-hero.b-archive-hero.b-archive-hero .b-chips-wrap .b-chips.b-chips.b-chips { margin-left: 0; margin-right: 0; }
}

/* ---------- Scroll-pil: rolig dytt mot hoyre mens det finnes mer aa scrolle ---------- */
@keyframes b-hint-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
.b-scrollhint:not(.is-end):not(.is-noscroll)::before { animation: b-hint-nudge 1.6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .b-scrollhint::before { animation: none !important; } }
/* ---------- Verktoylinje (antall + sortering): side om side på mobil, kort antall-tekst ---------- */
.b-toolbar__count-short.b-toolbar__count-short { display: none; }
@media (max-width: 760px) {
  .b-toolbar.b-toolbar.b-toolbar { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
  .b-toolbar__actions.b-toolbar__actions.b-toolbar__actions { display: flex; flex: none; }
  .b-toolbar__count-full.b-toolbar__count-full { display: none; }
  .b-toolbar__count-short.b-toolbar__count-short { display: inline; }
}

/* ---------- Omtaler ([bf_omtaler] forside + [bf_omtale_linje] produkt/handlekurv) ---------- */
.b-om.b-om.b-om { display: flex; flex-direction: column; gap: 10px; }
.b-om__title.b-om__title.b-om__title { font-family: var(--b-font-display); font-weight: 400; font-size: 38px; line-height: 1.1; margin: 4px 0 6px; color: var(--b-ink); }
.b-om__score.b-om__score.b-om__score { display: inline-flex; align-items: center; gap: 10px; width: max-content; margin: 0 0 22px; font-size: 14px; color: var(--b-ink-2); text-decoration: none !important; }
.b-om__score.b-om__score.b-om__score strong { font-weight: 600; color: var(--b-ink); }
.b-om__ext.b-om__ext.b-om__ext { width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8078' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / 14px no-repeat; }
.b-om__stars.b-om__stars.b-om__stars { display: inline-flex; gap: 3px; line-height: 0; }
.b-om__star.b-om__star.b-om__star { display: inline-block; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='2' fill='%23dcdce6'/%3E%3Cpath d='M12 4.5l2.2 5 5.3.5-4 3.6 1.2 5.2L12 16l-4.7 2.8 1.2-5.2-4-3.6 5.3-.5z' fill='%23fff'/%3E%3C/svg%3E") center / 18px no-repeat; }
.b-om__star.is-on.b-om__star.is-on { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='2' fill='%2300b67a'/%3E%3Cpath d='M12 4.5l2.2 5 5.3.5-4 3.6 1.2 5.2L12 16l-4.7 2.8 1.2-5.2-4-3.6 5.3-.5z' fill='%23fff'/%3E%3C/svg%3E"); }
.b-om__stars--sm.b-om__stars--sm .b-om__star { width: 15px; height: 15px; background-size: 15px; }
.b-om__grid.b-om__grid.b-om__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.b-om__card.b-om__card.b-om__card { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px; background: var(--b-white); border: 1px solid rgba(30,26,23,0.08); border-radius: 6px; color: var(--b-ink); text-decoration: none !important; transition: border-color .15s; }
.b-om__card.b-om__card.b-om__card:hover { border-color: rgba(30,26,23,0.25); }
.b-om__q.b-om__q.b-om__q { font-family: var(--b-font-display); font-size: 19px; line-height: 1.35; }
.b-om__who.b-om__who.b-om__who { font-size: 12.5px; color: var(--b-ink-3); margin-top: auto; }
/* Animasjon (kun når JS har satt is-init; uten JS vises alt med en gang) */
.b-om.is-init .b-om__card { opacity: 0; transform: translateY(14px); }
.b-om.is-init .b-om__star.is-on { transform: scale(0); }
.b-om.is-in .b-om__card { animation: b-om-in .55s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(var(--bf-i, 0) * .12s); }
.b-om.is-in .b-om__star.is-on { animation: b-star-pop .3s cubic-bezier(.3,1.5,.5,1) forwards; }
.b-om.is-in .b-om__star:nth-child(1) { animation-delay: .05s; } .b-om.is-in .b-om__star:nth-child(2) { animation-delay: .13s; } .b-om.is-in .b-om__star:nth-child(3) { animation-delay: .21s; } .b-om.is-in .b-om__star:nth-child(4) { animation-delay: .29s; } .b-om.is-in .b-om__star:nth-child(5) { animation-delay: .37s; }
.b-om.is-in .b-om__card .b-om__star { animation-delay: calc(var(--bf-i, 0) * .12s + .25s); }
@keyframes b-om-in { to { opacity: 1; transform: none; } }
@keyframes b-star-pop { from { transform: scale(0); } to { transform: scale(1); } }
/* Kompakt linje */
.b-om-linje.b-om-linje.b-om-linje { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 24px 0 8px; font-size: 13px; color: var(--b-ink-2); text-decoration: none !important; }
.b-om-linje.b-om-linje.b-om-linje strong { font-weight: 600; color: var(--b-ink); }
.b-om-linje__q.b-om-linje__q.b-om-linje__q { flex-basis: 100%; font-family: var(--b-font-display); font-size: 15px; color: var(--b-ink-3); }
.b-om-linje__rating.b-om-linje__rating { font-family: var(--b-font-body); font-size: 12px; font-weight: 600; letter-spacing: .02em; color: var(--b-ink-2); margin-right: 2px; } /* sitatets egne stjerner, f.eks. 5/5 */
@media (max-width: 760px) {
  .b-om__title.b-om__title.b-om__title { font-size: 30px; }
  .b-om__grid.b-om__grid.b-om__grid { grid-template-columns: 1fr; gap: 12px; }
  .b-om__card.b-om__card.b-om__card { padding: 18px 20px; }
  .b-om__q.b-om__q.b-om__q { font-size: 17px; }
}
.b-om__rating.b-om__rating.b-om__rating { display: inline-flex; align-items: center; gap: 8px; }
.b-om__rating-txt.b-om__rating-txt.b-om__rating-txt { font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: var(--b-ink-3); }
.b-om-linje__score.b-om-linje__score.b-om-linje__score { display: inline-flex; align-items: center; gap: 6px; }
.b-om-linje .b-om__ext.b-om__ext.b-om__ext { width: 12px; height: 12px; background-size: 12px; }
/* Delvis fylt stjerne (score 4,4 = 40 % av femte) */
.b-om__star--part.b-om__star--part.b-om__star--part { position: relative; }
.b-om__star-fill.b-om__star-fill.b-om__star-fill { position: absolute; top: 0; left: 0; bottom: 0; overflow: hidden; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='2' fill='%2300b67a'/%3E%3Cpath d='M12 4.5l2.2 5 5.3.5-4 3.6 1.2 5.2L12 16l-4.7 2.8 1.2-5.2-4-3.6 5.3-.5z' fill='%23fff'/%3E%3C/svg%3E") left center / 18px 18px no-repeat; }
.b-om__stars--sm.b-om__stars--sm .b-om__star-fill { background-size: 15px 15px; }
.b-om.is-init .b-om__star--part .b-om__star-fill { transform: scaleX(0); transform-origin: left; }
.b-om.is-in .b-om__star--part .b-om__star-fill { animation: b-star-fill .35s ease-out .45s forwards; }
@keyframes b-star-fill { to { transform: scaleX(1); } }
/* ---------- Fri frakt-terskel i kurv/minikurv ---------- */
.b-frakt.b-frakt.b-frakt { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 18px; font-size: 13px; color: var(--b-ink-2); }
.b-frakt.b-frakt.b-frakt strong { font-weight: 600; color: var(--b-ink); }
.b-frakt__bar.b-frakt__bar.b-frakt__bar { display: block; height: 6px; border-radius: 999px; background: rgba(30,26,23,0.10); overflow: hidden; }
.b-frakt__fill.b-frakt__fill.b-frakt__fill { display: block; height: 100%; border-radius: 999px; background: var(--b-teal); transition: width .4s ease; }
.b-frakt.is-done.b-frakt.is-done .b-frakt__fill { background: #00b67a; }
.b-frakt.is-done.b-frakt.is-done .b-frakt__txt::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300b67a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 14px no-repeat; }
/* Leveringsloefte i lagerlinjen */
.b-lev.b-lev.b-lev strong { font-weight: 500; color: var(--b-ink); }
.b-lev__note.b-lev__note.b-lev__note { color: var(--b-ink-3); }
.b-frakt__note.b-frakt__note.b-frakt__note { font-size: 12px; color: var(--b-ink-3); }
/* ---------- Produktside: mer luft rundt lagerlinjen og for Klarna-boksen ---------- */
.b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock.b-pdp__stock { margin: 28px 0 20px; flex-wrap: wrap; row-gap: 2px; line-height: 1.5; }
.b-pdp .b-om-linje.b-om-linje.b-om-linje.b-om-linje { margin: 24px 0 20px; }
/* Kjopslinje: antall-velger og kompakt pris når den er med */
.b-pdp__bar.has-qty.b-pdp__bar.has-qty .woocommerce-price-suffix { display: block; font-size: 11px; line-height: 1.2; margin: 0; color: var(--b-ink-3); }
.b-pdp__bar.has-qty.b-pdp__bar.has-qty .b-price.b-price.b-price { line-height: 1.15; }
.b-pdp__bar.has-qty.b-pdp__bar.has-qty .b-price.b-price.b-price { font-size: 17px; white-space: nowrap; }
.b-pdp__bar-qty.b-pdp__bar-qty.b-pdp__bar-qty { display: inline-flex; align-items: center; flex: none; border: 1px solid rgba(30,26,23,0.25); border-radius: 999px; background: #fff; min-height: 42px; padding: 0 4px; }
.b-pdp__bar-step.b-pdp__bar-step.b-pdp__bar-step { width: 34px; height: 34px; border: 0; background: transparent; border-radius: 50%; font-size: 18px; line-height: 1; color: var(--b-ink); cursor: pointer; padding: 0; }
.b-pdp__bar-num.b-pdp__bar-num.b-pdp__bar-num { min-width: 22px; text-align: center; font: 600 15px var(--b-font-body); color: var(--b-ink); }
.b-pdp__bar.has-qty.b-pdp__bar.has-qty .b-pdp__bar-btn.b-pdp__bar-btn { padding: 0 18px; flex: 0 1 auto; min-width: 0; }
.b-pdp__bar.has-qty.b-pdp__bar.has-qty .b-pdp__bar-price { flex: 1 1 auto; min-width: 0; }
/* Handlekurv: fraktnotat + fri frakt-linje som en samlet blokk med jevn luft */
.b-frakt-note.b-frakt-note.b-frakt-note { margin: 0 0 10px; font-size: 13px; color: var(--b-ink-3); }
.b-frakt.b-frakt.b-frakt { margin: 0 0 20px; }
.woocommerce-cart .cart_totals .shop_table.shop_table.shop_table { margin-bottom: 18px; }


/* ===== Restordre (10. sept 2026): rolig linje under lagerstatus i stedet for boks; liten linje i kurven ===== */
.b-pdp .b-pdp__restordre.b-pdp__restordre { margin: -8px 0 16px 26px; font-size: 13px; line-height: 1.55; color: var(--b-ink-3); max-width: 46ch; }
.b-pdp .b-pdp__restordre[hidden] { display: none; }
.woocommerce-cart .b-restordre, .b-cart .b-restordre { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; font-weight: 400; color: var(--b-ink-3); }

.b-pdp .b-pdp__stock.is-restordre .b-lev { display: none; }
.b-pdp .b-pdp__restordre.is-rest { color: var(--b-ink-2); }
/* Lagerlinje: leveringsloeftet får egen linje på mobil, innrykket under teksten; prikken vises bare når det staar på samme linje */
@media (max-width: 760px) { .b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock .b-lev { flex-basis: 100%; padding-left: 26px; } .b-pdp .b-pdp__stock.b-pdp__stock.b-pdp__stock .b-lev__sep { display: none; } }

/* Ukens tilbud - kort rett under hero ([bf_ukens_tilbud], snippet 66). Skjules automatisk uten aktivt tilbud. */
.b-tilbud-stripe { padding: 40px 0 0; }
.b-tilbud-stripe .b-tilbud__stack, .b-tilbud-stripe .b-tilbud__ctrl { max-width: 720px; margin-left: auto; margin-right: auto; } /* desktop: kortet skal ikke spenne over hele bredden */
.b-tilbud-stripe + .b-section.b-section.b-section { padding-top: 72px; } /* seksjonen etter tilbudskortet får mindre topp-luft (ellers 112px) */
.b-tilbud { display: flex; align-items: center; gap: 18px; padding: 12px 20px 12px 12px; background: var(--b-white); border: 1px solid var(--b-line); border-radius: 18px; box-shadow: 0 14px 34px rgba(30,26,23,.10); color: var(--b-ink); text-decoration: none; font-family: var(--b-font-body); transition: transform .2s ease, box-shadow .2s ease; }
.b-tilbud:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(30,26,23,.14); }
.b-tilbud + .b-tilbud { margin-top: 12px; }
/* veksling: kortene ligger i samme rute, bare det aktive er synlig */
.is-veksler .b-tilbud__stack { display: grid; }
.is-veksler .b-tilbud { grid-area: 1 / 1; margin-top: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.is-veksler .b-tilbud.is-on { opacity: 1; visibility: visible; }
.b-tilbud__dots { display: flex; justify-content: center; gap: 8px; padding-top: 14px; }
.b-tilbud__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--b-line); cursor: pointer; transition: background .2s, transform .2s; }
.b-tilbud__dot.is-on { background: var(--b-taupe-deep); transform: scale(1.25); }
.b-tilbud__media { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 12px; overflow: hidden; background: var(--b-ivory); display: grid; place-items: center; }
.b-tilbud__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.b-tilbud__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.b-tilbud__tag { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--b-taupe-deep); display: flex; align-items: center; gap: 8px; }
.b-tilbud__pst { font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--b-white); background: var(--b-taupe-deep); padding: 2px 7px; border-radius: 999px; }
.b-tilbud__navn { font-family: var(--b-font-display); font-size: 22px; line-height: 1.15; font-weight: 500; color: var(--b-ink); }
.b-tilbud__pris { font-size: 14px; color: var(--b-ink-2); }
.b-tilbud__pris strong { font-size: 16px; font-weight: 600; color: var(--b-ink); }
.b-tilbud__pris s { color: var(--b-ink-4); margin: 0 2px; }
.b-tilbud__pris small { font-size: 12px; color: var(--b-ink-3); }
.b-tilbud__frist { font-size: 13px; color: var(--b-ink-3); }
.b-tilbud__cta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--b-ink-2); white-space: nowrap; }
.b-tilbud__cta .b-ico { transition: transform .2s ease; }
.b-tilbud:hover .b-tilbud__cta { color: var(--b-ink); } .b-tilbud:hover .b-tilbud__cta .b-ico { transform: translateX(3px); }
.b-tilbud__cta { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 760px) {
  .b-tilbud-stripe { padding: 24px 0 0; }
  .b-tilbud-stripe + .b-section.b-section.b-section { padding-top: 48px; }
  .b-tilbud { flex-wrap: wrap; gap: 12px 14px; padding: 12px 14px; border-radius: 14px; }
  .b-tilbud__media { flex-basis: 68px; width: 68px; height: 68px; }
  .b-tilbud__body { flex: 1 1 calc(100% - 82px); }
  .b-tilbud__navn { font-size: 20px; }
  .b-tilbud__cta { display: none; }
}

/* Undertekst under 'Glemt noe?' i handlekurven */
.b-pdp-related__sub { margin: 6px 0 0; font-size: 15px; color: var(--b-ink-3); }

/* Kompakt "Glemt noe?"-stripe i handlekurven - kun mobil (den store seksjonen nederst dekker desktop) */
.b-cart-strip-row { display: none; }
@media (max-width: 760px) {
  .b-cart-strip-row { display: block; }
  .b-cart-strip-row td { display: block; padding: 14px 0 6px; border: 0; max-width: 100%; }
  .b-cart-strip-row td::before { display: none; }
  .b-cart-strip { contain: inline-size; width: 100%; min-width: 0; } /* bredden skal ikke styres av innholdet, ellers vokser hele kurvtabellen */
  .b-cart-strip__title { margin: 0 0 10px; font-family: var(--b-font-display); font-size: 20px; color: var(--b-ink); }
  .b-cart-strip__title span { font-family: var(--b-font-body); font-size: 13px; color: var(--b-ink-3); margin-left: 6px; }
  .b-cart-strip__row { display: flex; gap: 10px; overflow-x: auto; min-width: 0; width: 100%; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 2px 2px 8px; margin: 0 -2px; scrollbar-width: none; }
  .b-cart-strip__row::-webkit-scrollbar { display: none; }
  .b-cart-strip__item { flex: 0 0 150px; scroll-snap-align: start; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; gap: 2px 8px; padding: 10px; background: var(--b-white); border: 1px solid var(--b-line); border-radius: 12px; }
  .b-cart-strip__media { grid-column: 1 / -1; display: block; height: 76px; border-radius: 8px; overflow: hidden; background: var(--b-white); margin-bottom: 4px; }
  .b-cart-strip__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
  .b-cart-strip__name { grid-column: 1 / -1; font-size: 12.5px; line-height: 1.3; color: var(--b-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
  .b-cart-strip__pris { font-size: 13px; font-weight: 600; color: var(--b-ink); align-self: center; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 4px; line-height: 1.25; }
  .b-cart-strip__pris small { font-weight: 400; font-size: 10px; color: var(--b-ink-3); }
  .b-cart-strip__pris s { font-weight: 400; font-size: 11px; color: var(--b-ink-4); margin: 0; order: 3; flex-basis: 100%; }
  .b-cart-strip__media { position: relative; }
  .b-cart-strip__badge { position: absolute; top: 2px; left: 2px; font-size: 9px; font-weight: 600; letter-spacing: .02em; line-height: 1; color: #fff; background: var(--b-taupe-deep); padding: 3px 5px; border-radius: 999px; }
  .b-cart-strip__add { width: 30px; height: 30px; border-radius: 50%; background: var(--b-teal); color: #fff; display: grid; place-items: center; align-self: center; }
  .b-cart-strip__add .b-ico { filter: brightness(0) invert(1); }
}
.b-frakt__mva { font-size: 12px; color: var(--b-ink-3); }

/* Elleebana-seksjonen (forside): chevron på spec-radene så de leses som lenker. Radene er flex-column, så chevronen posisjoneres absolutt til høyre. */
.b-spec-row.b-spec-row.b-spec-row { position: relative; padding-right: 36px !important; transition: padding-left .2s ease; }
.b-spec-row.b-spec-row.b-spec-row::after { content: ""; position: absolute; right: 8px; top: 50%; width: 9px; height: 9px; border-right: 1.5px solid rgba(255,255,255,.7); border-bottom: 1.5px solid rgba(255,255,255,.7); transform: translateY(-50%) rotate(-45deg); transition: transform .2s ease, border-color .2s ease, right .2s ease; }
.b-spec-row.b-spec-row.b-spec-row:hover::after { border-color: #fff; right: 4px; }
.b-spec-row.b-spec-row.b-spec-row:hover { padding-left: 4px; }

/* Mengderabatt (snippet 77) */
.b-md { margin: 0 0 18px; }
.b-md__t { margin: 0 0 10px; font: 600 11px/1.4 var(--b-font-body); letter-spacing: 1.5px; text-transform: uppercase; color: var(--b-taupe-deep); }
.b-md__pills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.b-md__pill { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 14px; min-height: 52px; border-radius: 12px; border: 1px solid var(--b-line); background: #fff; color: var(--b-ink-2); font: inherit; text-align: left; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.b-md__pill:hover { border-color: var(--b-taupe); }
.b-md__pill.is-on { background: var(--b-teal); border-color: var(--b-teal); color: #fff; }
.b-md__pill-a { font-size: 14px; font-weight: 700; }
.b-md__pill-p { font-size: 13px; }
.b-md__tabell { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--b-line); border-radius: 14px; overflow: hidden; }
.b-md__tabell th { padding: 12px 16px; background: var(--b-sand); font: 600 11px/1.4 var(--b-font-body); letter-spacing: 1px; text-transform: uppercase; color: var(--b-taupe-deep); text-align: left; }
.b-md__tabell th:not(:first-child), .b-md__tabell td:not(:first-child) { text-align: right; }
.b-md__tabell td { padding: 13px 16px; font-size: 14px; color: var(--b-ink-2); border-top: 1px solid rgba(30,26,23,.08); }
.b-md__tabell tr.is-on td { background: var(--b-ivory); font-weight: 600; color: var(--b-ink); }
.b-md-sum { margin: 14px 0 0; padding: 16px 18px; background: #fff; border: 1px solid var(--b-line); border-radius: 14px; display: flex; flex-direction: column; gap: 8px; }
.b-md-sum__r { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; color: var(--b-ink-2); }
.b-md-sum__r strong { font-size: 18px; color: var(--b-ink); }
.b-md-sum__r em { font: 400 13px/1 var(--b-font-body); color: var(--b-ink-3); font-style: normal; }
.b-md-sum__spar { padding-top: 8px; border-top: 1px solid var(--b-line); font-size: 14px; font-weight: 600; color: var(--b-taupe-deep); }
.b-md-sum__neste { padding-top: 8px; border-top: 1px solid var(--b-line); font-size: 13px; color: var(--b-ink-3); }
.b-md-note { margin: 10px 0 0; font-size: 13px; line-height: 1.6; color: var(--b-ink-3); }
.b-md-merke { position: absolute; top: 8px; left: 8px; z-index: 2; background: var(--b-taupe-deep); color: #fff; font: 700 10px/1 var(--b-font-body); letter-spacing: .5px; padding: 5px 9px; border-radius: 999px; }
.b-md-notice { margin: 0 0 16px; padding: 12px 16px; background: var(--b-sand); border-radius: 10px; font-size: 14px; line-height: 1.55; color: var(--b-ink-2); }


/* Ukens tilbud: neste/forrige-piler ved siden av prikkene. */
.b-tilbud-stripe .b-tilbud__ctrl .b-tilbud__dots { max-width: none; padding-top: 0; }
.b-tilbud__ctrl.b-tilbud__ctrl { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 14px; }
.b-tilbud__nav.b-tilbud__nav { position: relative; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; cursor: pointer; flex: 0 0 32px; }
.b-tilbud__nav.b-tilbud__nav::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 1.5px solid var(--b-ink-4); border-bottom: 1.5px solid var(--b-ink-4); transition: border-color .15s ease; }
.b-tilbud__nav--prev.b-tilbud__nav--prev::before { transform: translate(-40%, -50%) rotate(135deg); }
.b-tilbud__nav--next.b-tilbud__nav--next::before { transform: translate(-60%, -50%) rotate(-45deg); }
.b-tilbud__nav.b-tilbud__nav:hover::before { border-color: var(--b-ink); }

/* [bf_pris]: rabattpille etter prisen når produktet er på tilbud. */
.b-pris-pst.b-pris-pst { display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 999px; background: var(--b-taupe-deep); color: #fff; font: 700 11px/1.2 var(--b-font-body); letter-spacing: .3px; vertical-align: middle; }

/* Produktkort: knappen ligger nederst, så kortene i samme rad linjerer selv om noen har mengderabatt-linje. */
.b-product-card.b-product-card { display: flex; flex-direction: column; height: 100%; }
.b-product-card.b-product-card > .elementor-widget-shortcode:last-child, .b-product-card.b-product-card > .e-con:last-child { margin-top: auto; }
.e-loop-item.e-loop-item { height: 100%; }

/* Samlesiden /mengderabatt/ */
.b-md-side__intro { padding: 40px 0 8px; }
.b-md-side__intro h1 { margin: 0 0 10px; font-family: var(--b-font-display); font-weight: 500; font-size: clamp(32px, 5vw, 44px); line-height: 1.1; color: var(--b-ink); }
.b-md-side__intro p { margin: 0; max-width: 60ch; font: 400 16px/1.65 var(--b-font-body); color: var(--b-ink-2); }
.b-md-side__foot { margin: 28px 0 56px; max-width: 70ch; font: 400 14px/1.6 var(--b-font-body); color: var(--b-ink-3); }

/* Kjøpslinjen: før-pris ved mengderabatt. */
.b-pdp__bar-for { color: var(--b-ink-4); font-weight: 400; }
