/* Deuba Messekalender – 0.1.3, deliberately scoped and Elementor-safe */
.dmk-calendar,.elementor .dmk-calendar{display:block!important;max-width:960px;width:100%;margin:0 auto;background:#fff;border:1px solid #dfe5e5;border-radius:16px;overflow:hidden;color:#003638;font-family:inherit;box-sizing:border-box}
.dmk-calendar *{box-sizing:border-box}
.dmk-calendar .dmk-head,.dmk-calendar .dmk-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px;align-items:center;text-align:left}
.dmk-calendar .dmk-head{background:#e3e9e8;padding:22px 24px;font-weight:700;font-size:17px;border-bottom:2px solid #efb6ff;color:#003638}
.dmk-calendar .dmk-head span{display:block}
.dmk-calendar button.dmk-row{width:100%;min-height:0;margin:0;border:0;border-bottom:1px solid #e6ebeb;background:#fff;padding:17px 24px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.45;color:#003638;cursor:pointer;transition:background-color .2s,box-shadow .2s;border-radius:0;appearance:none}
.dmk-calendar button.dmk-row:hover{background:#edf5f3!important;color:#003638!important;box-shadow:inset 4px 0 0 #008c86}
.dmk-calendar button.dmk-row:focus-visible{outline:3px solid #008c86;outline-offset:-3px}
.dmk-calendar .dmk-row span{color:inherit;font-size:inherit;display:block;min-width:0;overflow-wrap:anywhere}
.dmk-calendar .dmk-row .dmk-name{font-weight:700}
.dmk-calendar .dmk-empty{min-height:155px;padding:32px 20px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;font-size:18px;font-weight:700;color:#003638}
.dmk-calendar .dmk-empty svg{color:#334343;display:block}
.dmk-dialog[hidden]{display:none!important}
.dmk-dialog{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:22px;box-sizing:border-box}
.dmk-dialog .dmk-backdrop{position:absolute;inset:0;background:rgba(0,32,32,.65)}
.dmk-dialog .dmk-panel{position:relative;background:#fff;color:#003638;width:min(760px,100%);max-height:calc(100vh - 44px);overflow-y:auto;border-radius:18px;padding:34px;box-sizing:border-box;box-shadow:0 20px 70px rgba(0,0,0,.2)}
.dmk-dialog .dmk-close{position:absolute;top:14px;right:17px;border:0;background:#e3e9e8;color:#003638;border-radius:50%;width:35px;height:35px;font-size:26px;line-height:1;cursor:pointer}
.dmk-dialog .dmk-kicker{letter-spacing:.12em;color:#008c86;font-weight:700;font-size:12px;margin:0 0 8px}
.dmk-dialog .dmk-panel h2{color:#003638;font-size:clamp(26px,4vw,38px);line-height:1.2;margin:0 45px 26px 0}
.dmk-dialog .dmk-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dmk-dialog .dmk-details>div{background:#e3e9e8;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:5px}
.dmk-dialog .dmk-details strong{font-size:16px}.dmk-dialog .dmk-details small{font-size:13px;color:#4e6464}
.dmk-dialog .dmk-description{line-height:1.7;margin:25px 0;overflow-wrap:anywhere}
.dmk-dialog .dmk-mapbox{border-top:1px solid #e6ebeb;padding-top:18px;margin-top:20px;display:flex;flex-direction:column;gap:10px;align-items:start}
.dmk-dialog .dmk-mapbox p{margin:0}.dmk-dialog .dmk-mapbox a{color:#007d79}
.dmk-dialog .dmk-load-map,.dmk-dialog .dmk-primary{border:0;border-radius:7px;background:#008c86;color:#fff!important;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4}
.dmk-dialog .dmk-map-target{width:100%}.dmk-dialog .dmk-map-target iframe{width:100%;height:280px;border:0;border-radius:10px}
body.dmk-open-modal{overflow:hidden}
@media(max-width:767px){.dmk-calendar .dmk-head{display:none!important}.dmk-calendar button.dmk-row{grid-template-columns:1fr!important;gap:7px;padding:18px!important}.dmk-calendar .dmk-row span::before{content:attr(data-label);display:block;color:#718686;text-transform:uppercase;font-weight:700;font-size:11px;margin-bottom:2px}.dmk-dialog .dmk-panel{padding:27px 20px}.dmk-dialog .dmk-details{grid-template-columns:1fr}.dmk-calendar .dmk-empty{font-size:16px}}
@media(prefers-reduced-motion:reduce){.dmk-calendar button.dmk-row{transition:none}}

/* 0.1.2: Der vorhandene Elementor-Tabellenkopf bleibt allein stehen. */
.dmk-calendar.dmk-without-head,.elementor .dmk-calendar.dmk-without-head{border:0!important;border-radius:0!important;max-width:none!important;background:transparent!important;margin:0!important}
.dmk-calendar.dmk-without-head .dmk-empty{min-height:150px;padding:32px 20px!important;background:#fff}
.dmk-calendar.dmk-without-head button.dmk-row{padding:14px 24px!important}

/* 0.1.3: Reset theme and Elementor button styling to achieve a perfectly round close control. */
.dmk-dialog button.dmk-close,
.elementor .dmk-dialog button.dmk-close,
body .dmk-dialog .dmk-panel > button.dmk-close {
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #c9d7d5!important;
  border-radius:50%!important;
  background:#e3e9e8!important;
  color:#003638!important;
  box-shadow:none!important;
  line-height:1!important;
  font-size:0!important;
  text-align:center!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transform:none!important;
}
.dmk-dialog button.dmk-close svg {display:block!important;width:20px!important;height:20px!important;margin:0!important;padding:0!important;flex-shrink:0!important;stroke:currentColor!important;transform:none!important}
.dmk-dialog button.dmk-close:hover {background:#cde5e2!important;border-color:#008c86!important;color:#003638!important}
.dmk-dialog button.dmk-close:focus-visible {outline:3px solid #008c86!important;outline-offset:3px!important}
.dmk-dialog .dmk-mapbox {width:100%}
.dmk-dialog .dmk-map-target {width:100%;max-width:100%;}
.dmk-dialog .dmk-map-target iframe {display:block;width:100%;min-height:300px;}
