/* Bibelbutiken 2026 — designlager.
   theme.json ger tokens. Denna fil ger FORMEN: proportioner, kort,
   header, filterspalt, footer. Laddas efter style.css.
   Målet: sidorna ser rätt ut oavsett hur redaktören satt ihop dem.

   Ändrat 2026-09: sidhuvudets regler träffar nu på blocktyp (header …)
   och inte bara på bb-klasserna, så de överlever redigering i Site Editor.
   Logotypen låses mot flex-krympning. Sidfotens kategorilista och
   nyhetsbrevet får rätt bredd. */

:root{
  --bb-radius:6px;
  --bb-gutter:clamp(1rem,3vw,2.5rem);
  --bb-max:1280px;
}

/* ---------------- Generellt ---------------- */
body{ text-wrap:pretty; }
h1,h2,h3,h4{ text-wrap:balance; }
.wp-block-post-content > *:first-child{ margin-top:0; }

/* Länkar i löptext måste gå att skilja från texten utan färg (WCAG 1.4.1): länkfärgen
   mot brödtexten är bara 1,38:1. Fristående länkar (meny, kort, knappar) rörs inte. */
:where(.wp-block-post-content, .wp-block-term-description, .woocommerce-Tabs-panel, .woocommerce-product-details__short-description, .bb-footer) p > a,
:where(.bb-prose, .woocommerce-Tabs-panel, .woocommerce-product-details__short-description) li > a,
.woocommerce-breadcrumb a{
  text-decoration:underline; text-underline-offset:.15em;
}
.bb-sectionhead p > a{ text-decoration:none; }

/* Bildplatshållare i mönster: syns som en avsiktlig ruta tills bild läggs in.
   Redaktören lägger ett Bild-block inuti rutan; bilden fyller då ramen. */
.bb-media{
  aspect-ratio:4/3;
  background:repeating-linear-gradient(135deg,#e9eff3 0 10px,#f6f9fa 10px 20px);
  border-radius:var(--bb-radius);
  overflow:hidden;
}
.bb-media--tall{ aspect-ratio:3/4; }
.bb-media--hero{ aspect-ratio:auto; min-height:400px; height:100%; border-radius:0;
  background:repeating-linear-gradient(135deg,#0b4770 0 10px,#0e5280 10px 20px); }
.bb-media figure{ margin:0; height:100%; }
.bb-media img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block; }

/* ---------------- Header ----------------
   Selektorerna utgår från <header> och blocktyperna, inte från bb-klasserna,
   eftersom klasserna försvinner om sidhuvudet redigeras i Site Editor. */
.bb-topbar p, header .has-primary-dark-background-color p{ margin:0; }

/* Logotypen: får inte krympa i flexraden, och max-width:100% skulle annars
   räknas mot ett krympande flex-item och kollapsa bilden till 0 px. */
header .wp-block-site-logo{ flex:0 0 auto; }
header .wp-block-site-logo img,
header .wp-block-site-logo .custom-logo{ height:38px; width:auto; max-width:none; }

.bb-headerrow,
header .wp-block-group:has(> .wp-block-site-logo){ gap:2rem !important; align-items:center; }
header .wp-block-search{ flex:1 1 16rem; min-width:0; }
header .wp-block-search__inside-wrapper{ border:0; padding:0; }
header .wp-block-search__input{
  padding:.8rem 1rem; background:#fbfcfd;
  border:1px solid var(--wp--preset--color--border-strong);
  border-radius:var(--bb-radius) !important; font-size:.9375rem;
}
header .wp-block-search__button{
  background:var(--wp--preset--color--primary); color:#fff;
  border:0; border-radius:var(--bb-radius) !important; padding:0 1rem; margin-left:.35rem;
}
header .wp-block-loginout a,
header .wc-block-customer-account__link{
  font-weight:500; font-size:.875rem; white-space:nowrap;
  color:var(--wp--preset--color--primary);
}
header .wp-block-group:has(> .wp-block-woocommerce-mini-cart){ flex-wrap:nowrap; align-items:center; }

header .wp-block-navigation{ font-weight:500; }
header .wp-block-navigation .wp-block-navigation-item{ padding-block:1rem; }
header .wp-block-navigation .wp-block-navigation-item > a{ text-decoration:none; }
header .wp-block-navigation .wp-block-navigation-item.current-menu-item > a,
header .wp-block-navigation .wp-block-navigation-item > a:hover{
  box-shadow:inset 0 -2px 0 var(--wp--preset--color--primary);
  color:var(--wp--preset--color--primary);
}
/* "Ge en gåva": ge menyposten CSS-klassen is-gift (Avancerat → CSS-klasser) */
header .wp-block-navigation .wp-block-navigation-item.is-gift{ margin-left:auto; }
header .wp-block-navigation .wp-block-navigation-item.is-gift > a{ color:var(--wp--preset--color--accent); }

/* Mini-cart som knapp */
.wc-block-mini-cart__button{
  background:var(--wp--preset--color--primary); color:#fff !important;
  border-radius:var(--bb-radius); padding:.75rem 1.1rem;
  font-weight:500; font-size:.875rem;
}
/* WooCommerce sätter badgens färger inline (primary på primary), så båda behöver !important. */
.wc-block-mini-cart__badge{ background:#fff !important; color:var(--wp--preset--color--primary) !important; font-weight:700; }

/* ---------------- Hero ---------------- */
/* Den blå bottenplattan går kant till kant, men innehållet hålls inom samma
   1280-grid som resten av sidan: texten börjar i linje med sektionsrubrikerna
   och bildkolumnen slutar vid gridens högerkant. */
.bb-hero{
  align-items:stretch !important;
  padding-left: max(clamp(1rem,3vw,2.5rem), (100% - var(--wp--style--global--wide-size))/2);
  padding-right: max(clamp(1rem,3vw,2.5rem), (100% - var(--wp--style--global--wide-size))/2);
}
/* Kolumnens egen vänsterpadding sitter inline i mönstret — måste överstyras. */
.bb-hero > .wp-block-column:first-child{ padding-left:0 !important; }
.bb-hero .wp-block-column{ margin:0; }
.bb-hero h1{ letter-spacing:-.01em; }
.bb-hero p{ max-width:28em; }
.bb-hero .wp-block-buttons{ margin-top:.5rem; }

/* Breda sektioner (alignwide-grupper med constrained-layout): barnen ska
   fylla gruppens bredd, inte klämmas till textbredden 760 px. Gäller t.ex.
   "Handla efter kategori", "Populärt just nu" och "Nytt i butiken". */
.wp-block-post-content > .wp-block-group.alignwide.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
  max-width:none;
}

/* Sektionsrubrik med länk till höger */
.bb-sectionhead{ align-items:baseline !important; margin-bottom:1.25rem; }
.bb-sectionhead h2{ margin:0; }
.bb-sectionhead p{ margin:0; font-weight:500; font-size:.9375rem; }

/* ---------------- Produktlistningar (shortcode + block) ---------------- */
.woocommerce ul.products,
.wc-block-product-template{
  display:grid !important; grid-template-columns:repeat(4,1fr);
  gap:1.25rem; margin:0; padding:0; list-style:none;
}
.woocommerce .products.columns-3, .wc-block-product-template.columns-3{ grid-template-columns:repeat(3,1fr); }
.woocommerce ul.products::before,
.woocommerce ul.products::after{ display:none; }
.woocommerce ul.products li.product,
.wc-block-product-template .wc-block-product{
  width:auto !important; margin:0 !important; float:none !important;
  display:flex; flex-direction:column; gap:.65rem; text-align:left;
}
.woocommerce ul.products li.product a img,
.wc-block-components-product-image img{
  aspect-ratio:3/4; object-fit:contain; margin:0 0 .25rem;
  background:#fff; border:1px solid var(--wp--preset--color--border);
  border-radius:var(--bb-radius);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-product-title{
  font-family:var(--wp--preset--font-family--sans);
  font-size:1rem; font-weight:600; line-height:1.3;
  min-height:2.6em; padding:0; margin:0;
}
.woocommerce ul.products li.product .price,
.wc-block-components-product-price{
  margin:auto 0 0; font-size:1rem; font-weight:600;
  color:var(--wp--preset--color--primary);
}
.woocommerce ul.products li.product .price del{ color:var(--wp--preset--color--contrast-muted); font-weight:400; margin-right:.4em; }
.woocommerce ul.products li.product .price ins{ color:var(--wp--preset--color--accent); text-decoration:none; }
.woocommerce ul.products li.product .button,
.wc-block-product-template .wp-block-button__link{
  box-sizing:border-box; margin:0; width:100%; text-align:center; padding:.8rem 1rem;
  font-size:.875rem; font-weight:600; border-radius:var(--bb-radius);
  background:transparent; color:var(--wp--preset--color--primary);
  box-shadow:inset 0 0 0 1.5px var(--wp--preset--color--primary);
}
.woocommerce ul.products li.product .button:hover,
.wc-block-product-template .wp-block-button__link:hover{
  background:var(--wp--preset--color--primary); color:#fff;
}
.woocommerce ul.products li.product .added_to_cart{ display:none; }
.woocommerce span.onsale{
  position:absolute; top:10px; left:10px; margin:0; padding:.4rem .6rem;
  min-height:0; min-width:0; line-height:1; border-radius:3px;
  background:var(--wp--preset--color--accent); color:#fff;
  font-size:.8125rem; font-weight:600;
}
.woocommerce ul.products li.product{ position:relative; }

/* ---------------- Kategorirutor ---------------- */
.woocommerce ul.products li.product-category a{ display:block; }
.woocommerce ul.products li.product-category{
  border:1px solid var(--wp--preset--color--border);
  border-radius:var(--bb-radius); overflow:hidden; gap:0;
}
.woocommerce ul.products li.product-category img{
  aspect-ratio:16/9; object-fit:cover; border:0; border-radius:0; margin:0;
}
/* Kategorier utan egen bild: WooCommerce sätter sin egna generiska platshållarbild
   (assets/images/placeholder.png, class woocommerce-placeholder) — den bryter mot
   temats bildspråk (jfr .bb-media diagonalrandning för väntande bilder). content:""
   nollar bildens rendering (moderna webbläsare, se caniuse "css-content" på img);
   stödjer webbläsaren inte det visas platshållarbilden som vanligt — ofarlig fallback.
   Ta bort den här regeln så fort riktiga kategoribilder är uppladdade. */
.woocommerce ul.products li.product-category img.woocommerce-placeholder{
  content:"";
  display:block;
  background:repeating-linear-gradient(135deg,#e9eff3 0 10px,#f6f9fa 10px 20px);
}
/* WooCommerce sätter själv font-size:1em och padding:0 på kategorirubriken med
   högre specificitet än en kortare selektor — därav den långa varianten här. */
.woocommerce ul.products li.product.product-category p.woocommerce-loop-category__title{
  font-family:var(--wp--preset--font-family--sans);
  font-size:1rem; font-weight:600; line-height:1.3; padding:.9rem 1rem; margin:0;
}
.woocommerce ul.products li.product-category mark{ display:none; }

/* ---------------- Arkiv/kategorisida ---------------- */
.bb-listing{ align-items:flex-start !important; }
.bb-listing .wp-block-column:first-child{ position:sticky; top:1.5rem; }
.woocommerce-breadcrumb{ font-size:.8125rem; color:var(--wp--preset--color--contrast-muted); margin:0 0 .5rem; }
.woocommerce-breadcrumb a{ color:inherit; }
.bb-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-bottom:1.1rem; border-bottom:1px solid var(--wp--preset--color--border);
  margin-bottom:1.6rem; font-size:.875rem;
}
.woocommerce .woocommerce-result-count{ margin:0; color:var(--wp--preset--color--contrast-muted); }
.woocommerce .woocommerce-ordering{ margin:0; }
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--wp--preset--color--border-strong);
  border-radius:var(--bb-radius); padding:.7rem .9rem; font-size:.875rem;
}
/* Kategorinavigation i arkivens vänsterspalt */
.bb-sidebar-title{
  padding-bottom:.75rem; margin:0 0 .9rem;
  border-bottom:1px solid var(--wp--preset--color--border);
}
.bb-catnav{ margin-bottom:1.6rem; }
.bb-catnav ul{ list-style:none; margin:0; padding:0; }
.bb-catnav li{ margin:0; }
.bb-catnav a{
  display:inline-block; padding:.35rem 0; font-size:.9375rem; line-height:1.4;
  color:var(--wp--preset--color--contrast);
}
.bb-catnav a:hover{ color:var(--wp--preset--color--primary); text-decoration:none; }
.bb-catnav .wc-block-product-categories-list-item-count{
  color:var(--wp--preset--color--contrast-muted); font-size:.8125rem;
}
/* Bara en nivå — hela trädet blir annars flera tusen pixlar högt. */
.bb-catnav ul ul{ display:none; }
/* Har spalten inget att visa (lövkategori utan barn, filtren dolda) — låt
   produktlistningen ta hela bredden i stället för att lämna ett tomt fält. */
.bb-listing > .wp-block-column:first-child:not(:has(li)){ display:none; }

/* Filterspalt */
.wp-block-woocommerce-product-filters > *,
.wp-block-woocommerce-filter-wrapper{ margin-bottom:1.6rem; }
.wp-block-woocommerce-product-filters h3,
.wc-block-product-filter__title,
.wp-block-woocommerce-filter-wrapper > h3{
  font-family:var(--wp--preset--font-family--sans);
  font-size:.8125rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--wp--preset--color--contrast-muted);
  padding-bottom:.75rem; margin:0 0 .9rem;
  border-bottom:1px solid var(--wp--preset--color--border);
}
.wc-block-product-filter-checkbox-list__label,
.wc-block-product-filter-chips__item{ font-size:.9375rem; }
.wc-block-product-filter-checkbox-list__input:checked{ accent-color:var(--wp--preset--color--primary); }
.wc-block-product-filter-chips__item[aria-checked="true"],
.wc-block-product-filter-removable-chips__item{
  border:1.5px solid var(--wp--preset--color--primary);
  background:var(--wp--preset--color--surface);
  color:var(--wp--preset--color--primary); border-radius:4px;
}
.wc-block-product-filter-price__range{ accent-color:var(--wp--preset--color--primary); }
/* Paginering */
.woocommerce nav.woocommerce-pagination ul{ border:0; display:flex; gap:.5rem; margin-top:2rem; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--wp--preset--color--border-strong);
  border-radius:var(--bb-radius); padding:.7rem .95rem; font-weight:500;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--wp--preset--color--primary); color:#fff; border-color:var(--wp--preset--color--primary);
}

/* ---------------- Produktsida ---------------- */
.bb-single{ align-items:flex-start !important; }
.woocommerce div.product div.images img{ border:1px solid var(--wp--preset--color--border); border-radius:8px; }
.woocommerce div.product .product_title{ margin:0 0 .6rem; }
.woocommerce div.product p.price,
.wp-block-woocommerce-product-price .woocommerce-Price-amount{
  font-family:var(--wp--preset--font-family--sans);
  font-size:1.75rem; font-weight:600; color:var(--wp--preset--color--primary); margin:0 0 1rem;
}
.woocommerce div.product form.cart{ display:flex; gap:.75rem; align-items:stretch; margin:1.25rem 0; }
.woocommerce div.product form.cart .quantity input{
  box-sizing:border-box; height:100%; padding:.9rem; width:5rem; text-align:center;
  border:1px solid var(--wp--preset--color--border-strong); border-radius:var(--bb-radius);
}
.woocommerce div.product form.cart .button{
  flex:1; box-sizing:border-box; background:var(--wp--preset--color--primary); color:#fff;
  border-radius:var(--bb-radius); padding:1.1rem 1.6rem; font-size:1.0625rem; font-weight:600;
}
.woocommerce div.product .product_meta{ display:none; }
/* Variantval som knappar i stället för select */
.woocommerce div.product form.variations_form table.variations{ border:0; margin:0 0 1rem; }
.woocommerce div.product form.variations_form td{ padding:.35rem 0; border:0; }
.woocommerce div.product form.variations_form label{ font-weight:600; font-size:.875rem; }
/* Accordion (produktflikar) */
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; margin:0; border:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:0; background:none; border-top:1px solid var(--wp--preset--color--border);
  border-radius:0; margin:0; padding:0; display:block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:1rem 0; font-weight:600; font-size:1rem; color:var(--wp--preset--color--contrast);
}
.woocommerce div.product .woocommerce-tabs .panel{ margin:0 0 1rem; }
/* Fliken visar redan rubriken ("Beskrivning") — dölj panelens egen h2. */
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{ display:none; }
.bb-usp{ display:flex; flex-direction:column; gap:.55rem; font-size:.9375rem;
  border-top:1px solid var(--wp--preset--color--border); padding-top:1.1rem; }
.bb-usp p{ margin:0; }

/* ---------------- Informationssida ---------------- */
.bb-infonav .wp-block-navigation{ gap:.5rem; }
.bb-infonav .wp-block-navigation-item > a{
  display:block; padding:.7rem .9rem; border-radius:var(--bb-radius); font-size:.9375rem;
}
.bb-infonav .wp-block-navigation-item.current-menu-item > a{
  background:var(--wp--preset--color--surface); color:var(--wp--preset--color--primary); font-weight:600;
}
.bb-prose h2{ font-size:1.625rem; margin:2rem 0 .6rem; }
.bb-prose p{ margin:0 0 1.1rem; }
.bb-prose table{ border-collapse:separate; border-spacing:0; width:100%; font-size:.9375rem; }
.bb-prose table th{ background:var(--wp--preset--color--surface); font-weight:600; text-align:left; }
.bb-prose table th, .bb-prose table td{ padding:.85rem 1.1rem; border-top:1px solid var(--wp--preset--color--border); }
.bb-prose blockquote{
  margin:0 0 1.5rem; padding:.25rem 0 .25rem 1.25rem;
  border-left:3px solid var(--wp--preset--color--primary);
  font-family:var(--wp--preset--font-family--serif); font-size:1.0625rem;
}
.bb-prose blockquote p{ margin:0; }

/* ---------------- Kampanjsida ---------------- */
.bb-pricecards .wp-block-column{
  border:1px solid var(--wp--preset--color--border); border-radius:8px; overflow:hidden;
  display:flex; flex-direction:column;
}
.bb-pricecards .wp-block-column > *{ padding-inline:1.4rem; }
.bb-pricecards .wp-block-column > .bb-media,
.bb-pricecards .wp-block-column > figure{ padding:0; margin:0; }
.bb-pricecards .wp-block-buttons{ margin-top:auto; padding-bottom:1.4rem; }
.bb-pricecards .wp-block-button, .bb-pricecards .wp-block-button__link{ width:100%; text-align:center; }
.bb-stats .wp-block-column p:first-child{
  font-family:var(--wp--preset--font-family--serif); font-size:2.5rem; line-height:1;
  color:var(--wp--preset--color--primary); margin:0 0 .6rem;
}
.bb-stats .wp-block-column p:last-child{ margin:0; }

/* ---------------- Nyhetsbrev ----------------
   Kolumnerna i bandet är inte alignwide i mönstret; ge dem bred bredd här.
   Knappen leder till kundens anmälningsformulär i Mailchimp. Till höger på
   desktop, under texten när kolumnerna staplas (781 px, som core/columns). */
.bb-newsletter-band > .wp-block-columns{ max-width:var(--wp--style--global--wide-size); }
.bb-newsletter-cta{ justify-content:flex-end; }
@media (max-width:781px){
  .bb-newsletter-cta{ justify-content:flex-start; }
}

/* ---------------- Footer ---------------- */
.bb-footer h4{ margin:0 0 .9rem; }
.bb-footer p{ margin:0; }
.bb-footer .wp-block-navigation{ gap:.35rem; }
.bb-footer a{ color:inherit; }
.bb-footer a:hover{ color:#fff; }
/* Avskiljaren ovanför copyright ska vara lika bred som kolumnerna. */
.bb-footer hr.wp-block-separator:not(.is-style-dots){ width:100%; max-width:var(--wp--style--global--wide-size); margin-inline:auto; }

/* Kortkoden [product_categories] i sidfoten skapar ul.products, som
   produktrutnätet ovan annars gör om till kort med bilder. Här ska den
   bara vara en textlista. */
.bb-footer .woocommerce ul.products{ display:block !important; gap:0; }
.bb-footer .woocommerce ul.products li.product-category{
  border:0; border-radius:0; padding:0rem 0; display:block; position:static;
}
.bb-footer .woocommerce ul.products li.product-category img,
.bb-footer .woocommerce ul.products li.product-category > p,
.bb-footer .woocommerce ul.products li.product-category mark{ display:none; }
.bb-footer .woocommerce ul.products li.product-category p.woocommerce-loop-category__title{
  font-family:var(--wp--preset--font-family--sans);
  font-size:.9375rem; font-weight:400; line-height:1.65; padding:0; margin:0;
  color:inherit;
}
.bb-footer ul.product-categories{ list-style:none; margin:0; padding:0; }
.bb-footer ul.product-categories li{ padding:.15rem 0; }

/* ---------------- Responsivt ---------------- */
@media (max-width:1024px){
  .woocommerce ul.products, .wc-block-product-template{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:781px){
  .woocommerce ul.products, .wc-block-product-template,
  .woocommerce .products.columns-3, .wc-block-product-template.columns-3{ grid-template-columns:repeat(2,1fr); gap:.9rem; }
  .bb-listing .wp-block-column:first-child{ position:static; }
  .bb-hero .bb-media--hero{ min-height:220px; }
  /* Kolumnerna staplas inte på mobil, så textkolumnen är smal. Mindre rubrik och
     högermarginal så att långa ord ("testamentet") inte bryts mitt i ordet. */
  .bb-hero > .wp-block-column:first-child{ padding-right:1.25rem !important; }
  .bb-hero h1{ font-size:clamp(1.5rem, 8vw, 2.25rem) !important; }
  .bb-toolbar{ flex-direction:column; align-items:flex-start; gap:.75rem; }
  .woocommerce div.product form.cart{
    position:sticky; bottom:0; z-index:20; background:#fff;
    border-top:1px solid var(--wp--preset--color--border);
    margin-inline:calc(var(--bb-gutter)*-1); padding:.75rem var(--bb-gutter);
  }
  .bb-stats .wp-block-column p:first-child{ font-size:2rem; }
  header .wp-block-search{ flex-basis:100%; order:3; }
}

/* ---------------- Megameny ----------------
   Markup: inc/megamenu.php, beteende: assets/js/megamenu.js.
   Panelen ligger i <nav> men positioneras mot <header>, så den går kant till
   kant under navraden. Under 1000 px döljs navraden och mobilmenyn tar över. */
header.wp-block-template-part{ position:relative; z-index:100; }
header .wp-block-navigation.bb-mm-nav,
header .bb-mm-nav .wp-block-navigation__container{ position:static; }
header .wp-block-navigation .bb-mm-item{ gap:.2rem; }
header .wp-block-navigation .bb-mm-item.is-open > a{
  box-shadow:inset 0 -2px 0 var(--wp--preset--color--primary);
  color:var(--wp--preset--color--primary);
}
.bb-mm-toggle{
  display:grid; place-items:center; width:1.5rem; height:1.5rem; padding:0;
  border:0; border-radius:4px; background:none; color:inherit; cursor:pointer;
}
.bb-mm-toggle svg{ width:10px; height:10px; opacity:.6; transition:transform .15s; }
.bb-mm-toggle:hover svg, .bb-mm-toggle[aria-expanded="true"] svg{ opacity:1; }
.bb-mm-toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }

.bb-mm{
  position:absolute; left:0; right:0; top:100%; z-index:2;
  padding-inline:var(--wp--style--root--padding-left, var(--bb-gutter)) var(--wp--style--root--padding-right, var(--bb-gutter));
  background:var(--wp--preset--color--surface);
  border-bottom:1px solid var(--wp--preset--color--border-strong);
  font-size:.9375rem; font-weight:400; line-height:1.45; color:var(--wp--preset--color--contrast);
}
.bb-mm a{ color:var(--wp--preset--color--contrast); text-decoration:none; }
.bb-mm a:hover{ color:var(--wp--preset--color--primary); text-decoration:underline; }
.bb-mm ul{ list-style:none; margin:0; padding:0; }
.bb-mm li{ margin:0; padding:0; }
.bb-mm p{ margin:0; }
.bb-mm__inner{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  max-width:var(--wp--style--global--wide-size, var(--bb-max)); margin-inline:auto; min-height:19rem;
}
.bb-mm__main{ min-width:0; padding:1.6rem 2.5rem 2.2rem 0; }
.bb-mm__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  margin-bottom:1.3rem; padding-bottom:.8rem; border-bottom:1px solid var(--wp--preset--color--border-strong);
}
.bb-mm__title{ font-family:var(--wp--preset--font-family--serif); font-size:1.5rem; line-height:1.15; }
.bb-mm a.bb-mm__all, .bb-mm .bb-mm__more a{ color:var(--wp--preset--color--primary); font-weight:600; font-size:.875rem; white-space:nowrap; }
.bb-mm .bb-mm__label{
  margin-bottom:.45rem; font-size:.75rem; line-height:1.4; letter-spacing:.08em;
  text-transform:uppercase; font-weight:600; color:var(--wp--preset--color--contrast-muted);
}
.bb-mm .bb-mm__label a{ color:inherit; }
.bb-mm__list a{ display:block; padding:.18rem 0; }
.bb-mm .bb-mm__more a{ margin-top:.3rem; }

/* Kolumner */
.bb-mm__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.6rem 2rem; align-items:start; }
.bb-mm__block{ min-width:0; }
.bb-mm__block--leaves{ grid-column:span var(--bb-mm-cols,1); }
.bb-mm__block--leaves .bb-mm__list{ columns:var(--bb-mm-cols,1); column-gap:2rem; }
.bb-mm__block--leaves li{ break-inside:avoid; }

/* Kampanjruta */
.bb-mm a.bb-mm__promo{
  display:block; overflow:hidden; text-decoration:none; color:var(--wp--preset--color--contrast);
  background:var(--wp--preset--color--base); border:1px solid var(--wp--preset--color--border); border-radius:var(--bb-radius);
}
.bb-mm a.bb-mm__promo:hover{ border-color:var(--wp--preset--color--border-strong); }
.bb-mm__promomedia{ display:block; aspect-ratio:16/10; background:var(--wp--preset--color--surface); }
.bb-mm__promomedia img{ display:block; width:100%; height:100%; object-fit:cover; }
.bb-mm__promobody{ display:block; padding:.75rem 1rem 1rem; }
.bb-mm__kicker{ display:block; font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--wp--preset--color--accent); }
.bb-mm__promotitle{ display:block; margin:.15rem 0 .4rem; font-family:var(--wp--preset--font-family--serif); font-size:1.125rem; line-height:1.25; }
.bb-mm__cta{ font-size:.875rem; font-weight:600; color:var(--wp--preset--color--primary); }

/* Flikar */
.bb-mm__tabs{ display:grid; grid-template-columns:14rem minmax(0,1fr); gap:2rem; align-items:start; }
.bb-mm__rail{ display:flex; flex-direction:column; border-right:1px solid var(--wp--preset--color--border-strong); }
.bb-mm__tab{
  display:flex; justify-content:space-between; align-items:center; gap:.5rem; width:100%;
  padding:.4rem 1rem .4rem 0; border:0; background:none; cursor:pointer; text-align:left;
  font:inherit; color:var(--wp--preset--color--contrast);
}
.bb-mm__tab:hover{ color:var(--wp--preset--color--primary); }
.bb-mm__tab[aria-selected="true"]{ color:var(--wp--preset--color--primary); font-weight:600; box-shadow:inset -2px 0 0 var(--wp--preset--color--primary); }
.bb-mm__tabcount{ font-size:.75rem; font-weight:400; color:var(--wp--preset--color--contrast-muted); }
.bb-mm__panehead{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:.5rem; }
.bb-mm__pane .bb-mm__list{ columns:3; column-gap:2rem; }
.bb-mm__pane li{ break-inside:avoid; }
.bb-mm__empty{ color:var(--wp--preset--color--contrast-muted); }

/* Högerkolumnen (malldelen megamenu-side) */
.bb-mm__side{ width:17rem; padding:1.6rem 1.6rem 2rem; background:var(--wp--preset--color--primary); color:#fff; }
.bb-mm__side a, .bb-mm__side a:hover{ color:#fff; }
.bb-mm__side .bb-mm__label{ color:var(--wp--preset--color--primary-light); }
.bb-mm__side ul{ margin-bottom:1.2rem; }
.bb-mm__side li a{ display:block; padding:.25rem 0; }
.bb-mm__side .bb-mm__contact{
  padding-top:1rem; border-top:1px solid rgba(255,255,255,.2);
  font-size:.875rem; line-height:1.5; color:var(--wp--preset--color--primary-light);
}

.bb-mm-scrim{ position:absolute; left:0; right:0; top:100%; z-index:1; height:100vh; background:rgba(18,33,43,.22); }

/* Mobilmeny */
.bb-mm-burger{
  display:none; place-items:center; min-width:44px; min-height:44px; padding:0 .8rem;
  border:0; border-radius:var(--bb-radius); background:var(--wp--preset--color--primary); color:#fff; cursor:pointer;
}
.bb-mm-burger svg{ width:20px; height:20px; }
.bb-mm-drawer{
  position:fixed; inset:0; top:var(--wp-admin--admin-bar--height, 0px); z-index:100000; overflow-x:hidden;
  display:flex; flex-direction:column; background:var(--wp--preset--color--base); color:var(--wp--preset--color--contrast);
}
html.bb-mm-lock, html.bb-mm-lock body{ overflow:hidden; }
.bb-mm-drawer *, .bb-mm-drawer *::before, .bb-mm-drawer *::after{ box-sizing:border-box; }
.bb-mm-drawer__top{
  display:flex; align-items:center; justify-content:space-between;
  padding:.4rem var(--bb-gutter); border-bottom:1px solid var(--wp--preset--color--border);
}
.bb-mm-drawer__heading{ font-weight:600; }
.bb-mm-drawer__close{ display:grid; place-items:center; width:44px; height:44px; margin-right:-.6rem; border:0; background:none; color:inherit; cursor:pointer; }
.bb-mm-drawer__body{ flex:1; overflow-y:auto; overscroll-behavior:contain; }
.bb-mm-level{ padding-bottom:2rem; }
.bb-mm-level.is-entering-forward{ animation:bb-mm-in-forward .18s ease-out; }
.bb-mm-level.is-entering-back{ animation:bb-mm-in-back .18s ease-out; }
@keyframes bb-mm-in-forward{ from{ transform:translateX(24px); opacity:0; } }
@keyframes bb-mm-in-back{ from{ transform:translateX(-24px); opacity:0; } }
.bb-mm-drawer ul{ list-style:none; margin:0; padding:0; }
.bb-mm-drawer__link{
  display:flex; justify-content:space-between; align-items:center; gap:1rem; width:100%; min-height:52px;
  padding:.7rem var(--bb-gutter); border:0; border-bottom:1px solid var(--wp--preset--color--border);
  background:none; cursor:pointer; text-align:left; text-decoration:none;
  font:inherit; font-size:1rem; font-weight:500; color:var(--wp--preset--color--contrast);
}
a.bb-mm-drawer__link:hover{ text-decoration:none; color:var(--wp--preset--color--primary); }
.bb-mm-drawer__link svg{ flex:none; width:14px; height:14px; color:var(--wp--preset--color--contrast-muted); }
.bb-mm-drawer .bb-mm-drawer__all{ color:var(--wp--preset--color--primary); font-weight:600; }
.bb-mm-drawer__all span{ font-size:.8125rem; font-weight:400; color:var(--wp--preset--color--contrast-muted); }
.bb-mm-drawer__back{
  display:flex; align-items:center; gap:.4rem; padding:.9rem var(--bb-gutter) .2rem;
  border:0; background:none; cursor:pointer; font:inherit; font-size:.875rem; font-weight:600; color:var(--wp--preset--color--primary);
}
.bb-mm-drawer__title{ margin:.2rem var(--bb-gutter) .6rem; font-family:var(--wp--preset--font-family--serif); font-size:1.5rem; line-height:1.2; }
.bb-mm-drawer__side{ margin:1.5rem var(--bb-gutter) 0; padding:1.1rem 1.2rem; border-radius:var(--bb-radius); background:var(--wp--preset--color--primary); color:#fff; }
.bb-mm-drawer__side a{ color:#fff; }
.bb-mm-drawer__side p{ margin:0; }
.bb-mm-drawer__side .bb-mm__label{ margin-bottom:.4rem; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--wp--preset--color--primary-light); }
.bb-mm-drawer__side li a{ display:block; padding:.35rem 0; }
.bb-mm-drawer__side .bb-mm__contact{ margin-top:.8rem; font-size:.875rem; color:var(--wp--preset--color--primary-light); }

@media (max-width:1180px){
  .bb-mm__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1100px){
  .bb-mm__side{ display:none; }
  .bb-mm__main{ padding-right:0; }
}
@media (max-width:999px){
  header .wp-block-group.alignfull:has(.bb-mm-nav){ display:none; }
  .bb-mm-burger{ display:grid; }
}
@media (min-width:1000px){
  .bb-mm-drawer{ display:none !important; }
}
@media (prefers-reduced-motion:reduce){
  .bb-mm-level{ animation:none !important; }
  .bb-mm-toggle svg{ transition:none; }
}
.bb-mm[hidden], .bb-mm-scrim[hidden], .bb-mm-drawer[hidden], .bb-mm-level[hidden], .bb-mm__pane[hidden], .bb-mm__view[hidden]{ display:none; }
