/* MD Angebote – Gestaltung passend zu MD Termine (Farben mein Dithmarschen). */
.ang,.ang-lb,.ang-mod{
  --ang-bg:#fbfaf7;--ang-surface:#ffffff;--ang-tile:#f0e9de;--ang-line:#dfd7ca;--ang-text:#5a4f42;--ang-head:#1e293b;--ang-muted:#6b6258;
  --ang-accent:#0077b6;--ang-onaccent:#ffffff;--ang-hot:#e8801a;--ang-ok:#2e7d32;--ang-bad:#b3261e;--ang-warn:#fdf6e6;--ang-warntext:#8a6a15;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ang-text);line-height:1.5;box-sizing:border-box;
}
[data-bs-theme="dark"] .ang,[data-bs-theme="dark"] .ang-lb,[data-bs-theme="dark"] .ang-mod,.dark-mode .ang,.dark-mode .ang-lb,.dark-mode .ang-mod{
  --ang-bg:#191919;--ang-surface:#242424;--ang-tile:#2b2823;--ang-line:#3d3a35;--ang-text:#e6e1d8;--ang-head:#ffffff;--ang-muted:#b0a99d;
  --ang-accent:#4db3e6;--ang-onaccent:#10222d;--ang-warn:#3a321c;--ang-warntext:#e8cf8a;
}
.ang *,.ang *::before,.ang *::after,.ang-lb *,.ang-lb *::before,.ang-lb *::after,.ang-mod *,.ang-mod *::before,.ang-mod *::after{box-sizing:border-box}
:where(.ang,.ang-lb,.ang-mod) a{text-decoration:none;color:inherit}
:where(.ang,.ang-lb,.ang-mod) img{max-width:100%;height:auto;display:block}
.ang [hidden],.ang-lb [hidden],.ang-mod [hidden]{display:none!important}
.ang{display:flex;flex-direction:column;gap:24px;padding:8px 0 32px}
.ang-h1{margin:0;font-size:clamp(26px,4vw,34px);line-height:1.15;color:var(--ang-head);font-weight:700}
.ang-lead{margin:6px 0 0;color:var(--ang-muted);font-size:16px}
.ang-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.ang-hint{margin:0;font-size:13px;color:var(--ang-muted)}
.ang-back{margin:0}.ang-back a{color:var(--ang-accent);font-weight:600}

/* Buttons und Felder */
.ang-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:6px;border:1px solid var(--ang-line);background:var(--ang-surface);color:var(--ang-text);font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:filter .15s}
.ang-btn:hover{filter:brightness(.97)}
.ang-btn:focus-visible,.ang-input:focus-visible,.ang-chip:focus-visible,.ang-tile:focus-visible,.ang-share__item:focus-visible,.ang-lb__x:focus-visible,.ang-lb__nav:focus-visible{outline:3px solid var(--ang-accent);outline-offset:2px}
.ang-btn--primary{background:var(--ang-accent);border-color:var(--ang-accent);color:var(--ang-onaccent)}
.ang-btn--danger{color:var(--ang-bad);border-color:var(--ang-bad)}
.ang-btn--block{width:100%}
.ang-btn--small{min-height:36px;padding:0 14px;font-size:14px}
.ang-input{width:100%;height:44px;border:1px solid var(--ang-line);border-radius:6px;padding:0 14px;font:inherit;font-size:15px;background:var(--ang-surface);color:var(--ang-text)}
textarea.ang-input{height:auto;padding:12px 14px;line-height:1.5;resize:vertical}
.ang-file{height:auto;padding:10px 12px}
.ang-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ang-field>label{font-size:14px;color:var(--ang-head);font-weight:600}
.ang-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.ang-row{grid-template-columns:1fr}}
.ang-formpage{max-width:760px}
.ang-form{display:flex;flex-direction:column;gap:20px}
.ang-confirm{border:1px solid var(--ang-line);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--ang-tile)}
.ang-confirm legend{font-weight:700;color:var(--ang-head);padding:0 6px;font-size:15px}
.ang-check{display:flex;align-items:flex-start;gap:10px;font-size:15px;cursor:pointer}
.ang-check input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}
.ang-actions{display:flex;flex-wrap:wrap;gap:10px}
.ang-empty{padding:32px;text-align:center;background:var(--ang-tile);border:1px dashed var(--ang-line);border-radius:6px;color:var(--ang-muted)}
.ang-notice{padding:12px 16px;border-radius:6px;background:var(--ang-warn);color:var(--ang-warntext);border:1px solid var(--ang-line);font-weight:600}

/* Navigation und Filter */
.ang-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--ang-line)}
.ang-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;font-weight:600;font-size:15px;border-bottom:3px solid transparent;margin-bottom:-2px}
.ang-nav a:hover{color:var(--ang-accent)}
.ang-nav a.is-on{color:var(--ang-accent);border-bottom-color:var(--ang-accent)}
.ang-chips{display:flex;flex-wrap:wrap;gap:8px}
.ang-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:6px;border:1px solid var(--ang-line);background:var(--ang-surface);font-weight:600;font-size:14px}
.ang-chip.is-on{background:var(--ang-accent);border-color:var(--ang-accent);color:var(--ang-onaccent)}

/* Kacheln: Hochformat 3:4, fuenf nebeneinander */
.ang-grid{display:grid;grid-template-columns:repeat(var(--ang-cols,5),minmax(0,1fr));gap:16px}
.ang-grid--list{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.ang-tile{display:flex;flex-direction:column;background:var(--ang-surface);border:1px solid var(--ang-line);border-radius:6px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;cursor:pointer}
.ang-tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.ang-tile__media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--ang-tile);color:var(--ang-muted)}
.ang-tile__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.ang-tile:hover .ang-tile__media img{transform:scale(1.04)}
.ang-tile__cap{display:flex;flex-direction:column;gap:2px;padding:10px 12px;min-height:58px}
.ang-tile__cap b{font-size:14px;color:var(--ang-head);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ang-tile__cap span{font-size:13px;color:var(--ang-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ang-ai{position:absolute;right:8px;bottom:8px;z-index:2;padding:3px 8px;border-radius:3px;background:rgba(18,48,63,.86);color:#fff;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.02em}
.ang-ai--big{right:12px;bottom:12px;font-size:13px;padding:5px 10px}

/* Modul */
.ang-mod{display:flex;flex-direction:column;gap:14px}
.ang-mod__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.ang-mod__title{margin:0;font-size:20px;color:var(--ang-head);font-weight:700}
.ang-mod__links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;font-weight:600}
.ang-mod__links a{color:var(--ang-accent)}
@media(max-width:900px){.ang-grid{grid-template-columns:repeat(min(var(--ang-cols,5),3),minmax(0,1fr))}}
@media(max-width:640px){
  .ang-mod .ang-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .ang-mod .ang-tile{flex:0 0 46%;scroll-snap-align:start}
  .ang-grid--list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Detailseite */
.ang-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
@media(max-width:800px){.ang-detail{grid-template-columns:1fr}}
.ang-detail__media{position:relative;border:1px solid var(--ang-line);border-radius:6px;overflow:hidden;background:var(--ang-tile)}
.ang-detail__media img{width:100%}
.ang-detail__side{display:flex;flex-direction:column;gap:12px}
.ang-lb__provider{margin:0;color:var(--ang-muted)}
.ang-lb__desc{margin:0}
.ang-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:15px}
.ang-facts li{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--ang-line)}
.ang-facts li span{flex:0 0 120px;color:var(--ang-muted);font-weight:600;font-size:14px}

/* Teilen und Melden */
.ang-share{position:relative}
.ang-share__menu{display:flex;flex-direction:column;margin-top:6px;background:var(--ang-surface);border:1px solid var(--ang-line);border-radius:6px;overflow:hidden}
.ang-share__item{display:block;width:100%;text-align:left;padding:11px 14px;min-height:44px;background:transparent;border:0;border-bottom:1px solid var(--ang-line);color:var(--ang-text);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.ang-share__item:last-child{border-bottom:0}
.ang-share__item:hover{background:var(--ang-tile);color:var(--ang-accent)}
.ang-share__ok{display:block;margin-top:6px;color:var(--ang-accent);font-weight:600}
.ang-report{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.ang-report label{font-size:14px;font-weight:600;color:var(--ang-head)}

/* Eigene Poster */
.ang-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ang-item{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px;background:var(--ang-surface);border:1px solid var(--ang-line);border-radius:6px}
.ang-item__img{flex:0 0 90px;width:90px;height:120px;border-radius:4px;overflow:hidden;background:var(--ang-tile)}
.ang-item__img img{width:100%;height:100%;object-fit:cover}
.ang-item__body{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:6px}
.ang-item__title{font-weight:700;color:var(--ang-head);font-size:17px}
.ang-item__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--ang-muted);align-items:center}
.ang-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:3px;color:#fff}
.ang-badge--ok{background:var(--ang-ok)}.ang-badge--wait{background:var(--ang-hot);color:#1e293b}.ang-badge--off{background:#8c7f70}.ang-badge--bad{background:var(--ang-bad)}

/* Lightbox */
.ang-lb{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px}
.ang-lb[hidden]{display:none!important}
.ang-lb__bg{position:absolute;inset:0;background:rgba(10,14,20,.78)}
.ang-lb__box{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,auto) minmax(260px,340px);gap:0;max-width:min(1040px,100%);max-height:100%;background:var(--ang-surface);border-radius:8px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.ang-lb__imgwrap{position:relative;display:flex;align-items:center;justify-content:center;background:#10151c;min-width:0;max-height:calc(100vh - 32px)}
.ang-lb__imgwrap img{max-width:100%;max-height:calc(100vh - 32px);width:auto;height:auto;object-fit:contain}
.ang-lb__side{display:flex;flex-direction:column;gap:10px;padding:22px 20px;overflow-y:auto;max-height:calc(100vh - 32px)}
.ang-lb__title{margin:0;font-size:22px;line-height:1.2;color:var(--ang-head)}
.ang-lb__x{position:absolute;top:8px;right:8px;z-index:3;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1e293b;cursor:pointer}
.ang-lb__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1e293b;cursor:pointer}
.ang-lb__nav--prev{left:8px}.ang-lb__nav--next{right:8px}
@media(max-width:800px){
  .ang-lb{padding:0;align-items:stretch}
  .ang-lb__box{grid-template-columns:1fr;grid-template-rows:minmax(0,55vh) auto;border-radius:0;overflow-y:auto;max-height:100%;width:100%}
  .ang-lb__imgwrap{max-height:55vh}.ang-lb__imgwrap img{max-height:55vh}
  .ang-lb__side{max-height:none;overflow:visible}
}
html.ang-lock{overflow:hidden}
