/* 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;}
}
