/* Thieles Wochenkarte v2.1 – all rules scoped to .thw */
.thw{--thw-green:#8cbe4f;--thw-green-deep:#4f812f;--thw-dark:#293d28;--thw-muted:#737b6e;--thw-line:#e4eadd;--thw-soft:#f4f8ef;color:#303830;font-family:inherit;max-width:1100px;margin:0 auto}
.thw *{box-sizing:border-box}.thw [hidden]{display:none!important}
.thw-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 26px;padding:30px 34px;background:linear-gradient(110deg,#f1f7e9 0%,#fbfcf8 100%);border:1px solid #e5edda;border-radius:18px;position:relative;overflow:hidden}
.thw-header-copy{position:relative;z-index:1}.thw-kicker{display:block;color:#659738;font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:750;margin-bottom:9px}
.thw-header h2{font-size:clamp(27px,3.4vw,39px);font-weight:750;line-height:1.15;color:var(--thw-dark);margin:0 0 12px;padding:0}.thw-header p{font-size:15px;line-height:1.6;margin:0;color:#64725d;max-width:580px}
.thw-header-symbol{width:90px;height:90px;flex:none;border-radius:50%;background:#e1efd3;color:#79ad45;display:flex;align-items:center;justify-content:center;font-size:62px;line-height:1;transform:rotate(-13deg)}
.thw-tabs{display:flex;gap:10px;margin:0 0 24px;border:0;flex-wrap:wrap}.thw-tabs button{appearance:none!important;border:1px solid #dce6d4!important;border-radius:11px!important;background:#fff!important;color:#42513d!important;padding:13px 22px!important;cursor:pointer;font:inherit!important;font-size:15px!important;font-weight:700!important;line-height:1.3!important;box-shadow:none!important;transition:background .15s,color .15s,border-color .15s}
.thw-tabs button small{font-size:12px;font-weight:500;opacity:.8;margin-left:7px}.thw-tabs button.is-active,.thw-tabs button[aria-selected="true"]{background:var(--thw-green-deep)!important;border-color:var(--thw-green-deep)!important;color:#fff!important}.thw-tabs button:hover:not(.is-active){background:#f4f8ef!important}.thw-tabs button:focus-visible{outline:3px solid #93c55b;outline-offset:3px}
.thw-week-period{display:flex;align-items:center;gap:9px;font-size:14px;color:#697766;font-weight:700;margin:0 0 18px}.thw-week-period:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--thw-green)}
.thw-days{display:grid;gap:13px}.thw-day{display:grid;grid-template-columns:185px minmax(0,1fr);border:1px solid var(--thw-line);border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(39,62,29,.035);transition:border-color .15s,box-shadow .15s}.thw-day:hover{border-color:#b9d5a1;box-shadow:0 5px 22px rgba(39,62,29,.07)}
.thw-day.thw-today{border-color:#8cbe4f;box-shadow:0 0 0 1px #8cbe4f,0 7px 24px rgba(93,142,48,.1)}.thw-day-label{background:var(--thw-soft);padding:19px 22px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-right:1px solid #e8eee2}.thw-day-label strong{color:var(--thw-dark);font-size:16px;font-weight:750}.thw-day-label span{color:#7b8675;font-size:13px}.thw-day-label em{font-size:11px;color:#fff;background:#6c9e3d;border-radius:100px;font-style:normal;font-weight:750;padding:4px 11px;align-self:flex-start;margin-top:5px}
.thw-today .thw-day-label{background:#e5f2d9}.thw-day-meals{padding:16px 25px;align-self:center;min-width:0}.thw-meal{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:7px 0;line-height:1.5;font-size:15px}.thw-meal span{min-width:0}.thw-meal strong{white-space:nowrap;color:var(--thw-green-deep);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}.thw-closed{margin:3px 0;color:#899286;font-style:italic;font-size:15px}.thw-day-hint{margin:10px 0 0;font-size:13px;color:#74816d}.thw-general-note{padding:17px 21px;background:#f3f8ec;border-left:4px solid var(--thw-green);border-radius:9px;margin-top:22px;line-height:1.6}.thw-empty{padding:32px 22px;border:1px dashed #d4dfce;border-radius:12px;color:#6a7566}
.thw-offers{margin-top:55px;padding-top:28px;border-top:1px solid var(--thw-line)}.thw-section-heading{margin-bottom:22px}.thw-section-heading h3{font-size:clamp(24px,3vw,31px);font-weight:750;line-height:1.2;color:var(--thw-dark);margin:0;padding:0}.thw-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.thw-offer{background:#fff;border:1px solid var(--thw-line);border-radius:15px;padding:25px;min-width:0;box-shadow:0 5px 20px rgba(39,62,29,.035)}.thw-offer h4{font-size:19px;line-height:1.35;color:var(--thw-dark);margin:0 0 13px;padding:0;font-weight:750}.thw-offer-feature{background:linear-gradient(125deg,#edf6e5,#f8fbf5);border-color:#d8e9c8}.thw-offer-description{color:#505b4d;line-height:1.65}.thw-offer-description p{margin:0 0 9px}.thw-offer-description ul{margin:8px 0 0 20px}.thw-feature-price{font-weight:800;color:var(--thw-green-deep);font-size:25px;margin:15px 0 0}.thw-feature-price del{font-size:15px;font-weight:400;color:#899087;margin-left:8px}.thw-offer-list{list-style:none!important;padding:0!important;margin:0!important}.thw-offer-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #e9eee4;line-height:1.5}.thw-offer-list li:first-child{border:0}.thw-offer-list strong{color:var(--thw-green-deep);font-weight:750;white-space:nowrap}.thw-offer-friday{text-align:center;border-color:#b8d49c;background:#f9fcf6;display:flex;flex-direction:column;justify-content:center}.thw-offer-friday strong{font-size:22px;color:var(--thw-green-deep)}.thw-offer-icon{font-size:29px;color:#79ae46;float:right;margin-left:10px}
@media(max-width:700px){.thw-header{padding:23px 20px;border-radius:13px}.thw-header-symbol{display:none}.thw-header h2{font-size:28px}.thw-tabs{gap:8px}.thw-tabs button{padding:12px 10px!important;flex:1;font-size:13px!important}.thw-tabs button small{display:block;margin:3px 0 0}.thw-day{grid-template-columns:1fr}.thw-day-label{padding:13px 17px;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;border-right:0;border-bottom:1px solid #e8eee2}.thw-day-label span{margin-left:auto}.thw-day-label em{margin:0}.thw-day-meals{padding:12px 17px}.thw-meal{font-size:14px;gap:12px}.thw-meal strong{font-size:14px}.thw-offer-grid{grid-template-columns:1fr}.thw-offer{padding:20px}.thw-offers{margin-top:40px}}
@media(max-width:380px){.thw-day-label span{margin-left:0}.thw-offer-list li{flex-wrap:wrap}.thw-header p{font-size:14px}}

/* Version 2.2: optionale Beilage unter dem Gericht */
.thw .thw-meal-copy{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.thw .thw-meal-extra{display:block;color:#71816b;font-size:13px;font-weight:400;line-height:1.45}

/* v2.4: handschriftliche Divi-Hero-Ueberschrift (ausserhalb des Shortcodes) */
.handwritten {
    font-family: 'Caveat', cursive;
    font-size: 1.7em;
    font-weight: 600;
    line-height: .85;
    color: #5b8535;
    display: inline-block;
    transform: rotate(-3deg);
    margin-top: -5px;
    margin-bottom: 15px;
    position: relative;
}
.handwritten::after {
    content: "";
    position: absolute;
    left: 4%;
    bottom: -9px;
    width: 92%;
    height: 10px;
    border-bottom: 3px solid #78a84b;
    border-radius: 0 0 50% 50%;
    transform: rotate(-2deg);
    pointer-events: none;
}
/* Preis-Badges in der Tageskarte */
.thw .thw-meal > strong {
    flex: 0 0 auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    align-self: center;
    min-width: 84px;
    padding: 6px 13px;
    border-radius: 999px;
    background: #eef4e8;
    color: #4f812f;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.3;
    text-align: center;
}
.thw .thw-meal + .thw-meal { border-top: 1px dashed #e5ebdf; }
.thw .thw-meal { align-items: center; }
@media (max-width: 700px) {
    .thw .thw-meal { gap: 10px; }
    .thw .thw-meal > strong { min-width: 75px; padding: 6px 10px; font-size: 14px; }
}
@media (max-width: 380px) {
    .thw .thw-meal > strong { min-width: 68px; padding: 5px 8px; font-size: 13px; }
}

/* v2.5: Kompakte zweispaltige Tageskarten auf breiten Ansichten. */
@media (min-width: 901px) {
  .thw .thw-days {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
  }
  .thw .thw-day {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
  }
  .thw .thw-day-label {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px 12px;
    padding: 12px 17px;
    border-right: 0;
    border-bottom: 1px solid #e8eee2;
  }
  .thw .thw-day-label strong { font-size: 15px; }
  .thw .thw-day-label span { font-size: 12px; margin-left: auto; }
  .thw .thw-day-label em { margin: 0; padding: 3px 9px; }
  .thw .thw-day-meals {
    align-self: stretch;
    padding: 12px 17px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .thw .thw-meal { gap: 10px; padding: 7px 0; font-size: 14px; }
  .thw .thw-meal > strong { min-width: 76px; font-size: 13px; padding: 5px 10px; }
  .thw .thw-meal-extra { font-size: 12px; }
  .thw .thw-closed { font-size: 14px; }
}
/* Auch in schmalen Divi-Spalten keine zwei Karten erzwingen. */
@supports (container-type: inline-size) {
  .thw { container-type: inline-size; }
  @container (max-width: 660px) {
    .thw .thw-days { grid-template-columns: 1fr; }
    .thw .thw-day { display: grid; grid-template-columns: 1fr; }
  }
}

/* 2.6: Auffaelliger Zeitraum beim Wochenwechsel */
.thw .thw-week-period{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 20px;padding:17px 20px;background:#fff;border:1px solid #e0e8d9;border-radius:13px;color:#293d27;box-shadow:0 3px 15px rgba(31,54,25,.035)}
.thw .thw-week-period::before{display:none}
.thw .thw-week-period-kicker{font-size:11px;letter-spacing:.095em;font-weight:800;color:#62873d;line-height:1.5}
.thw .thw-week-calendar{font-size:16px;vertical-align:-1px;margin-right:4px}
.thw .thw-week-period-date{font-size:clamp(23px,2.8vw,34px);font-weight:800;line-height:1.2;letter-spacing:-.025em;color:#293d27}
.thw .thw-week-period-status{font-size:13px;color:#788476;font-weight:500}
@media(max-width:767px){.thw .thw-week-period{padding:14px 16px;margin-bottom:15px}.thw .thw-week-period-date{font-size:clamp(21px,5.3vw,28px)}}

/* 2.7: Wochenbezogener PDF-Download neben dem Datum. */
.thw .thw-week-period{flex-direction:row;align-items:center;justify-content:space-between;gap:18px}
.thw .thw-week-period-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.thw .thw-pdf-download{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;max-width:100%;padding:12px 16px;border:1px solid #d6e4cc;border-radius:11px;background:#f5f9f1;color:#355b28;text-decoration:none;line-height:1.3;transition:background .2s,border-color .2s}
.thw a.thw-pdf-download:hover,.thw a.thw-pdf-download:focus-visible{background:#eaf3e2;border-color:#87ac68;color:#284c20}
.thw .thw-pdf-download strong{display:block;font-size:13px;font-weight:750;color:inherit}
.thw .thw-pdf-download small{display:block;font-size:11px;margin-top:3px;color:#6d8466}
.thw .thw-pdf-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#e1edd8;color:#4e7e34;font-size:22px;font-weight:700}
.thw .thw-pdf-placeholder{opacity:.6;cursor:default;background:#f8faf6}
@media(max-width:767px){.thw .thw-week-period{flex-direction:column;align-items:stretch;gap:14px}.thw .thw-pdf-download{width:100%;justify-content:flex-start}}

/* 2.8: Ruhigere Tageskarten und moderner PDF-Download */
.thw .thw-pdf-download,
.thw a.thw-pdf-download {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 17px;min-height:48px;border:1px solid #4d802e;
  border-radius:11px;background:#4e802f;color:#fff!important;
  box-shadow:0 5px 14px rgba(54,97,37,.12);
  font-size:13px;font-weight:750;line-height:1.25;text-decoration:none!important;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.thw a.thw-pdf-download:hover,.thw a.thw-pdf-download:focus-visible {
  background:#386523;color:#fff!important;border-color:#386523;
  box-shadow:0 7px 18px rgba(54,97,37,.18);transform:translateY(-1px);
}
.thw .thw-pdf-icon {display:block;width:22px;height:22px;flex:0 0 22px;border-radius:0;background:transparent;color:currentColor}
.thw .thw-pdf-arrow {font-size:17px;line-height:1;opacity:.75;margin-left:2px}
.thw .thw-days {gap:10px 12px}
.thw .thw-day {box-shadow:none;border-color:#e6eade;border-radius:11px}
.thw .thw-day:hover {box-shadow:0 3px 12px rgba(39,62,29,.04)}
.thw .thw-day.thw-today {box-shadow:inset 0 0 0 1px #8cbe4f}
.thw .thw-day-label {background:#f7f9f4}
.thw .thw-today .thw-day-label {background:#e5f2d9}
.thw .thw-day-meals {background:#fff}
@media(max-width:767px) {
  .thw .thw-pdf-download {width:100%;justify-content:center}
  .thw .thw-days {gap:11px}
}


/* v2.9 – Luftiger Seitenrand auf Smartphones und kompakte Wochenangebote */
.thw .thw-offers { margin-top: 32px; padding-top: 23px; }
.thw .thw-section-heading { margin-bottom: 15px; }
.thw .thw-offer-grid { gap: 10px 12px; align-items: stretch; }
.thw .thw-offer { padding: 17px 19px; border-radius: 11px; box-shadow: none; }
.thw .thw-offer h4 { font-size: 16px; margin-bottom: 8px; line-height: 1.3; }
.thw .thw-offer-description { line-height: 1.45; font-size: 13px; }
.thw .thw-offer-description p { margin-bottom: 5px; }
.thw .thw-offer-description ul { margin-top: 5px; }
.thw .thw-feature-price { font-size: 21px; margin-top: 8px; }
.thw .thw-feature-price del { font-size: 12px; }
.thw .thw-offer-list li { padding: 7px 0; gap: 12px; line-height: 1.4; font-size: 13px; }
.thw .thw-offer-friday strong { font-size: 19px; }
.thw .thw-offer-icon { font-size: 22px; }
@media (max-width: 767px) {
  /* Gilt nur für den Shortcode, nicht für den separat in Divi angelegten Hero. */
  .thw { box-sizing: border-box; width: 100%; max-width: 100%; padding-inline: 18px; }
  .thw *, .thw *::before, .thw *::after { box-sizing: border-box; }
  .thw .thw-tabs { gap: 9px; margin-bottom: 17px; flex-wrap: nowrap; }
  .thw .thw-tabs button { min-width: 0; padding: 11px 7px!important; }
  .thw .thw-week-period { padding: 16px; margin-bottom: 15px; }
  .thw .thw-week-period-date { overflow-wrap: anywhere; }
  .thw .thw-day-label { padding: 12px 14px; }
  .thw .thw-day-meals { padding: 12px 14px; }
  .thw .thw-meal { gap: 9px; }
  .thw .thw-meal-copy { min-width: 0; overflow-wrap: anywhere; }
  .thw .thw-meal > strong { flex-shrink: 0; }
  .thw .thw-offers { margin-top: 29px; padding-top: 21px; }
  .thw .thw-offer-grid { grid-template-columns: 1fr; gap: 10px; }
  .thw .thw-offer { padding: 16px; }
}
@media (max-width: 380px) {
  .thw { padding-inline: 14px; }
  .thw .thw-tabs button { font-size: 12px!important; }
  .thw .thw-day-label { padding-inline: 12px; }
  .thw .thw-day-meals { padding-inline: 12px; }
}

/* v3.0 – Angebotstexte genauso gut lesbar wie Gerichte im Mittagstisch */
.thw .thw-offer-description,
.thw .thw-offer-description p,
.thw .thw-offer-description li,
.thw .thw-offer-list li,
.thw .thw-offer-friday h4 { font-size: 15px; line-height: 1.5; }
.thw .thw-offer-list li > span { font-size: inherit; }
@media (max-width: 700px) {
  .thw .thw-offer-description,
  .thw .thw-offer-description p,
  .thw .thw-offer-description li,
  .thw .thw-offer-list li,
  .thw .thw-offer-friday h4 { font-size: 14px; line-height: 1.5; }
}

/* 3.1 – Einheitliche Leseschrift für Gerichte und Wochenangebote.
   Bewusst am Dateiende, um ältere Desktop-/Mobil-Regeln zu übersteuern. */
.thw { --thw-dish-font-size: 15px; }
.thw .thw-meal,
.thw .thw-meal-copy > span,
.thw .thw-offer-description,
.thw .thw-offer-description p,
.thw .thw-offer-description li,
.thw .thw-offer-list li,
.thw .thw-offer-list li > span,
.thw .thw-offer-friday h4 {
  font-size: var(--thw-dish-font-size);
  line-height: 1.5;
}
/* Kleine Zusatzinformationen bleiben bewusst dezenter. */
.thw .thw-meal-extra { font-size: 13px; }


/* 3.2: Aktueller Tag klarer sichtbar; PDF als unaufdringliche Zusatzaktion. */
.thw .thw-day.thw-today {
  border: 2px solid #79b63f;
  box-shadow: 0 5px 18px rgba(79,129,47,.12);
}
.thw .thw-day.thw-today .thw-day-label { background: #dceecb; }
.thw .thw-day.thw-today .thw-day-meals { background: #fbfdf8; }
.thw .thw-pdf-download,
.thw a.thw-pdf-download {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-height: 38px; padding: 9px 13px; gap: 8px;
  background: #fff; color: #4f7d36; border: 1px solid #cbdcc0;
  border-radius: 9px; box-shadow: none; font-size: 13px; font-weight: 650;
  line-height: 1.25; text-decoration: none;
}
.thw a.thw-pdf-download:hover,
.thw a.thw-pdf-download:focus-visible {
  background: #f2f8ec; color: #355d26; border-color: #8fb876;
  box-shadow: none; transform: none;
}
.thw .thw-pdf-icon { width: 17px; height: 17px; flex: 0 0 17px; }
@media (max-width: 767px) {
  .thw .thw-pdf-download, .thw a.thw-pdf-download {
    width: auto; max-width: 100%; align-self: flex-start; padding: 10px 13px;
  }
}


/* Alle PDF-Links innerhalb der Wochenkarte */
.thw a[href$=".pdf"] {
    color: #456a32 !important;
}