.cta-wrapper {
	width: 100%;
	aspect-ratio: 1/1;
}

.blur-wrapper {
	background: rgba(142,0,56, 0.77);
	backdrop-filter: blur(14px);
	padding: 1rem;
	border-radius: 12px;
	width: 100%;
	height: 100%;
	min-height: 200px;
}
.blur-wrapper.alt {
	background: rgba(0,0,0, 0.05);
	aspect-ratio: 1;
}
.blur-wrapper .icon {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
}
.fabrikker-list {
	list-style: none;
	padding: 0;
	margin: 0;
	padding-top: 13px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2rem;
	position: relative;
	max-height: none; /* will be set dynamically */
    overflow: hidden;
}
.fabrikker-list::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: calc(50% - 2rem);
	height: 1px;
	background: #00000024;
}
.fabrikker-list::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: calc(50% - 2rem);
	height: 1px;
	background: #00000024;
}
/* Hide items after the 6th when collapsed */
  .fabrikker-list--collapsed > li:nth-child(n+7) {
    display: none;
  }


.fabrik .acc-item {
    display: none;
    transition: all 0.3s ease;
}
.fabrik {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	opacity: 0.2;
	transition: .3s ease-in-out;
	position: relative;
}
.fabrik::after {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #00000024;
}
.fabrik.open {
	opacity: 1;
}
.fabrik.open::after {
	background: #000;
}
.fabrik.open .acc-item {
    display: block;
}

.icon {
    display: inline-block;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
    margin-left: 10px;
}
.icon.rotated {
    transform: rotate(270deg); /* or 180deg depending on your arrow */
}
.fabrik {
	width: calc(50% - 2rem);
}
.fabrik .acc-header {
	display: flex;
	align-items: center;
}
.fabrik .title {
	font-family: 'Atkinson Hyperlegible', sans-serif;
    font-size: 2.8rem;
    font-weight: 900;
}
.fabrik .columns {
	display: flex;
	flex-direction: row;
	gap: 2rem;
}
.fabrik strong {
	display: block;
	color: #a50343!important;
	font-weight: 900;
	margin-bottom: 0.5rem;
}
.fabrik p {
	margin: 0 0 0.5rem 0;
}
.fabrik .column img {
	width: 200px;
	max-width: unset;
	border-radius: 6px;
	object-fit: cover;
	object-position: center;
	aspect-ratio: 1/1;
}
.fabrik .column.text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


.fabrikker-fade {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px; /* fade height */
    background: linear-gradient(to top, #f2f2f2, transparent);
    pointer-events: none;
  }

  .fabrikker-readmore {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 1rem auto;
    cursor: pointer;
    background: #fff;
    border: 1px solid #fff;
    color: #000;
    width: 48px;
    height: 48px;
    border-radius: 100%;
    position: relative;
    z-index: 999999;
  }
  .fabrikker-readmore img {
  	width: 15px;
  	height: 15px;
  	transform: rotate(45deg);
  	transition: .3s ease-in-out;
  }
  .fabrikker-readmore[aria-expanded="true"] img {
  	transform: rotate(225deg);
  }
  .fabrikker-readmore .btn-text {
  	position: absolute;
  	top: 56px;
  	text-align: center;
  	width: 100px;
  }
.betontabs .bde-tabs__tabslist {
	background: white;
	padding: 0.5rem;
	margin: 0 auto;
	border-radius: 8px;
	width: auto;
}
.bde-post-loop .breakdance-swiper-wrapper {
	padding: 0;
	overflow: visible!important;
}
.bde-post-loop .breakdance-swiper-wrapper .swiper-button-prev {
	display: none;
}
.bde-post-loop .breakdance-swiper-wrapper .swiper-button-next {
	position: absolute;
	top: -48px;
	right: 0px;
	z-index: 99;
	background: #a50343;
	border-radius: 6px;
	width: 32px;
	height: 32px;
}
.bde-post-loop .breakdance-swiper-wrapper .swiper-button-next svg {
	width: 14px;
}
.bde-post-loop .breakdance-swiper-wrapper .swiper-button-next {
	position: absolute;
	top: -48px;
	right: 0px;
	z-index: 99;
	background: #a50343;
	border-radius: 6px;
	width: 32px;
	height: 32px;
}
.ekspertise .breakdance-swiper-wrapper .swiper-button-next,
.ekspertise .breakdance-swiper-wrapper .swiper-button-prev {
	position: absolute;
	z-index: 99;
	background: #a50343;
	border-radius: 6px;
	width: 32px;
	height: 32px;
}
.ekspertise .breakdance-swiper-wrapper .swiper-button-next {
	right: 0;
	top: -32px;
}
.ekspertise .breakdance-swiper-wrapper .swiper-button-prev {
	right: 40px;
	top: -32px;
	left: unset;
}
.ekspertise .breakdance-swiper-wrapper .swiper-button-next svg,
.ekspertise .breakdance-swiper-wrapper .swiper-button-prev svg {
	width: 14px;
}




.wrapper {
	position: relative;
	width: 100%;
	height: 700px;
}
.hotspot-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
}
.hotspot-image {
    max-width: 100%;
    height: auto;
}
.hotspot {
    position: absolute;
    width: 70px;
    height: 70px;
    background: #A50343;
    border-radius: 50%;
    cursor: pointer;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 8px rgba(165,3,56, 0.5);
    animation: pulse 1.5s 3 ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    z-index: 9;
}
.hotspot::after {
	content: '';
    position: absolute;
    width: 90px;
    height: 90px;
    top: -10px;
    left: -10px;
    background: rgba(165, 3, 56, 0.1);
    border-radius: 100%;
    z-index: -1;
}
.hotspot-A1 {
	top: 0;
	left: 20%;
}
.hotspot-A2 {
	top: 3%;
	left: 39%;
}
.hotspot-A3 {
	top: 8%;
	left: 59%;
}
.hotspot-A4 {
	top: 60%;
	left: 94%;
}
.hotspot-A5 {
	top: 48%;
	left: 67%;
}
.hotspot-B1-7 {
	top: 54%;
	left: 48%;
}
.hotspot-C1-4 {
	top: 60%;
	left: 20%;
}
.hotspot:hover {
    background: rgba(165,3,56, 0.8);
}

/* Pulse animation */
@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.9;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.6;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.9;
    }
}


/* Modal styles */
.custom-modal {
    display: none;
    position: absolute;
    z-index: 9999;
    left: 50%; 
    top: 50%;
    width: 100%;
    padding: 2rem;
    max-width: 500px;
    transform: translate(-50%,-50%);
    visibility: hidden;
    background: rgba(225,225,225, 0.6);
    backdrop-filter: blur(12px);
    box-shadow: rgb(0 0 0 / 5%) 0px 1px 4px;
    border-radius: 12px;
}
.modal-id {
	color: #A50343;
	font-size: 2rem;
	font-weight: 700;
	margin: 0;
}
.custom-modal .modal-title {
	margin: 0;
	color: #A50343;
}
.custom-modal .sub-title {
	color: #000;
	margin: 0.5rem 0;
}
.custom-modal.is-open {
    display: block;
    visibility: visible;
}
.custom-modal-content { 
    padding: 20px;
    border-radius: 13px;
    max-width: 500px;
    position: relative;
    transition: transform 0.3s ease;
}
.custom-modal .close {
    position: relative;
    display: inline-block;
    background: #A50343;
    color: #fff;
    margin-top: 2rem;
    padding: 0.8rem 4rem;
    border-radius: 6px;
    pointer-events: cursor;

}

.produkt-file-selector {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
#produkt-select {
	width: 40%;
}
.custom-select {
    position: relative;
    width: 100%;
    cursor: pointer;
}
.custom-select.disabled {
    opacity: 0.3;
    pointer-events: none;
    filter:grayscale(100%);

}
.custom-select-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background: #fff;
    border: 2px solid #a50343;
    border-radius: 6px;
    color: #a50343;
    font-size: 0.9rem;
}

.custom-select-arrow {
    display: inline-flex;
    transition: transform 0.3s ease;
    color: #a50343;
}

.custom-select.open .custom-select-arrow {
    transform: rotate(180deg);
}

.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 2px solid #a50343;
    border-radius: 6px;
    display: none;
    z-index: 10;
}
.custom-select.open .custom-options {
    display: flex;
    flex-direction: column;
}
.custom-option {
    padding: 10px;
}
.custom-option:hover {
    background: #eee;
}
#download-file {
	background:  #a50343;
	color: #fff;
	padding: 14px 20px;
	border: 1px solid #a50343;
	border-radius: 6px;
}
#download-file:disabled {
	filter: grayscale(100%);
	opacity: 0.3;
	pointer-events: none;
}


.custom-acc .bde-accordion__icon--active {
	transform: rotate(-90deg);
}
.custom-acc .bde-accordion__content-wrapper:not(.custom-acc.no-border .bde-accordion__content-wrapper) {
	border-top: 1px solid #fff!important;
}
.custom-acc .is-active .bde-accordion__button {
	padding-bottom: 0px;
}


#scroll-buttons {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 9999;
}
.page-id-83 #scroll-buttons {
	display: none;
}

#scroll-buttons button {
	width: 48px;
	height: 48px;
  font-size: 14px;
  border: none;
  border-radius: 100%;
  background: #a50343;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#scroll-buttons button svg {
	fill: #fff;
	width: 18px;
}

#scroll-buttons button.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
}
.bde-simple-counter__suffix:not(.single .bde-simple-counter__suffix) {
	display: block;
	position: absolute;
	bottom: -5px;

.single .bde-simple-counter__suffix {
	margin-left: 1rem;
}
.epd-field {
	color: #a50343;
	font-size: 2rem;
    font-weight: 700;
    margin-top: 0.5rem;
}
ul.epd-list {
	margin: 0;
	margin-top: 1rem!important;
	padding: 0!important;
	list-style: none!important;
}
.epd-list li a {
	text-decoration: none;
}

.fabrikker-fade {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px; /* fade height */
    background: linear-gradient(to top, white, transparent);
    pointer-events: none;
  }

  .fabrikker-readmore {
    display: inline-block;
    margin-top: 10px;
    cursor: pointer;
    background: #333;
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
  }