.dks-wir-trauern {
  --dks-green: #123f35;
  --dks-green-soft: #edf3f0;
  --dks-gold: #c4a139;
  --dks-ink: #233238;
  --dks-muted: #607076;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(1rem, 3vw, 2.5rem) 0;
  color: var(--dks-ink);
  font-family: inherit;
}

.dks-annual-plans { --dks-plan-green:#123f35; --dks-plan-gold:#c4a139; display:grid; gap:2rem; margin:2rem 0; }
.dks-annual-plan { overflow:hidden; border:1px solid #d8e2de; border-radius:16px; background:#fff; box-shadow:0 12px 32px rgba(18,63,53,.08); }
.dks-annual-plan > header { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1.35rem 1.5rem; border-bottom:3px solid var(--dks-plan-gold); background:linear-gradient(135deg,#123f35,#205f4f); color:#fff; }
.dks-annual-plan > header span { display:block; margin-bottom:.2rem; color:#e5d69c; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.dks-annual-plan > header h2 { margin:0; color:#fff; font-size:clamp(1.35rem,3vw,1.9rem); }
.dks-annual-plan > header a { flex:none; border:1px solid rgba(255,255,255,.48); border-radius:999px; padding:.65rem .9rem; color:#fff; font-size:.86rem; font-weight:700; text-decoration:none; }
.dks-annual-plan__events { display:grid; gap:0; padding:.35rem 1.5rem 1.25rem; }
.dks-annual-plan__event { display:grid; grid-template-columns:64px minmax(0,1fr); gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid #e6ece9; }
.dks-annual-plan__event:last-child { border-bottom:0; }
.dks-annual-plan__event time { display:grid; place-items:center; min-height:58px; border-radius:10px; background:#edf4f1; color:var(--dks-plan-green); text-align:center; }
.dks-annual-plan__event time strong { font-size:1.35rem; line-height:1; }
.dks-annual-plan__event time span { font-size:.76rem; font-weight:800; text-transform:uppercase; }
.dks-annual-plan__event h3 { margin:0 0 .25rem; color:var(--dks-plan-green); font-size:1.05rem; }
.dks-annual-plan__event p,.dks-annual-plan__event small { display:block; margin:0; color:#5d6d67; line-height:1.55; }
.dks-annual-plan__empty { margin:0; padding:1.5rem; color:#61716b; }
@media (max-width:640px) { .dks-annual-plan > header { align-items:flex-start; flex-direction:column; } .dks-annual-plan__events { padding-inline:1rem; } }

.dks-wir-trauern__opening {
  max-width: 820px;
  margin: 0 auto clamp(2.2rem, 5vw, 4rem);
  text-align: center;
}

.dks-wir-trauern__symbol {
  margin-bottom: .65rem;
  color: var(--dks-gold);
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  line-height: 1;
}

.dks-wir-trauern__opening h2 {
  margin: 0 0 1rem;
  color: var(--dks-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 600;
  letter-spacing: -.02em;
}

.dks-wir-trauern__opening p {
  margin: 0;
  color: var(--dks-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 2vw, 1.22rem);
  line-height: 1.8;
}

.dks-wir-trauern__rule {
  width: 94px;
  margin: 1.8rem auto 0;
  border-top: 2px solid var(--dks-gold);
}

.dks-wir-trauern__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.7rem);
}

.dks-wir-trauern__group {
  break-inside: avoid;
  padding: clamp(1.15rem, 2.4vw, 1.65rem);
  border: 1px solid #dce3df;
  border-left: 4px solid var(--dks-gold);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(145deg, #fff 0%, #f7f8f5 100%);
  box-shadow: 0 8px 28px rgba(18, 63, 53, .06);
}

.dks-wir-trauern__group h3 {
  margin: 0 0 .85rem;
  color: var(--dks-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 2.5vw, 1.42rem);
  font-weight: 600;
}

.dks-wir-trauern__group ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dks-wir-trauern__group li {
  padding: .65rem 0;
  border-bottom: 1px solid #dfe4e1;
  font-weight: 650;
  line-height: 1.45;
}

.dks-wir-trauern__closing {
  margin: clamp(2.8rem, 6vw, 5rem) auto 0;
  text-align: center;
  color: var(--dks-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-style: italic;
}

.dks-wir-trauern__closing .dks-wir-trauern__symbol {
  margin-bottom: .8rem;
  font-size: 1.35rem;
  font-style: normal;
}

.dks-wir-trauern__closing p,
.dks-wir-trauern__empty {
  margin: 0;
}

.dks-wir-trauern__empty {
  padding: 2rem;
  border: 1px solid #dce3df;
  border-radius: 12px;
  background: var(--dks-green-soft);
  text-align: center;
}

@media (max-width: 780px) {
  .dks-wir-trauern__groups {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .dks-wir-trauern__group ul {
    grid-template-columns: 1fr;
  }
}

@media print {
  .dks-wir-trauern__group {
    box-shadow: none;
  }
}

.dks-poll {
  --dks-poll-navy:#0b3038;
  --dks-poll-green:#1f6b50;
  --dks-poll-gold:#dfaf36;
  overflow:hidden;
  max-width:900px;
  margin:clamp(1.25rem,4vw,3rem) auto;
  border:1px solid #cddbd5;
  border-radius:20px;
  background:#fff;
  color:#183039;
  box-shadow:0 18px 45px rgba(11,48,56,.11);
}
.dks-poll > header { padding:clamp(1.5rem,5vw,3rem); border-bottom:4px solid var(--dks-poll-gold); color:#fff; background:radial-gradient(circle at 88% 0,rgba(223,175,54,.22),transparent 34%),linear-gradient(118deg,var(--dks-poll-navy),#154d4d 64%,#286348); }
.dks-poll > header span { display:block; margin-bottom:.65rem; color:#f3d36f; font-size:.76rem; font-weight:800; letter-spacing:.12em; }
.dks-poll > header h2 { margin:0 0 .75rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,5vw,2.8rem); line-height:1.12; }
.dks-poll > header p { max-width:720px; margin:0; color:#e0ece8; font-size:1rem; line-height:1.65; }
.dks-poll__form { display:grid; gap:1rem; padding:clamp(1.15rem,4vw,2.25rem); }
.dks-poll__question { margin:0; padding:1rem; border:1px solid #d7e2dd; border-radius:13px; background:linear-gradient(135deg,#fff,#f5f9f7); }
.dks-poll__question legend,.dks-poll__comment > span { color:#123f35; font-weight:750; line-height:1.4; }
.dks-poll__question legend span { color:#a43f34; }
.dks-poll__question small,.dks-poll__comment small { display:block; margin-top:.55rem; color:#687a77; font-size:.78rem; }
.dks-poll__rating,.dks-poll__choices { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.75rem; }
.dks-poll__rating label,.dks-poll__choices label { cursor:pointer; }
.dks-poll__rating input,.dks-poll__choices input { position:absolute; opacity:0; pointer-events:none; }
.dks-poll__rating span,.dks-poll__choices span { display:grid; min-width:48px; min-height:42px; place-items:center; border:1px solid #bdcec7; border-radius:10px; padding:.55rem .8rem; background:#fff; color:#23463e; font-weight:750; transition:.15s ease; }
.dks-poll__choices span { min-width:92px; }
.dks-poll__rating input:checked + span,.dks-poll__choices input:checked + span { border-color:var(--dks-poll-gold); color:#173239; background:#f5dda0; box-shadow:0 0 0 3px rgba(223,175,54,.2); }
.dks-poll__rating input:focus-visible + span,.dks-poll__choices input:focus-visible + span { outline:3px solid rgba(31,107,80,.28); outline-offset:2px; }
.dks-poll__comment { display:grid; gap:.55rem; padding:1rem; border:1px solid #d7e2dd; border-radius:13px; background:#fff; }
.dks-poll__comment textarea,.dks-poll__comment input,.dks-poll__comment select { width:100%; min-height:44px; border:1px solid #bfcfc9; border-radius:10px; padding:.8rem; color:#183039; background:#fff; font:inherit; }
.dks-poll__comment textarea { resize:vertical; }
.dks-poll__privacy { display:flex; gap:.7rem; align-items:flex-start; border-left:4px solid var(--dks-poll-gold); border-radius:10px; padding:.85rem 1rem; color:#48635b; background:#f3f7f5; font-size:.82rem; line-height:1.5; }
.dks-poll__privacy strong { flex:none; color:#174c3e; }
.dks-poll__form > button { justify-self:start; min-height:46px; border:0; border-radius:999px; padding:.75rem 1.25rem; color:#fff; background:linear-gradient(135deg,#28765a,#185842); font-weight:800; box-shadow:0 8px 18px rgba(31,107,80,.18); cursor:pointer; }
.dks-poll__form > button:disabled { opacity:.55; cursor:not-allowed; }
.dks-poll__preview-note { margin:1.25rem clamp(1.15rem,4vw,2.25rem) 0; border-left:4px solid var(--dks-poll-gold); padding:.75rem 1rem; color:#5b4a18; background:#fff6d7; font-weight:700; }
.dks-poll__result { display:grid; gap:1rem; padding:clamp(1.5rem,5vw,2.75rem); text-align:center; }
.dks-poll__result > strong { color:#123f35; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; }
.dks-poll__result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dks-poll__result-grid span { display:grid; gap:.3rem; border:1px solid #d2dfda; border-left:4px solid var(--dks-poll-gold); border-radius:12px; padding:1rem; color:#536b64; background:#f7faf8; }
.dks-poll__result-grid b { color:#174c3e; font-size:1.55rem; }
.dks-poll__result p { margin:0; color:#60736e; }
.dks-poll__public-summary { display:grid; gap:.7rem; text-align:left; }
.dks-poll__public-summary > div { display:grid; gap:.2rem; border:1px solid #d2dfda; border-left:4px solid var(--dks-poll-gold); border-radius:12px; padding:.85rem 1rem; background:#f7faf8; }
.dks-poll__public-summary strong { color:#174c3e; }
.dks-poll__public-summary span { color:#60736e; }
.dks-poll__trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.dks-poll-hint { position:fixed; right:18px; bottom:18px; z-index:9998; max-width:340px; border:1px solid rgba(255,255,255,.34); border-radius:16px; background:linear-gradient(135deg,#0b3038,#1d624b); box-shadow:0 16px 40px rgba(6,35,42,.25); }
.dks-poll-hint a { display:grid; gap:.18rem; padding:.9rem 1.05rem; color:#fff; text-decoration:none; }
.dks-poll-hint strong { color:#f2cb55; font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
.dks-poll-hint span { line-height:1.35; }
.dks-poll-hint b { margin-top:.25rem; font-size:.82rem; }
@media (max-width:600px) { .dks-poll__privacy { flex-direction:column; } .dks-poll__result-grid { grid-template-columns:1fr; } .dks-poll__rating span { min-width:42px; } }
@media (max-width:600px) { .dks-poll-hint { right:10px; bottom:10px; left:10px; max-width:none; } }

