.kampanj-slide {margin-top:-5px;}

/* MOBIL: gör raden till en horisontell slider */
@media (max-width: 768px){

  .kampanj-slide .row{
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }

  /* Dölj scrollbar */
  .kampanj-slide .row::-webkit-scrollbar{
    display: none;
  }
  .kampanj-slide .row{
    scrollbar-width: none;
  }

  /* Varje ruta blir en "slide" */
  .kampanj-slide .col-xs-12,
  .kampanj-slide .col-xs-6,
  .kampanj-slide .col-sm-6{
    flex: 0 0 85%;
    max-width: 85%;
    scroll-snap-align: start;
  }

  /* Lite luft till höger så sista inte klistras mot kanten */
  .kampanj-slide .col-xs-12:last-child,
  .kampanj-slide .col-xs-6:last-child{
    margin-right: 1rem;
  }
}

@media (max-width: 768px){

  /* Ta bort all luft mellan slides */
  .kampanj-slide .row{
    gap: 0;
    padding: 0;
    margin: 0;
  }

  .kampanj-slide .col-xs-12,
  .kampanj-slide .col-sm-6,
  .kampanj-slide .col-md-3{
    padding: 0 !important;
    margin: 0 !important;
  }

}



@media (max-width: 768px){

  /* Gör sektionen kant-till-kant, oavsett theme-gutters */
  .kampanj-slide{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  /* Nolla bootstrap-row offset i just slidern */
  .kampanj-slide .row{
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;

    margin: 0 !important;
    padding: 0 0 0 0.75rem;   /* lite “hero-känsla” men inte vit ram */
  }

  /* Dölj scrollbar */
  .kampanj-slide .row::-webkit-scrollbar{ display:none; }
  .kampanj-slide .row{ scrollbar-width:none; }

  /* Slides: kant-i-kant utan mellanrum */
  .kampanj-slide .col-xs-12,
  .kampanj-slide .col-sm-6,
  .kampanj-slide .col-md-3{
    flex: 0 0 88%;
    max-width: 88%;
    padding: 0 !important;
    margin: 0 !important;
    scroll-snap-align: start;
  }

  /* Se till att sista sliden inte klipps */
  .kampanj-slide .row::after{
    content: "";
    flex: 0 0 0.75rem;        /* höger “andningsmån” */
  }
}





/* Zoom-effekt på toppslidern */
.kampanj-slide .cm-img-wrapper{
  overflow: hidden;
}

.kampanj-slide .cm-img-wrapper img{
  transition: transform .6s ease;
}

.kampanj-slide .cm-img-wrapper:hover img{
  transform: scale(1.06);
}




@media only screen and (min-width: 100.1rem) {
    .col-lg-3 {
        box-sizing: border-box;
        flex-basis: 25%;
        max-width: 25%;
        padding-left: 0px;
        padding-right: 10px;
    }
}












/* =========================
   VM-ruta-1x1-v2 – robust textlayout
   Funkar både MED och UTAN h2-etik
   ett
   ========================= */

/* 0) Se till att texten alltid har samma "inre marginal" */
.VM-ruta-1x1-v2 .cm-img-txt-wrap{
  padding: 0 0 0 40px !important; /* desktop: samma indrag oavsett h2 */
}

/* 1) Textblock: alltid samma spacing – men styrs smart */
.VM-ruta-1x1-v2 .cm-img-txt{
  display: flex;
  flex-direction: column;
  gap: 6px;                 /* mellan rader */
}

/* 2) Etikett (h2) – bara styling, påverkar inte övrig logik */
.VM-ruta-1x1-v2 .cm-img-txt a h2{
  display: inline-block;
  background: #1385fa;
  color: #fff !important;

  padding: 6px 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  margin: 0;                /* <-- viktigt: inga extra "layout-margins" */
  letter-spacing: 0.5px;
}

/* 3) Om h2 saknas: ingen extra tom-yta, allt sitter ändå rätt */
.VM-ruta-1x1-v2 .cm-img-txt a h2:empty{
  display: none !important;
}

/* 4) Huvudrubrik (h3) */
.VM-ruta-1x1-v2 .cm-img-txt a h3{
  color: #fff !important;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
  margin: 0;
  max-width: 100%;
}

/* 5) Extra luft mellan etikett och rubrik – bara om etikett finns */
.VM-ruta-1x1-v2 .cm-img-txt a h2:not(:empty) + h3{
  margin-top: 4px;          /* liten, kontrollerad luft */
}

/* 6) Mobil – samma princip: paddingen styr layouten, inte h2 */
@media (max-width: 768px){

  .VM-ruta-1x1-v2 .cm-img-txt-wrap{
    padding: 0 18px 18px 18px !important;
  }

  .VM-ruta-1x1-v2 .cm-img-txt a h2{
    font-size: 12px;
    padding: 4px 8px;
  }

  .VM-ruta-1x1-v2 .cm-img-txt a h3{
    font-size: 20px !important;
    line-height: 1.15;
  }

  /* Placering från botten – oberoende av etikett */
  .VM-ruta-1x1-v2 .cm-img-txt-wrap:not(:empty){
    bottom: calc(var(--gutter) * 0.6) !important;
    top: auto !important;
    transform: none !important;
    translate: none !important;
  }
}








.VM-artiklar-1 h2{
  font-family: var(--PermanentMarker) !important;
  font-size: 42px;
  text-align: center;
  line-height: 1.1;

  margin-top: 0px;      /* drar upp rubriken lite */
  margin-bottom: 0;
  padding-bottom: 34px;   /* mer luft nedåt */
}

/* Mobil */
@media (max-width: 768px){
  .VM-artiklar-1 h2{
    font-size: 30px;
    margin-top: 10px;
    padding-bottom: 28px;
  }
}







/* 35% större text – endast i slidern */
.kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt h2{
  font-size: 19px; /* 14 * 1.35 ≈ 19 */
}
.kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt h3{
  font-size: 30px; /* 30 * 1.35 ≈ 40 */
}

@media (max-width: 768px){
  .kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt h2{
    font-size: 16px; /* 12 * 1.35 ≈ 16 */
  }
  .kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt h3{
    font-size: 25px !important; /* 20 * 1.35 ≈ 27 */
  }
}
/* Större indrag i fullbredd-slidern */
.kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt-wrap{
  padding-left: 30px; /* dubbelt */
}

/* Mobil – lite försiktigare så text inte hamnar för långt in */

@media (max-width: 768px){
  .kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt-wrap{
    padding-left: 28px !important;
  }
}

/* Endast brödtext i slidern */
.kampanj-slide .VM-ruta-1x1-v2 .cm-img-txt span{
  display: block;
  font-size: 15px;
  line-height: 1.35;
  margin-top: 4px;
  opacity: 0.95;
}






/* =========================
   VM-kat-1: Kategorirutor
   ========================= */
/* =========================
   VM-kat-1 – ren kategorilook
   ========================= */

.VM-kat-1 .cm-img-wrapper{
  position: relative;
  overflow: hidden;
}

/* Samma höjd på alla */
.VM-kat-1 .cm-img-wrapper.ce_alignment_full_width{
  height: 320px;
}

/* Bild = cover */
.VM-kat-1 .cm-img-wrapper > a:first-child,
.VM-kat-1 .cm-img-wrapper > a:first-child img{
  width: 100%;
  height: 100%;
}
.VM-kat-1 .cm-img-wrapper > a:first-child img{
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}

/* Fade i botten – ligger UNDER text */
.VM-kat-1 .cm-img-wrapper::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 55%;
  background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0));
  z-index: 1;
}

/* Textplacering */
.VM-kat-1 .cm-img-txt-wrap{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 20px;
  text-align: center;
  z-index: 2; /* över fade */
}

/* Kategorinamn – samma stil som övriga */
.VM-kat-1 .cm-img-cta a{
  color: #fff !important;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
}

/* Liten zoom på hover */
.VM-kat-1 .cm-img-wrapper:hover img{
  transform: scale(1.05);
}

/* Mobil */
@media (max-width: 768px){
  .VM-kat-1 .cm-img-wrapper.ce_alignment_full_width{
    height: 220px;
  }
  .VM-kat-1 .cm-img-cta a{
    font-size: 20px;
  }
}

.VM-kat-1 .cm-img-cta a{
  font-family: DINOT, sans-serif !important;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.5px;
  text-transform: none;
}



/* =========================
   VM-kat-1: 2 och 2 på mobil
   (påverkar INTE toppslidern)
   ========================= */

@media (max-width: 768px){

  /* Gör raden till flex-grid (inte slider) */
  .VM-kat-1 .Bilder_Artikelgrupp{
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Varje kategori-ruta = 50% */
  .VM-kat-1 .Bilder_Artikelgrupp > .col-xs-12{
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }

  /* Litet mellanrum mellan rutorna (justera) */
  .VM-kat-1 .Bilder_Artikelgrupp > .col-xs-12{
    padding: 0.35rem !important;
    box-sizing: border-box;
  }
}

/* Flytta ner texten lite mer */
.VM-kat-1 .cm-img-txt-wrap{
  bottom: 18px !important;   /* öka om du vill ännu längre ner */
}

/* Mobiljustering */
@media (max-width: 768px){

  /* ännu lite lägre på mobil */
  .VM-kat-1 .cm-img-txt-wrap{
    bottom: 0px !important;
  }

  /* mindre text */
  .VM-kat-1 .cm-img-cta a{
    font-size: 18px !important;
    line-height: 1.15;
  }
}

.VM-ruta-1x1-v2.VM-ruta-1x1-rod .cm-img-txt h2{
  background: #db3a00 !important;
}

.VM-ruta-1x1-v2.VM-ruta-1x1-gron .cm-img-txt h2{
  background: #33901e !important;
}
.VM-ruta-1x1-v2.VM-ruta-1x1-gra .cm-img-txt h2{
  background: #121212 !important;
}






.PT_Bildruta .PT_Bild {padding:.3rem;}

.ikoner>div.IkonNyhetArtgruppFalt {font-size:13px; margin-bottom:-6px !important;}

.sektion-utan-mellanrum {margin-bottom:0px !important;}




.ikoner > div.IkonKampanjArtgruppFalt,
.ikoner .PT_UtskriftIkonKampanj_TagX,
.ikoner .procent2 {
    color: var(--sale-bagde-color1);
    font-weight: 700 !important;
    background: var(--sale-bagde-background1);
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    text-shadow: 0 !important;
    border-radius: 0 !important;
   clip-path:none  !important;
    font-size: 10px !important;
    margin-left: 6px !important;
}


html {  scroll-behavior: smooth;}