/* DavaMont Hero Slider – moderný minimalistický vzhľad */
.dm-hero-slider{
  --dm-blue:#075ee8;
  --dm-blue-dark:#064fca;
  --dm-navy:#071a38;
  --dm-text:#263750;
  --dm-container:1240px;
  position:relative;
  width:100%;
  max-width:none!important;
  margin:0;
  overflow:hidden;
  background:#f7f9fc;
  color:var(--dm-navy);
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* Elementor: slider vyplní celú šírku kontajnera */
.elementor-widget-shortcode .dm-hero-slider,
.elementor-widget-container .dm-hero-slider{
  width:100%;
}

.dm-hero-slider *{box-sizing:border-box}

.dm-slides-wrap{
  position:relative;
  min-height:500px;
  overflow:hidden;
  background:#eef3f8;
}

.dm-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:var(--dm-position,center center);
  transition:opacity .65s ease,visibility .65s ease;
}

.dm-slide.is-active{
  z-index:2;
  opacity:1;
  visibility:visible;
}

.dm-no-image{background:linear-gradient(110deg,#fff 0%,#f5f8fc 55%,#dce7f5 100%)}

/* Svetlý prechod vľavo, obraz ostáva výrazný vpravo */
.dm-slide-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.98) 25%,
      rgba(255,255,255,.90) 39%,
      rgba(255,255,255,.54) 54%,
      rgba(255,255,255,.08) 72%,
      rgba(4,18,39,var(--dm-overlay,.05)) 100%);
}

.dm-content{
  position:relative;
  z-index:3;
  width:min(var(--dm-container),calc(100% - 80px));
  min-height:500px;
  margin:0 auto;
  padding:70px 0 132px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.dm-eyebrow{
  margin:0 0 17px;
  color:var(--dm-blue);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.015em;
  text-transform:uppercase;
}

.dm-content h2{
  width:min(600px,52%);
  margin:0 0 18px;
  color:var(--dm-navy);
  font-size:clamp(36px,3.45vw,53px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.038em;
}

.dm-content p{
  width:min(515px,48%);
  margin:0 0 27px;
  color:var(--dm-text);
  font-size:16px;
  line-height:1.65;
  font-weight:400;
}

.dm-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.dm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:52px;
  padding:0 22px;
  border:1.5px solid var(--dm-blue);
  border-radius:5px;
  background:#fff;
  color:var(--dm-blue)!important;
  box-shadow:none;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.005em;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.dm-btn span{font-size:20px;font-weight:400;line-height:1}

.dm-btn-primary{
  min-width:175px;
  border-color:var(--dm-blue);
  background:var(--dm-blue);
  color:#fff!important;
  box-shadow:0 9px 22px rgba(7,94,232,.18);
}

.dm-btn-primary:hover,
.dm-btn-primary:focus{
  transform:translateY(-2px);
  border-color:var(--dm-blue-dark);
  background:var(--dm-blue-dark);
  box-shadow:0 12px 27px rgba(7,94,232,.25);
}

.dm-btn-secondary{min-width:250px;background:rgba(255,255,255,.86)}
.dm-btn-secondary:hover,.dm-btn-secondary:focus{transform:translateY(-2px);background:#fff}

/* Benefity sú opticky súčasťou hero sekcie */
.dm-benefits{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:31px;
  transform:translateX(-50%);
  width:min(var(--dm-container),calc(100% - 80px));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px;
  margin:0;
  padding:0;
  pointer-events:none;
}

.dm-benefit{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.dm-benefit svg{
  width:28px;
  height:28px;
  flex:0 0 28px;
  fill:none;
  stroke:var(--dm-blue);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dm-benefit strong,.dm-benefit span{display:block}
.dm-benefit strong{color:var(--dm-navy);font-size:12px;line-height:1.35;font-weight:800}
.dm-benefit span{margin-top:3px;color:#34445c;font-size:11px;line-height:1.4}

/* Šípky */
.dm-arrow{
  position:absolute;
  z-index:6;
  right:27px;
  bottom:22px;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--dm-navy);
  box-shadow:0 7px 22px rgba(7,26,56,.16);
  cursor:pointer;
  font-family:Arial,sans-serif;
  font-size:31px;
  font-weight:300;
  line-height:40px;
  transition:transform .2s ease,box-shadow .2s ease;
}

.dm-prev{right:80px}
.dm-arrow:hover,.dm-arrow:focus{transform:translateY(-2px);box-shadow:0 10px 26px rgba(7,26,56,.22)}

/* Bodky */
.dm-dots{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:25px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
}

.dm-dots button{
  width:8px;
  height:8px;
  margin:0;
  padding:0;
  border:0;
  border-radius:99px;
  background:#fff;
  opacity:.82;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  cursor:pointer;
  transition:width .2s ease,background-color .2s ease,opacity .2s ease;
}

.dm-dots button.is-active{width:21px;background:var(--dm-blue);opacity:1}

.dm-btn:focus-visible,.dm-arrow:focus-visible,.dm-dots button:focus-visible{
  outline:3px solid rgba(7,94,232,.3);
  outline-offset:3px;
}

@media(max-width:1024px){
  .dm-slides-wrap,.dm-content{min-height:540px}
  .dm-content{width:calc(100% - 56px);padding-top:55px;padding-bottom:150px}
  .dm-content h2{width:61%;font-size:44px}
  .dm-content p{width:55%}
  .dm-benefits{width:calc(100% - 56px);gap:20px}
  .dm-slide-shade{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 42%,rgba(255,255,255,.46) 66%,rgba(4,18,39,var(--dm-overlay,.07)) 100%)}
}

@media(max-width:767px){
  .dm-slides-wrap,.dm-content{min-height:680px}
  .dm-slide{background-position:68% center}
  .dm-slide-shade{
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.72) 72%,rgba(255,255,255,.38) 100%);
  }
  .dm-content{
    width:calc(100% - 36px);
    justify-content:flex-start;
    padding:38px 0 255px;
  }
  .dm-eyebrow{margin-bottom:14px;font-size:10px}
  .dm-content h2{width:100%;max-width:520px;margin-bottom:15px;font-size:35px;line-height:1.1}
  .dm-content p{width:100%;max-width:480px;margin-bottom:22px;font-size:14px;line-height:1.55}
  .dm-actions{width:100%;display:grid;gap:10px}
  .dm-btn{width:100%;min-width:0;min-height:49px}
  .dm-benefits{
    left:18px;
    right:18px;
    bottom:24px;
    width:auto;
    transform:none;
    grid-template-columns:1fr;
    gap:8px;
  }
  .dm-benefit{
    padding:8px 10px;
    border:1px solid rgba(7,94,232,.10);
    border-radius:7px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(5px);
  }
  .dm-benefit svg{width:23px;height:23px;flex-basis:23px}
  .dm-arrow{right:17px;bottom:198px;width:41px;height:41px;font-size:28px;line-height:37px}
  .dm-prev{right:66px}
  .dm-dots{left:18px;bottom:213px;transform:none}
}

@media(max-width:420px){
  .dm-slides-wrap,.dm-content{min-height:720px}
  .dm-content h2{font-size:31px}
  .dm-arrow{bottom:215px}
  .dm-dots{bottom:230px}
}

@media(prefers-reduced-motion:reduce){
  .dm-slide,.dm-btn,.dm-arrow,.dm-dots button{transition:none!important}
}
