/*
  NLM-Promo – Gestaltung
  Alle Regeln beginnen mit .nlmp, damit sie dein Spiel nicht beeinflussen und umgekehrt.
  Schriften liegen lokal in fonts/ (SIL Open Font License). Keine externen Einbindungen.
*/
@font-face{font-family:"NLMP Serif";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"NLMP Serif";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"NLMP Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/public-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"NLMP Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/public-sans-latin-700-normal.woff2) format("woff2")}

.nlmp,.nlmp *{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;line-height:inherit;letter-spacing:normal;text-transform:none;text-decoration:none;text-align:left;color:inherit;background:none;box-shadow:none;float:none}
.nlmp{
  --nlmp-bg:#0b0d0c;--nlmp-panel:#131614;--nlmp-gold:#b98f4b;--nlmp-gold-hi:#dcc28c;--nlmp-gold-dim:#6b5734;
  --nlmp-text:#ebe2cc;--nlmp-text2:#ab9f86;
  font-family:"NLMP Sans","Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:16px;line-height:1.45;color:var(--nlmp-text);
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
}
.nlmp img{display:block;max-width:100%;height:auto}
.nlmp-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nlmp-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nlmp-text2);border:1px solid var(--nlmp-gold-dim);border-radius:2px;padding:2px 7px}

/* Aufruf-Knopf */
.nlmp-cta{display:inline-flex;align-items:center;gap:.6em;font-weight:700;font-size:17px;color:#16120b;background:linear-gradient(#d6b06a,#a77d3c);border:1px solid var(--nlmp-gold-hi);border-radius:2px;padding:.75em 1.4em;cursor:pointer;white-space:nowrap;transition:filter .15s,transform .15s}
.nlmp-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.nlmp-arrow{transition:transform .2s}
.nlmp-cta:hover .nlmp-arrow,.nlmp-banner:hover .nlmp-arrow,.nlmp-card:hover .nlmp-arrow{transform:translateX(3px)}
.nlmp-cta-sm{font-size:14px;padding:.6em 1em}
.nlmp a:focus-visible,.nlmp button:focus-visible,a.nlmp:focus-visible{outline:2px solid var(--nlmp-gold-hi);outline-offset:3px}

/* ---------------- Großes Zwischenbild ---------------- */
.nlmp-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:16px}
.nlmp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);opacity:0;transition:opacity .25s}
.nlmp-box{position:relative;width:min(940px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;grid-template-columns:1.15fr 1fr;
  background:var(--nlmp-bg);border:1px solid var(--nlmp-gold);box-shadow:0 0 0 4px var(--nlmp-bg),0 0 0 5px var(--nlmp-gold-dim),0 30px 80px -20px #000;
  opacity:0;transform:translateY(14px) scale(.98);transition:opacity .25s,transform .25s}
.nlmp-in .nlmp-backdrop{opacity:1}
.nlmp-in .nlmp-box{opacity:1;transform:none}
.nlmp-out .nlmp-backdrop,.nlmp-out .nlmp-box{opacity:0}
.nlmp-media{display:block;overflow:hidden;background:#000;min-height:100%}
.nlmp-media img{width:100%;height:100%;object-fit:cover;animation:nlmp-drift 18s ease-in-out infinite alternate}
@keyframes nlmp-drift{from{transform:scale(1)}to{transform:scale(1.06)}}
.nlmp-body{padding:28px 28px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.nlmp-body>.nlmp-from{align-self:stretch}
.nlmp-kicker{font-family:"NLMP Serif",Georgia,serif;font-style:italic;font-weight:500;font-size:19px;color:var(--nlmp-gold)}
.nlmp-h{font-family:"NLMP Serif",Georgia,serif;font-weight:600;font-size:31px;line-height:1.1;color:var(--nlmp-gold-hi)}
.nlmp-text{color:var(--nlmp-text);font-size:15px}
.nlmp-list{list-style:none;display:grid;gap:6px;font-size:14px;color:var(--nlmp-text2)}
.nlmp-list li{position:relative;padding-left:18px}
.nlmp-list li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;background:var(--nlmp-gold);transform:rotate(45deg)}
.nlmp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:6px}
.nlmp-later{font-size:14px;color:var(--nlmp-text2);cursor:pointer;padding:.6em .4em;text-decoration:underline;text-underline-offset:3px}
.nlmp-later:hover{color:var(--nlmp-text)}
.nlmp-from{margin-top:auto;padding-top:8px;font-size:12px;color:var(--nlmp-text2);border-top:1px solid #2a2418}
.nlmp-x{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;display:grid;place-items:center;font-size:18px;color:var(--nlmp-gold-hi);background:rgba(11,13,12,.8);border:1px solid var(--nlmp-gold-dim);border-radius:2px;cursor:pointer}
.nlmp-x:hover{border-color:var(--nlmp-gold-hi)}
@media (max-width:760px){
  .nlmp-box{grid-template-columns:1fr}
  .nlmp-media{aspect-ratio:1100/600}
  .nlmp-body{padding:20px 18px 16px}
  .nlmp-h{font-size:25px}
  .nlmp-actions{flex-direction:column;align-items:stretch;align-self:stretch}
  .nlmp-cta{justify-content:center;min-height:48px}
}

/* ---------------- Banner ---------------- */
.nlmp-banner{display:flex;align-items:stretch;width:100%;max-width:960px;min-height:96px;overflow:hidden;cursor:pointer;
  background:var(--nlmp-bg);border:1px solid var(--nlmp-gold);border-radius:2px;box-shadow:inset 0 0 0 3px var(--nlmp-bg),inset 0 0 0 4px #2a2418;transition:border-color .15s}
.nlmp-banner:hover{border-color:var(--nlmp-gold-hi)}
.nlmp-bimg{flex:0 0 30%;max-width:240px;overflow:hidden;background:#000}
.nlmp-bimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.nlmp-banner:hover .nlmp-bimg img{transform:scale(1.05)}
.nlmp-btext{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px 16px}
.nlmp-btext .nlmp-label{align-self:flex-start;font-size:10px;padding:1px 6px}
.nlmp-banner .nlmp-logo{width:auto;height:30px;align-self:flex-start;object-fit:contain}
.nlmp-bshort{font-size:13px;color:var(--nlmp-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nlmp-banner .nlmp-cta{align-self:center;margin-right:16px}
@media (max-width:560px){
  .nlmp-bimg{display:none}
  .nlmp-bshort{white-space:normal}
  .nlmp-banner .nlmp-cta{padding:.55em .8em;margin-right:12px}
}

/* ---------------- Karte ---------------- */
.nlmp-card{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px;padding:0 0 16px;overflow:hidden;cursor:pointer;
  background:var(--nlmp-bg);border:1px solid var(--nlmp-gold);border-radius:2px;box-shadow:inset 0 0 0 3px var(--nlmp-bg),inset 0 0 0 4px #2a2418;transition:border-color .15s,transform .15s}
.nlmp-card:hover{border-color:var(--nlmp-gold-hi);transform:translateY(-2px)}
.nlmp-cimg{display:block;aspect-ratio:16/10;overflow:hidden;background:#000;margin-bottom:4px}
.nlmp-cimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.nlmp-card:hover .nlmp-cimg img{transform:scale(1.05)}
.nlmp-card>.nlmp-label,.nlmp-card>.nlmp-logo,.nlmp-card>.nlmp-ckicker,.nlmp-card>.nlmp-ctext{margin:0 16px}
.nlmp-card>.nlmp-label{align-self:flex-start;font-size:10px;padding:1px 6px}
.nlmp-card .nlmp-logo{width:auto;height:38px;align-self:flex-start;object-fit:contain}
.nlmp-ckicker{font-family:"NLMP Serif",Georgia,serif;font-style:italic;font-weight:500;font-size:17px;color:var(--nlmp-gold)}
.nlmp-ctext{font-size:14px;color:var(--nlmp-text2)}
.nlmp-card .nlmp-cta{align-self:flex-start;margin:4px 16px 0}

@media (prefers-reduced-motion:reduce){
  .nlmp *,.nlmp-box,.nlmp-backdrop{animation:none!important;transition:none!important}
}
