/* Base tokens */
.dcal-listing { --gap:40px; --radius:12px; --border:#e5e7eb; --muted:#6b7280; --muted-bg:#f9fafb; --ink:#111827; }
.dcal-filters { display:flex; flex-wrap:wrap; gap:.75rem 1rem; margin:0 0 1rem; align-items:flex-end;     justify-content: space-between;}
.dcal-filter { display:flex; flex-direction:column; gap:.35rem; min-width:160px; }
.dcal-filter input, .dcal-filter select { padding:.55rem .7rem; border:1px solid var(--border); border-radius:8px; background: transparent;}
.dcal-filter select{
    background-image: linear-gradient(45deg, transparent 50%, green 50%), linear-gradient(135deg, green 50%, transparent 50%)!important;
    background-size: 5px 4px, 4px 4px;
    background-repeat: no-repeat;
    background-position: calc(100% - 14px), calc(100% - 10px);
    -webkit-appearance: none;
    appearance: none;
    padding-right: 25px!important;
}
.dcal-filter-actions { display:flex; gap:.5rem; margin-left:auto; }
.dcal-btn { padding:.6rem .9rem; border:1px solid var(--border); border-radius:0px; background:#fff; cursor:pointer; font:inherit; }
.dcal-btn--apply { background:#00663A; color:#fff; border-color: transparent; }
.dcal-btn--more { margin:1rem auto 0; display:inline-block; background: #00663A; color: white;}
.dcal-meta-bar { display:flex; justify-content:space-between; align-items:center; margin:.25rem 0 1rem; font-size:.95rem; color:var(--muted); }
.dcal-spinner::after { content:""; width:18px; height:18px; border:2px solid var(--border); border-top-color: #00663A; border-radius:50%; display:inline-block; animation:dcal-spin 1s linear infinite; }
.dcal-spinner--more::after { width:12px; height:12px; position: relative; top: 3px;}
@keyframes dcal-spin { to { transform:rotate(360deg); } }

.dcal-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(301px, 1fr)); gap: var(--gap); }
.dcal-card { border:1px solid var(--border); overflow:hidden; background:#fff; display:flex; flex-direction:column; border-radius: 4px;box-shadow: 0px 1px 4px rgba(17,17,26,0.05), 0px 0px 8px rgba(17,17,26,0.1)}
.dcal-card__image { display:block; overflow: hidden;}
.dcal-card__image img { transition: all .4s; }
.dcal-card:hover .dcal-card__image img { transform:scale(1.05); }
.dcal-card__img { display:block; width:100%; height:273px; object-fit:cover; }
.dcal-card__body { display:grid; gap:.5rem; padding:10px; padding-bottom: 7px; height: calc(100% - 273px);}
.dcal-card__location { display:inline-flex; align-items:center; gap:.4rem; color:#00663A; font-size:13px; max-height: fit-content;}
.dcal-icon--location { display:inline-block; }
.dcal-icon--location path{fill: #00663A}
.dcal-card__title { margin:.25rem 0 0; font-size:18px; font-weight: 500; line-height:1.3; padding-bottom: 13px;}
.dcal-card__title-link:hover {color: #00663A!important }
.dcal-card__title-link { text-decoration:none; color:inherit; color: #000000!important; text-shadow: none;     font-weight: 570;}
.dcal-card__specs { display:flex; flex-wrap:wrap; gap:.25rem .5rem; align-items:baseline; color: rgba(0,0,0,1)!important;     align-items: end; font-size: 13px;}
.dcal-card__sep { opacity:.6; }
.dcal-card__cta { margin-top:.25rem; display:inline-block; text-decoration:none; background: #00663A; width: fit-content; padding: 5px 9px 5px 9px; color: white; display: none!important;}
.dcal-card__location-text{margin-top: 1px;     text-shadow: none!important; font-weight: 450; }
.dcal-empty { background:var(--muted-bg); padding:1rem; border-radius:8px;     padding-bottom: 1rem!important;}


/* =========================
   Mobile Slider für dcal cards
   Desktop bleibt unverändert
========================= */

@media (max-width: 767px) {
  .dcal-listing--latest {
    position: relative;
  }

  .dcal-listing--latest .dcal-grid {
    display: flex;
    gap: 0;
    /*overflow: hidden;*/
    width: 100%;
    transition: transform 0.45s ease;
    will-change: transform;
    touch-action: pan-y;
  }

  .dcal-listing--latest .dcal-card {
    min-width: 100%;
    width: 100%;
    flex: 0 0 100%;
    margin: 0;
    transform: scale(1);
    opacity: 0.72;
    transition:
      transform 0.45s ease,
      opacity 0.45s ease,
      box-shadow 0.35s ease;
  }

  .dcal-listing--latest .dcal-card.is-active {
    transform: scale(1);
    opacity: 1;
  }

  .dcal-listing--latest .dcal-card__img {
    height: 240px;
  }

  .dcal-listing--latest .dcal-slider-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
  }

  .dcal-listing--latest .dcal-slider-arrow {
    display: none!important;
    width: 42px;
    height: 42px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: #fff;
    color: #00663A;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0px 1px 4px rgba(17,17,26,0.05), 0px 0px 8px rgba(17,17,26,0.08);
    transition:
      transform 0.25s ease,
      background 0.25s ease,
      color 0.25s ease,
      box-shadow 0.25s ease,
      opacity 0.25s ease;
  }

  .dcal-listing--latest .dcal-slider-arrow:hover {
    background: #00663A;
    color: #fff;
    transform: translateY(-1px) scale(1.06);
    box-shadow: 0px 4px 14px rgba(0,102,58,0.18);
  }

  .dcal-listing--latest .dcal-slider-arrow:active {
    transform: scale(0.96);
  }

  .dcal-listing--latest .dcal-slider-arrow[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
  }

  .dcal-listing--latest .dcal-slider-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .dcal-listing--latest .dcal-slider-dot {
    width: 4px;
    height: 4px;
    border: 0;
    border-radius: 999px;
    background: rgba(0,102,58,0.22);
    padding: 0;
    cursor: pointer;
    transition:
      transform 0.3s ease,
      background 0.3s ease,
      width 0.3s ease,
      opacity 0.3s ease;
  }

  .dcal-listing--latest .dcal-slider-dot:hover {
    transform: scale(1.15);
    background: rgba(0,102,58,0.5);
  }

  .dcal-listing--latest .dcal-slider-dot.is-active {
    width: 28px;
    background: #00663A;
  }

  .dcal-listing--latest .dcal-slider-viewport {
    overflow: hidden;
    width: 100%;
  }
  .dcal-slider-viewport{
        box-shadow: rgba(17, 17, 26, 0.05) 0px 1px 4px, rgba(17, 17, 26, 0.1) 0px 0px 8px;
        border-radius: 4px;
  }
}

.dcal-mehr-wrapper{

}
.dcal-mehr-button{
  padding: 7px 18px;

}
.dcal-mehr-button:hover{
  padding-right: 30px!important;
  padding-left: 18px!important;
  padding-top: 7px!important;
  padding-bottom: 7px!important;

}
.dcal-mehr-div{
      font-size: 32px;
    font-family: 'Playfair Display', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
          display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 25px;
}