.style {
  display: block;
}

.desc {
  /* font-size:13px!important; */
}

.pt-10 {
  padding-top: 8rem !important;
}

.pt-11 {
  padding-top: 10rem !important;
}

.max-w-700px {
  max-width: 700px !important;
}

.max-w-600px {
  max-width: 600px !important;
}

.space-between {
  justify-content: space-between;
}

.self-start {
  align-items: self-start !important;
}

.hero-bg-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.1) 70%, rgba(255, 255, 255, 0.2) 100%);
  z-index: 1;
}

.hero-bg-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 60%, white 100%);
  z-index: 2;
}

.mb-minus-20 {
  margin-bottom: -20px;
}

.mt-minus {
  margin-top: -81px;
}

.logo-regilo-hero {
  width: 100px;
}

.swiper-pagination-bullet {
  background: #ccc;
  opacity: 0.6;
  transition: all 0.3s ease;
}

.swiper-pagination-bullet-active {
  background: #000;
  opacity: 1;
}

.v-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.v-center h5{
  margin-bottom: 0px!important;
}

.module {
  background: linear-gradient(to bottom, transparent, #F6F4F0);
  cursor: pointer;
  transition: all .25s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.module:hover {
  /* background: linear-gradient(to bottom, transparent, #0f846522) !important; */
  border: #0f846576 solid 1px !important;
  box-shadow: 0 0 20px 9px #0f846522 !important;
  scale: 1.01;
}

.module.active {
  background: linear-gradient(to bottom, transparent, #0f846522) !important;
  border: #0f84653f solid 1px !important;
}

.module-label {
  background: transparent !important;
  border: var(--bs-border-color) 1px solid !important;
  color: #353535 !important;
  z-index: 1;
}

.usp-icon-box {
  min-width: 40px !important;
  min-height: 40px !important;
  background-color: #0f846518 !important;
  padding: 10px;
}

.text-rg {
  color: #108465;
}

.bg-rg {
  background-color: #004635;
}

.bg-gradient-rg {
  background: linear-gradient(135deg, #0f8465 40%, #c1ec35 100%);
}

.text-gradient-rg {
  background: linear-gradient(45deg, #0f8465, #C0EC35, #151545);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  background-size: 155%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}

.text-gradient-rg-darker {
  background: linear-gradient(45deg, #1dc497, #C0EC35, #151545);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  background-size: 155%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}

/* IPAD */
.device-video {
  width: 92%;
  /* iets kleiner maken */
  height: auto;
  margin: 4% auto;
  /* centreren */
  display: block;
  z-index: 999;
  margin-top: 3.3%;
}

.ipad-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 99.3%;
  pointer-events: none;
}

.uc-pageloader>.loading>div {
  /* border-color:#C0EC35!important; */
}

/* BTNS */

.btn-rg {
  background-color: #1c1c1c;
  color: #fff;
}

.btn-rg:hover {
  background-color: #464646;
  color: #fff;
}

.btn-rg-primary {
  background-color: #108465;
  color: #fff;
}

.btn-rg-primary:hover {
  background-color: #108465;
  color: #fff;
}


/* === Module Grid === */
/* grid */
.module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  margin-top: 40px;
  position: relative;
}

.module-grid>.row {
  grid-column: 1 / -1;
}

.module-thumb svg {
  width: 40px;
  height: 40px;
  color: #b9b9b9;
}

.module.active .module-thumb svg {
  color: #0f8465;
}

/* .module::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  width: 1px;
  height: 30px;
  background: var(--bs-border-color);
  transform: translateX(-50%);
  z-index: 0;
} */

/* STICKY PRICE BAR */

#sticky-price-bar {
  position: fixed;
  bottom: -100px;
  /*offset van het scherm af*/
  right: 0;
  left: 0;

  max-width: 700px;
  /* of de breedte van jouw container */
  width: 100%;
  margin: 0 auto;
  background: #222;
  color: #fff;
  padding: 10px 0px 10px 30px !important;
  text-align: center;
  font-size: 18px;
  transition: bottom 0.3s ease-in-out;
  z-index: 1009;
}

#sticky-price-bar.active {
  bottom: 20px;
  /* springt naar boven */
}

.sticky-price-bar-d {
  background: #ededed;
  color: #000000;
}

#sticky-price-bar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 458px) {
  .module-label {
    bottom: 0 !important;
    top: inherit !important;
  }

  .hide-on-mobile {
    display: none !important;
  }
}

#sticky-price-bar .left {
  display: flex;
  align-items: center;
  gap: 2rem;
  /* afstand tussen de 3 kolommen */
}

/* Navbar custom */
.header-regilo {
  border: 1px #000 solid;
}

/* swiper custom */
.swiper-controls-rg {
  position: absolute;
  right: 50px;
  top: 100px;
}

.feature-item-content {}

.smart-module-image img.smart-module {
  max-width: 70%;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.smart-module-image{
  height: auto;
  display: block;
  position: relative;
}

.feature-item-slider {
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0.95),
      rgba(255, 255, 255, 0.65),
      rgba(255, 255, 255, 0.95));
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #edf3f1;
  border-color: #1cbe93 !important;
}

.text-light-rg {
  color: #B7DAD1;
}

.swiper-wrapper {
  align-items: stretch !important;
}

.swiper-slide {
  height: auto !important;
  display: flex;
}

.swiper-slide>* {
  flex: 1;
  display: flex;
}

/* Toggle */
.toggle {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
}

.toggle input {
  display: none;
}

.slider-toggle {
  position: absolute;
  cursor: pointer;
  background-color: #fff;
  /* UIT = wit */
  border: 2px solid #000;
  /* zwart randje */
  border-radius: 20px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 0.3s ease;
}

.slider-toggle:before {
  content: "";
  position: absolute;
  height: 14px;
  width: 14px;
  left: 1px;
  bottom: 1px;
  background-color: #000;
  /* UIT = zwart bolletje */
  border-radius: 50%;
  transition: all 0.3s ease;
}

/* AAN staat */
input:checked+.slider-toggle {
  background-color: #0f8465;
  border-color: #0f8465;
}

input:checked+.slider-toggle:before {
  transform: translateX(20px);
  /* bolletje naar rechts */
  background-color: #fff;
  /* wit bolletje */
}

/* Disabled state */
input:disabled+.slider-toggle {
  background-color: #0f8465 !important;
  border-color: #0f8465;
  cursor: not-allowed;
}

input:disabled+.slider-toggle:before {
  background-color: #fff;
}

.background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#cta-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Gradient van boven donker naar transparant */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(255, 255, 255, 0));
  z-index: 1;
  /* boven de afbeelding */
  pointer-events: none;
  /* klikbaar blijft voor knoppen */
}

#cta-inner .section-outer,
#cta-inner .container {
  position: relative;
  z-index: 2;
}

#cta-inner .btn {
  display: inline-block;
  width: auto;
  max-width: max-content;
}

.swiper-nav {
  position: absolute;
  top: 62%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: var(--color-primary) 1px solid !important;
  box-shadow: 0 0 30px 9px #0f846529 !important;
}

.swiper-nav-prev {
  left: 1.5rem;
}

.swiper-nav-next {
  right: 1.5rem;
}

/* hover effect */
.swiper-nav:hover {
  box-shadow: 0 0 40px 9px #0f846570 !important;
  background: #0c7257!important;
}

#integrations-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.0));
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  border-radius: 20px;
}

#integrations-inner .section-outer,
#integrations-inner .container {
  position: relative;
  z-index: 2;
}

#integrations-inner .btn {
  display: inline-block;
  width: auto;
  max-width: max-content;
}


/* //logo slider */
.panel.w-100 {
  overflow: hidden;
}

.logos-row {
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  margin: 1rem;
}

.logos-track {
  display: flex;
  gap: 0rem;
}

.swiper {
  margin: 10px 0px;
  ;
}

.logo-integration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0px solid #171717;
  border-radius: 9999px;
  padding: 0.5rem 1rem;
  background: rgba(0, 0, 0, 0.0);
  flex-shrink: 0;
  color: #fff;
  margin: 0;
  font-weight: 600;
  text-align: center;
}

.logo-integration img {
  height: 30px;
  border-radius: 18px;
}

.logo-slider{
  margin-top:200px;
}

/* Container rond afbeelding */
.controller-visual {
    position: relative;
    display: inline-block;
}



/* Algemene asset styling */
.asset-tag {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #ffffff;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    color: #1e2d2b;
    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    white-space: nowrap;
    z-index: 5;
}

/* Icoontje */
.asset-tag i {
    font-size: 16px;
    opacity: 0.8;
    
}
.asset-tag {
    transition: transform 0.25s ease-out;
    will-change: transform;
    pointer-events: none;
}

/* Posities */
.asset-accu {
    top: 35%;
    right: 15%;
}

.asset-zon {
    top: 35%;
    left: 5%;
}

.asset-laadpaal {
    top: 5%;
    right: 45%;
}

.asset-wind {
    bottom: 10%;
    right: 15%;
}

.asset-generator {
    bottom: 10%;
    left: 15%;
}

/* Responsive: verberg labels op mobiel */
@media (max-width: 768px) {
    .asset-tag {
        display: none;
    }
}

.wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 16px; /* spacing tussen velden */
}

.footer-menu {
    display: flex;          /* kolommen naast elkaar */
    flex-wrap: wrap;        /* als het smal is, kan het onder elkaar */
    gap: 2rem;              /* ruimte tussen kolommen */
}

.footer-menu > div {
    flex: 1 1 200px;        /* elke kolom groeit mee, minimale breedte 200px */
}