/* Mobile catalogue containment and balanced cards — v63 */
@media (max-width: 991px) {
  html,
  body,
  #page,
  #wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #wrapper > .columns-container.container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 12px !important;
  }

  body.page-category #wrapper > .columns-container.container > .row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body.page-category #left-column,
  body.page-category #center-column {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  body.page-category #js-product-list-header,
  body.page-category .category__header,
  body.page-category .subcategory,
  body.page-category .subcategory__list,
  body.page-category #products,
  body.page-category #js-product-list {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  body.page-category .category__header {
    padding: 20px 0 22px !important;
  }

  body.page-category .category__header > .page-title-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-size: clamp(2rem, 9vw, 2.5rem) !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere !important;
  }

  body.page-category .category__description {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    font-size: .94rem !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere !important;
  }

  body.page-category .subcategory__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  body.page-category .subcategory__link {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 206px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.page-category .subcategory__thumbnail {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 152px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 152px !important;
    min-height: 152px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.page-category .subcategory__thumbnail img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: scale(1.55) !important;
    transform-origin: center !important;
  }

  body.page-category .subcategory__name {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 9px 28px 9px 10px !important;
    text-align: center !important;
    font-size: .84rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  #header .ul-product-nav,
  #header .ul-product-nav__inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #header .ul-product-nav__toggle {
    box-sizing: border-box !important;
    width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 17px !important;
    text-align: left !important;
  }

  #header .ul-product-nav__inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 8px 12px 14px !important;
  }

  #header .ul-product-nav__inner a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 11px 8px !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* Keep the first trust-strip message on one line on narrow phones. */
@media (max-width: 430px) {
  body#index .ul-mock-trust > div:first-child {
    gap: 0.38rem !important;
    padding-inline: 0.7rem !important;
  }

  body#index .ul-mock-trust > div:first-child span {
    white-space: nowrap !important;
    font-size: 0.75rem !important;
    line-height: 1.25 !important;
  }
}

/* Clearer mobile category navigation without making the header bulky. */
@media (max-width: 767px) {
  #header .ul-product-nav__toggle {
    min-height: 52px !important;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.045em !important;
  }

  #header .ul-product-nav__toggle span:last-child {
    font-size: 1.38rem !important;
  }

  #header .ul-product-nav__inner a,
  #header .ul-product-nav__inner a:nth-child(9) {
    min-height: 48px !important;
    padding-block: 12px !important;
    font-size: 0.86rem !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
  }
}

/* One aligned title rail and separator across every homepage category card. */
body#index .ul-category-track .ul-category-card {
  position: relative !important;
  padding-bottom: 56px !important;
}

body#index .ul-category-track .ul-category-card > span {
  box-sizing: border-box !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 8px 46px 8px 18px !important;
  border-top: 1px solid #ece9e3 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  background: #fff !important;
}

body#index .ul-category-track .ul-category-card > i {
  right: 12px !important;
  bottom: 16px !important;
}

/* Keep the popular-products eyebrow and heading in separate rows. */
body#index .ul-mock-products > header {
  position: relative !important;
  box-sizing: border-box !important;
  padding-top: 24px !important;
}

body#index .ul-mock-products > header::before {
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body#index .ul-mock-products > header > h2 {
  margin-top: 0 !important;
  line-height: 1.12 !important;
}

/* Real latest-products carousel on the homepage. */
body#index .ul-new-products > header {
  padding-top: 0 !important;
}

body#index .ul-new-products > header::before {
  content: none !important;
  display: none !important;
}

body#index .ul-new-products > header > h2 {
  font-size: clamp(2rem, 2.5vw, 2.3625rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
  line-height: 1.15 !important;
}

/* Cases: accessible contrast and clean editorial pages */
body#index .ul-case-card h3,
body#index .ul-case-card h3 a {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .42);
}
.ul-cases-overview,
.ul-case-page { max-width: 1320px; margin: 0 auto; padding: 3.5rem 1.5rem 5rem; }
.ul-cases-overview > header,
.ul-cases-overview__header { max-width: 780px; margin-bottom: 2.25rem; }
.ul-cases-overview > header > span,
.ul-cases-overview__header > span,
.ul-case-page > header > span,
.ul-case-page__header > span { color:#b57d20; font-size:.82rem; font-weight:800; letter-spacing:.13em; }
.ul-cases-overview > header h1,
.ul-cases-overview__header h1,
.ul-case-page > header h1,
.ul-case-page__header h1 { margin:.5rem 0 .8rem; color:#101a2a; font-size:clamp(2.2rem,5vw,4.4rem); line-height:1.02; letter-spacing:-.045em; }
.ul-cases-overview > header p,
.ul-cases-overview__header p,
.ul-case-page > header p,
.ul-case-page__header p { color:#53606f; font-size:1.12rem; line-height:1.65; }
.ul-cases-overview__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.ul-cases-overview__card { display:grid; grid-template-columns:44% 1fr; min-height:290px; overflow:hidden; border:1px solid #e0e4e8; border-radius:18px; background:#fff; color:#101a2a; }
.ul-cases-overview__image { display:block; min-height:290px; }
.ul-cases-overview__card img { width:100%; height:100%; min-height:290px; object-fit:cover; }
.ul-cases-overview__card > div { display:flex; flex-direction:column; align-items:flex-start; padding:1.6rem; }
.ul-cases-overview__card span { color:#b57d20; font-size:.74rem; font-weight:800; letter-spacing:.1em; }
.ul-cases-overview__card h2 { margin:.45rem 0 .65rem; color:#101a2a; font-size:1.45rem; line-height:1.15; }
.ul-cases-overview__card p { margin:0 0 1rem; color:#687381; line-height:1.5; }
.ul-cases-overview__link { margin-top:auto; color:#17344e!important; font-weight:800; text-decoration:none!important; }
.ul-case-page { max-width:1100px; }
.ul-case-page > header,
.ul-case-page__header { max-width:850px; margin-bottom:2rem; }
.ul-case-page__hero { width:100%; max-height:620px; margin:0 0 2.5rem; border-radius:18px; object-fit:cover; }
.ul-case-page > p,
.ul-case-page > ul { max-width:820px; color:#354150; font-size:1.08rem; line-height:1.75; }
.ul-case-page > h2 { margin:2.2rem 0 .65rem; color:#101a2a; font-size:1.8rem; }
.ul-case-page aside,
.ul-case-page__contact { margin-top:3rem; padding:2rem; border-radius:16px; background:#153651; color:#fff; }
.ul-case-page aside h2,
.ul-case-page__contact h2 { margin:0 0 .55rem; color:#fff; }
.ul-case-page aside p,
.ul-case-page__contact p { color:#e8eef3; }
.ul-case-page aside a,
.ul-case-page__contact a { display:inline-flex; margin-top:.5rem; padding:.8rem 1.2rem; border-radius:8px; background:#d9a43d; color:#101a2a; font-weight:800; text-decoration:none!important; }
@media(max-width:767px){
  .ul-cases-overview,.ul-case-page{padding:2rem 1rem 3.5rem}
  .ul-cases-overview__grid{grid-template-columns:1fr}
  .ul-cases-overview__card{grid-template-columns:1fr;min-height:0}
  .ul-cases-overview__image{min-height:0}
  .ul-cases-overview__card img{height:220px;min-height:0}
}

body#index .ul-new-products-track .product-flag.new,
body#index .ul-new-products-track .product-flags .new {
  display: none !important;
}

/* Never show the visual "Ny" product flag anywhere in the storefront. */
.product-flag.new,
.product-flags .product-flag.new,
.product-flags > .new {
  display: none !important;
}

body#index .ul-new-products {
  width: calc(100% - 2rem) !important;
  max-width: 1440px !important;
}

body#index .ul-new-products-track {
  box-sizing: border-box !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(240px, 1fr) !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: thin !important;
}

body#index .ul-new-products-track > .product-miniature {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  scroll-snap-align: start !important;
}

body#index .ul-new-products-track .product-miniature__image-container,
body#index .ul-new-products-track .product-miniature__top {
  height: 210px !important;
  min-height: 210px !important;
  max-height: 210px !important;
}

body#index .ul-new-products-track .product-miniature__image-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
  background: #fff !important;
}

body#index .ul-new-products-track .product-miniature__image-link,
body#index .ul-new-products-track .product-miniature__image {
  display: block !important;
  width: 186px !important;
  height: 186px !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (min-width: 1200px) {
  body#index .ul-new-products-track {
    grid-auto-columns: calc((100% - 64px) / 5) !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body#index .ul-new-products-track {
    grid-auto-columns: calc((100% - 32px) / 3) !important;
  }
}

/* Compact, fully visible category and product cards on phones. */
@media (max-width: 767px) {
  body#index .ul-new-products-track {
    display: flex !important;
    gap: 12px !important;
    grid-auto-flow: initial !important;
    padding-bottom: 8px !important;
  }

  body#index .ul-new-products-track > .product-miniature {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: center !important;
  }

  body.page-category .subcategory__link {
    height: 164px !important;
    min-height: 164px !important;
  }

  body.page-category .subcategory__thumbnail {
    flex-basis: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    padding: 8px !important;
  }

  body.page-category .subcategory__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  body.page-category .subcategory__name {
    min-height: 52px !important;
    padding: 8px 26px 8px 8px !important;
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
  }

  body.page-category #js-product-list .product-miniature__top,
  body.page-category #js-product-list .product-miniature__image-container {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }

  body.page-category #js-product-list .product-miniature__image-container {
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
  }

  body.page-category #js-product-list .product-miniature__image-link,
  body.page-category #js-product-list .product-miniature__image {
    display: block !important;
    width: 164px !important;
    height: 164px !important;
    min-width: 164px !important;
    min-height: 164px !important;
    max-width: 164px !important;
    max-height: 164px !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.page-category #js-product-list .product-miniature__form {
    grid-template-columns: 132px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  body.page-category #js-product-list .product-miniature__form > .quantity-button {
    grid-column: 1 !important;
  }

  body.page-category #js-product-list .product-miniature__form > .product-miniature__add {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding-inline: 12px !important;
  }
}

@media (max-width: 420px) {
  #wrapper > .columns-container.container {
    padding-inline: 10px !important;
  }

  body.page-category .subcategory__list {
    gap: 8px !important;
  }
}

/* Homepage category carousel: keep image, title and arrow inside each card. */
.ul-carousel-prev,
.ul-carousel-next {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 44px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}

@media (max-width: 991px) {
  body#index .ul-category-carousel {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body#index .ul-category-track {
    align-items: stretch !important;
    padding-bottom: 14px !important;
  }

  body#index .ul-category-track .ul-category-card {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 154px 56px !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    width: 100% !important;
    height: 212px !important;
    min-height: 212px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body#index .ul-category-track .ul-category-card img {
    box-sizing: border-box !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    height: 154px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    transform-origin: center !important;
  }

  body#index .ul-category-track .ul-category-card span {
    box-sizing: border-box !important;
    grid-row: 2 !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    justify-content: center !important;
    padding: 8px 42px !important;
    text-align: center !important;
    overflow: visible !important;
    color: #1c2936 !important;
    background: #fff !important;
    font-size: .84rem !important;
    line-height: 1.2 !important;
  }

  body#index .ul-category-track .ul-category-card i {
    right: 12px !important;
    bottom: 16px !important;
  }

  body#index .ul-category-track .ul-category-card:hover img {
    transform: none !important;
  }
}

@media (max-width: 430px) {
  body#index .ul-category-track .ul-category-card {
    grid-template-rows: 152px 56px !important;
    height: 210px !important;
    min-height: 210px !important;
  }

  body#index .ul-category-track .ul-category-card img {
    height: 152px !important;
  }
}

/* Homepage popular-products carousel: one centered, fully visible card per step. */
@media (max-width: 767px) {
  body#index .ul-mock-products {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 16px !important;
    overflow: hidden !important;
  }

  body#index .ul-mock-products > header,
  body#index .ul-mock-product-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  body#index .ul-mock-product-grid {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 0 !important;
  }

  body#index .ul-mock-product-grid > article {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }

  body#index .ul-mock-product-grid > article > img {
    display: block !important;
    width: 100% !important;
    margin-inline: auto !important;
    object-position: center !important;
  }
}

@media (max-width: 991px) {
  body#index .ul-category-track .ul-category-card > span {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    text-align: center !important;
  }
}


/* CMS cases use their own editorial H1; hide only the duplicated system page title. */
body.page-cms:has(.ul-cases-overview) .page-header,
body.page-cms:has(.ul-case-page) .page-header {
  display: none !important;
}


/* PrestaShop removes the outer case wrapper; the hero class keeps the scope exact. */
body.page-cms:has(.ul-case-page__hero) .page-header {
  display: none !important;
}
body.page-cms:has(.ul-case-page__hero) .page-content {
  max-width: 1280px;
  margin-inline: auto;
  padding: clamp(28px, 4vw, 64px) clamp(20px, 4vw, 56px);
}
body.page-cms:has(.ul-case-page__hero) .page-content > h1 {
  margin: 8px 0 14px;
}
body.page-cms:has(.ul-case-page__hero) .ul-case-page__hero {
  display: block;
  width: 100%;
  max-height: 620px;
  margin: 24px 0 36px;
  border-radius: 18px;
  object-fit: cover;
}

/* Rich case studies: measurable outcomes and complete project galleries. */
.ul-case-page .ul-case-results {
  margin: 36px 0;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 18px;
  background: #f4f7f6;
}
.ul-case-page .ul-case-results h2,
.ul-case-page .ul-case-gallery-section h2 { margin: 0 0 18px; }
.ul-case-page .ul-case-results ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ul-case-page .ul-case-results li {
  padding: 16px 18px;
  border-radius: 12px;
  background: #fff;
  font-weight: 650;
}
.ul-case-gallery-section { margin: 44px 0; }
.ul-case-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.ul-case-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
}
@media (max-width: 767px) {
  .ul-case-page .ul-case-results ul,
  .ul-case-gallery { grid-template-columns: 1fr; }
}

/* 2026-08-26: mobile guide table and energy-label spacing */
@media (max-width: 767px) {
  body.cms-id-6 .ul-guide-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  body.cms-id-6 .ul-guide-table > table {
    width: 680px !important;
    min-width: 680px !important;
    max-width: none !important;
  }
  .product-miniature__prices {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .5rem !important;
  }
  .product-miniature__prices .ul-energy--compact {
    display: flex !important;
    margin: .15rem 0 .35rem !important;
  }
  .product-miniature__prices .product-miniature__price {
    display: block !important;
    clear: both;
  }
}


/* 2026-08-28: Nyheder listing — restore product images and prices. Scoped only to new-products. */
body#new-products #js-product-list .product-miniature__top,
body#new-products #js-product-list .product-miniature__image-container {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  overflow: hidden !important;
}
body#new-products #js-product-list .product-miniature__image-link,
body#new-products #js-product-list .product-miniature__image-link picture {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
body#new-products #js-product-list .product-miniature__image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
body#new-products #js-product-list .product-miniature,
body#new-products #js-product-list .product-miniature__inner {
  height: auto !important;
  min-height: 540px !important;
}
body#new-products #js-product-list .product-miniature__prices,
body#new-products #js-product-list .product-miniature__price {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body#new-products #js-product-list .product-miniature__price {
  position: static !important;
}
@media (max-width: 767.98px) {
  body#new-products #js-product-list .product-miniature__top,
  body#new-products #js-product-list .product-miniature__image-container {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }
  body#new-products #js-product-list .product-miniature,
  body#new-products #js-product-list .product-miniature__inner {
    min-height: 640px !important;
  }
}
