/* EkoMedica footer newsletter v5 */
.ekm-nl2{
  clear:both;
  display:block;
  width:100%;
  position:relative;
  z-index:2;
  margin:0;
  padding:20px 16px 28px;
  background:#f7f5ef;
  font-family:Roboto,'Segoe UI',Arial,Helvetica,sans-serif;
  color:#465044;
}

.ekm-nl2 *{box-sizing:border-box}

.ekm-nl2-card{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  background:#fff;
  border:1px solid #e1e5dc;
  border-radius:16px;
  padding:21px 24px;
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:28px;
  align-items:center;
  box-shadow:0 2px 10px rgba(30,60,35,.035);
}

.ekm-nl2-intro{
  display:flex;
  gap:13px;
  align-items:flex-start;
  min-width:0;
}

.ekm-nl2-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#e9f2e4;
  color:#2e5336;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
}

.ekm-nl2 h2{
  margin:0 0 6px!important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:22px!important;
  line-height:1.2;
  color:#244d35!important;
}

.ekm-nl2-intro p{
  margin:0!important;
  color:#657064;
  font-size:12.5px;
  line-height:1.45;
}

.ekm-nl2-form{
  min-width:0;
  width:100%;
}

.ekm-nl2-top{
  display:grid;
  grid-template-columns:minmax(320px,430px) 150px;
  gap:9px;
  align-items:end;
  justify-content:start;
}

.ekm-nl2-label{
  display:block;
  margin:0 0 4px!important;
  color:#2e5336!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

.ekm-nl2-email{
  display:block!important;
  width:100%!important;
  height:42px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #b9cdb2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#333!important;
  font-family:inherit!important;
  font-size:14px!important;
  line-height:42px!important;
  box-shadow:none!important;
}

.ekm-nl2-email:focus{
  outline:none!important;
  border-color:#5b8c51!important;
  box-shadow:0 0 0 3px rgba(46,83,54,.08)!important;
}

.ekm-nl2-email::placeholder{color:#a2aaa0!important}

.ekm-nl2-submit{
  display:block!important;
  width:100%!important;
  height:42px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:8px!important;
  background:#2e5336!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:42px!important;
  font-weight:700!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.ekm-nl2-submit:hover{background:#24442b!important}

.ekm-nl2-prefline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 9px;
  margin-top:10px;
}

.ekm-nl2-pref-title{
  display:inline-block;
  margin:0!important;
  color:#596452;
  font-size:12px;
  line-height:34px;
  font-weight:700;
  white-space:nowrap;
}

.ekm-nl2-prefs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.ekm-nl2-pref{position:relative}

.ekm-nl2-pref input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

.ekm-nl2-pref label{
  display:flex!important;
  align-items:center!important;
  min-height:34px;
  margin:0!important;
  padding:7px 12px!important;
  border:1px solid #d8e1d4!important;
  border-radius:8px!important;
  background:#f5f8f2!important;
  color:#4d594a!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:600!important;
  cursor:pointer!important;
  white-space:nowrap;
}

.ekm-nl2-pref label:before{
  content:'';
  width:15px;
  height:15px;
  margin-right:8px;
  border:1px solid #9eae99;
  border-radius:4px;
  background:#fff;
  flex:0 0 15px;
}

.ekm-nl2-pref input:checked+label{
  background:#e7f0e3!important;
  color:#2e5336!important;
  border-color:#6f9f65!important;
  box-shadow:inset 0 0 0 1px #6f9f65!important;
}

.ekm-nl2-pref input:checked+label:before{
  content:'✓';
  display:flex;
  align-items:center;
  justify-content:center;
  background:#2e5336;
  border-color:#2e5336;
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
}

.ekm-nl2-consent{
  position:relative;
  display:block!important;
  margin:9px 0 0!important;
  color:#727c70!important;
  font-family:inherit!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  font-weight:400!important;
  cursor:pointer;
}

.ekm-nl2-consent input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

.ekm-nl2-consent span{
  position:relative;
  display:block;
  min-height:18px;
  padding-left:25px;
}

.ekm-nl2-consent span:before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:16px;
  height:16px;
  border:1px solid #9eae99;
  border-radius:4px;
  background:#fff;
}

.ekm-nl2-consent input:checked+span:before{
  background:#2e5336;
  border-color:#2e5336;
}

.ekm-nl2-consent input:checked+span:after{
  content:'✓';
  position:absolute;
  left:3px;
  top:-2px;
  color:#fff;
  font-size:13px;
  line-height:18px;
  font-weight:700;
}

.ekm-nl2-consent input:focus+span:before{
  box-shadow:0 0 0 3px rgba(46,83,54,.12);
}

@media(max-width:1050px){
  .ekm-nl2-card{
    grid-template-columns:320px minmax(0,1fr);
    gap:22px;
  }
  .ekm-nl2-top{
    grid-template-columns:minmax(250px,1fr) 165px;
  }
}

@media(max-width:850px){
  .ekm-nl2{padding-top:20px}
  .ekm-nl2-card{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ekm-nl2-top{
    grid-template-columns:minmax(0,1fr) 170px;
  }
}

@media(max-width:600px){
  .ekm-nl2{
    padding:18px 10px 20px;
  }
  .ekm-nl2-card{
    padding:17px 15px;
    border-radius:14px;
  }
  .ekm-nl2 h2{font-size:20px!important}
  .ekm-nl2-top{grid-template-columns:1fr}
  .ekm-nl2-prefline{display:block}
  .ekm-nl2-pref-title{display:block;line-height:1.3;margin:0 0 7px!important}
  .ekm-nl2-prefs{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .ekm-nl2-pref label{white-space:normal;min-height:38px}
}


/* Oddeleni instagram tlacitka od newsletteru */
.content-wrapper.instagram-block.js-instagram-block{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
.instagram-follow-btn{
  position:relative!important;
  z-index:6!important;
  margin-bottom:26px!important;
}
.ekm-nl2{
  position:relative!important;
  z-index:2!important;
}

@media(max-width:600px){
  .instagram-follow-btn{margin-bottom:20px!important;}
}

/* =========================================
   v6 - temata jako klasicke checkboxy, ne tlacitka
   ========================================= */
.ekm-nl2-prefline{
  align-items:flex-start;
  gap:8px 12px;
  margin-top:12px;
}

.ekm-nl2-pref-title{
  line-height:26px;
  color:#596452;
}

.ekm-nl2-prefs{
  gap:6px 18px;
}

.ekm-nl2-pref label{
  min-height:26px!important;
  padding:3px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4d594a!important;
  font-size:12px!important;
  font-weight:500!important;
  box-shadow:none!important;
}

.ekm-nl2-pref label:before{
  width:16px;
  height:16px;
  margin-right:7px;
  border:1px solid #8fa18b;
  border-radius:4px;
  background:#fff;
  flex:0 0 16px;
}

.ekm-nl2-pref input:checked+label{
  background:transparent!important;
  color:#2e5336!important;
  border:0!important;
  box-shadow:none!important;
  font-weight:700!important;
}

.ekm-nl2-pref input:checked+label:before{
  background:#2e5336;
  border-color:#2e5336;
  color:#fff;
}

@media(max-width:650px){
  .ekm-nl2-prefs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px 14px;
  }
}

/* =========================================
   v7 - checkboxy témat bez překrývání textu
   ========================================= */
.ekm-nl2-prefs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px 20px!important;
}

.ekm-nl2-choice{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  padding:2px 0!important;
  border:0!important;
  background:transparent!important;
  color:#4d594a!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:500!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  position:static!important;
}

.ekm-nl2-choice:before,
.ekm-nl2-choice:after,
.ekm-nl2-choice span:before,
.ekm-nl2-choice span:after{
  content:none!important;
  display:none!important;
}

.ekm-nl2-choice input[type="checkbox"]{
  position:static!important;
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #8fa18b!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  clip:auto!important;
  clip-path:none!important;
  transform:none!important;
  float:none!important;
  vertical-align:middle!important;
  accent-color:#2e5336;
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
}

.ekm-nl2-choice span{
  display:inline-block!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  color:#4d594a!important;
  font:inherit!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}

.ekm-nl2-choice input[type="checkbox"]:checked + span{
  color:#2e5336!important;
  font-weight:700!important;
}

@media(max-width:650px){
  .ekm-nl2-prefs{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 14px!important;
  }
  .ekm-nl2-choice{white-space:normal!important;}
  .ekm-nl2-choice span{white-space:normal!important;}
}

/* =========================================================
   EKOMEDICA NEWSLETTER V8 - BENTO VISUAL ONLY
   Funkcnost formulare zustava beze zmeny.
   ========================================================= */

/* Newsletter se zarovna na stejnou osu jako zeleny banner */
.ekm-nl2{
  width:100%!important;
  margin:0!important;
  padding:0 0 28px!important;
  background:#f7f5ef!important;
}

/* Hlavni karta - stejna maximalni sirka jako Bento / zeleny banner */
.ekm-nl2-card{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:20px 24px!important;

  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:30px!important;
  align-items:center!important;

  background:#fffdfa!important;
  border:1px solid #e1e7dc!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(35,55,40,.055)!important;
}

/* Leva brandova cast */
.ekm-nl2-intro{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-width:0!important;
}

.ekm-nl2-icon{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;

  border:1px solid #d8e5d3!important;
  border-radius:50%!important;
  background:#edf5e8!important;
  color:#176746!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  font-size:18px!important;
  box-shadow:none!important;
}

.ekm-nl2 h2{
  margin:0 0 5px!important;
  color:#173f2c!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:23px!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
}

.ekm-nl2-intro p{
  margin:0!important;
  max-width:260px!important;
  color:#69736b!important;
  font-size:12px!important;
  line-height:1.45!important;
}

/* Prava formularova cast */
.ekm-nl2-form{
  width:100%!important;
  min-width:0!important;
}

.ekm-nl2-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 168px!important;
  gap:10px!important;
  align-items:end!important;
  width:100%!important;
}

.ekm-nl2-label{
  margin:0 0 5px!important;
  color:#244d35!important;
  font-size:11.5px!important;
  font-weight:750!important;
  line-height:1.2!important;
}

.ekm-nl2-email{
  width:100%!important;
  height:44px!important;
  padding:0 14px!important;
  border:1px solid #c7d7c1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2d372f!important;
  font-size:13px!important;
  line-height:44px!important;
  box-shadow:none!important;
}

.ekm-nl2-email:focus{
  border-color:#6f9f65!important;
  box-shadow:0 0 0 3px rgba(47,126,53,.08)!important;
}

.ekm-nl2-submit{
  width:100%!important;
  height:44px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:10px!important;
  background:#0f5a3c!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:44px!important;
  font-weight:750!important;
  box-shadow:none!important;
  transition:background .18s ease, transform .18s ease!important;
}

.ekm-nl2-submit:hover{
  background:#08452e!important;
  transform:translateY(-1px)!important;
}

/* Temata - subtilni, kompaktni, bez zmeny checkbox funkce */
.ekm-nl2-prefline{
  display:flex!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  gap:7px 14px!important;
  margin-top:10px!important;
}

.ekm-nl2-pref-title{
  display:inline-block!important;
  margin:1px 0 0!important;
  color:#526157!important;
  font-size:11px!important;
  line-height:24px!important;
  font-weight:750!important;
  white-space:nowrap!important;
}

.ekm-nl2-prefs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px 16px!important;
}

.ekm-nl2-choice{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:1px 0!important;
  color:#536159!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  font-weight:500!important;
}

.ekm-nl2-choice input[type="checkbox"]{
  width:15px!important;
  min-width:15px!important;
  height:15px!important;
  margin:0!important;
  accent-color:#0f5a3c!important;
}

.ekm-nl2-choice input[type="checkbox"]:checked + span{
  color:#0f5a3c!important;
  font-weight:700!important;
}

/* Pomocny text pod tematami */
.ekm-nl2-prefline > div[style]{
  flex-basis:100%!important;
  margin-top:1px!important;
  color:#788279!important;
  font-size:10.5px!important;
  line-height:1.4!important;
}

/* Souhlas */
.ekm-nl2-consent{
  margin:7px 0 0!important;
  color:#7b847c!important;
  font-size:10px!important;
  line-height:1.4!important;
}

.ekm-nl2-consent span{
  min-height:16px!important;
  padding-left:23px!important;
}

.ekm-nl2-consent span:before{
  width:15px!important;
  height:15px!important;
  border-color:#aab8a5!important;
  border-radius:4px!important;
}

.ekm-nl2-consent input:checked+span:before{
  background:#0f5a3c!important;
  border-color:#0f5a3c!important;
}

/* Tablet */
@media(max-width:900px){
  .ekm-nl2{
    padding:0 12px 24px!important;
  }

  .ekm-nl2-card{
    max-width:none!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:20px!important;
  }

  .ekm-nl2-intro{
    grid-template-columns:46px minmax(0,1fr)!important;
  }

  .ekm-nl2-intro p{
    max-width:none!important;
  }
}

/* Mobil */
@media(max-width:600px){
  .ekm-nl2{
    padding:0 12px 20px!important;
  }

  .ekm-nl2-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:18px 16px!important;
    gap:18px!important;
    border-radius:16px!important;
  }

  .ekm-nl2-intro{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
  }

  .ekm-nl2-icon{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
    font-size:16px!important;
  }

  .ekm-nl2 h2{
    font-size:22px!important;
    line-height:1.1!important;
  }

  .ekm-nl2-intro p{
    font-size:12px!important;
  }

  .ekm-nl2-top{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  .ekm-nl2-submit{
    width:100%!important;
  }

  .ekm-nl2-prefs{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px 12px!important;
  }

  .ekm-nl2-choice{
    white-space:normal!important;
  }

  .ekm-nl2-choice span{
    white-space:normal!important;
  }
}
