.dvh-naehrwerttabelle{
  --dvh-bg: #F7F7F4;
  --dvh-bg-card: #FFFFFF;
  --dvh-ink: #2B2B2B;
  --dvh-ink-soft: #6B6B6B;
  --dvh-line: #E2E2DD;
  --dvh-green: #33502D;
  --dvh-green-soft: #4C7A34;
  --dvh-gold: #C9973B;
  --dvh-rust: #B06A3A;
  --dvh-slate: #5C7A73;

  font-family:'Open Sans', sans-serif;
  color:var(--dvh-ink);
  background:var(--dvh-bg);
  padding:20px;
  border-radius:12px;
}
.dvh-naehrwerttabelle *{box-sizing:border-box;}

.dvh-naehrwerttabelle h1,
.dvh-naehrwerttabelle h2,
.dvh-naehrwerttabelle h3{
  font-family:'Merriweather', serif;
  margin:0;
}

.dvh-nw-heading{
  font-family:'Merriweather', serif;
  font-weight:700;
  font-size:20px;
  color:var(--dvh-green-soft);
  display:inline-block;
  padding-bottom:8px;
  border-bottom:3px solid var(--dvh-gold);
  margin-bottom:18px;
}

.dvh-nw-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.dvh-nw-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.dvh-nw-pill{
  font-family:'Open Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.03em;
  text-transform:uppercase;
  padding:8px 14px;
  border-radius:8px;
  border:1px solid var(--dvh-line);
  background:var(--dvh-bg-card);
  color:var(--dvh-ink-soft);
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.dvh-nw-pill:hover{border-color:var(--dvh-green-soft);}
.dvh-nw-pill.is-active{
  background:var(--dvh-green);
  border-color:var(--dvh-green);
  color:#fff;
}

.dvh-nw-season-toggle{
  font-family:'Open Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  padding:8px 14px;
  border-radius:8px;
  border:1px solid var(--dvh-gold);
  background:var(--dvh-bg-card);
  color:var(--dvh-gold);
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease, color .15s ease;
}
.dvh-nw-season-toggle.is-active{
  background:var(--dvh-gold);
  color:#fff;
}

.dvh-nw-search-wrap{
  position:relative;
  flex:1 1 200px;
  max-width:260px;
  margin-left:auto;
}
.dvh-nw-search-wrap input{
  width:100%;
  font-family:'Open Sans', sans-serif;
  font-size:14px;
  padding:9px 14px;
  border-radius:8px;
  border:1px solid var(--dvh-line);
  background:var(--dvh-bg-card);
  color:var(--dvh-ink);
  outline:none;
}
.dvh-nw-search-wrap input:focus{border-color:var(--dvh-green-soft);}

.dvh-nw-result-count{
  font-size:11.5px;
  color:var(--dvh-ink-soft);
  margin:0 0 10px;
}

.dvh-nw-table-wrap{
  overflow-x:auto;
  overflow-y:auto;
  max-height:640px;
  border:1px solid var(--dvh-line);
  border-radius:12px;
  background:var(--dvh-bg-card);
}

.dvh-nw-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:640px;
}
.dvh-nw-table thead th{
  font-family:'Open Sans', sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--dvh-ink-soft);
  text-align:left;
  padding:12px 14px;
  border-bottom:2px solid var(--dvh-line);
  white-space:nowrap;
  position:sticky;
  top:0;
  z-index:2;
  background:var(--dvh-bg-card);
  box-shadow:0 1px 0 var(--dvh-line);
}
.dvh-nw-sortable{cursor:pointer; user-select:none;}
.dvh-nw-sortable:hover{color:var(--dvh-green-soft);}
.dvh-nw-sortable.is-sorted{color:var(--dvh-green);}
.dvh-nw-sortable.is-sorted::after{content:" ▲";}
.dvh-nw-sortable.is-sorted.is-desc::after{content:" ▼";}

.dvh-nw-table tbody tr{
  border-bottom:1px solid var(--dvh-line);
  transition:background .1s ease;
}
.dvh-nw-table tbody tr:hover{background:var(--dvh-bg);}
.dvh-nw-table tbody tr:last-child{border-bottom:none;}

.dvh-nw-table td{
  padding:12px 14px;
  font-size:13.5px;
  vertical-align:middle;
}
.dvh-nw-num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.dvh-nw-name-cell strong{
  display:block;
  font-family:'Merriweather', serif;
  font-size:14.5px;
  color:var(--dvh-ink);
}
.dvh-nw-name-cell{
  display:table-cell;
}
.dvh-nw-icon{
  display:inline-block;
  margin-right:8px;
  font-size:16px;
  vertical-align:-2px;
}

.dvh-nw-table tbody tr{
  scroll-margin-top:80px;
}
.dvh-nw-table tbody tr.is-highlighted{
  animation:dvh-nw-flash 2.6s ease-out;
}
@keyframes dvh-nw-flash{
  0%   { background:rgba(201,151,59,0.35); }
  100% { background:transparent; }
}

.dvh-nw-mini-bar{
  display:flex;
  gap:2px;
  margin-bottom:5px;
  min-width:110px;
}
.dvh-nw-mini-cell{
  flex:1;
  height:7px;
  border-radius:2px;
  background:var(--dvh-line);
  position:relative;
}
.dvh-nw-mini-cell.is-on.dvh-season-winter{background:var(--dvh-slate);}
.dvh-nw-mini-cell.is-on.dvh-season-fruehling{background:var(--dvh-green-soft);}
.dvh-nw-mini-cell.is-on.dvh-season-sommer{background:var(--dvh-gold);}
.dvh-nw-mini-cell.is-on.dvh-season-herbst{background:var(--dvh-rust);}
.dvh-nw-mini-cell.is-today::after{
  content:"";
  position:absolute;
  left:50%; top:-4px;
  width:3px; height:3px;
  border-radius:50%;
  background:var(--dvh-ink);
  transform:translateX(-50%);
}

.dvh-nw-link{
  font-family:'Open Sans', sans-serif;
  font-size:11px;
  font-weight:600;
  color:var(--dvh-green-soft);
  text-decoration:none;
  white-space:nowrap;
}
.dvh-nw-link:hover{text-decoration:underline;}

.dvh-nw-empty{
  display:none;
  text-align:center;
  padding:40px 20px;
  color:var(--dvh-ink-soft);
  font-size:13.5px;
}
.dvh-nw-empty.is-visible{display:block;}

.dvh-nw-footnote{
  margin-top:14px;
  font-size:11px;
  color:var(--dvh-ink-soft);
  line-height:1.5;
}

@media(max-width:640px){
  .dvh-nw-search-wrap{margin-left:0; max-width:100%; flex-basis:100%;}
}
