/*
 * Neustädter Krug — freigegebener Entwurf B (01.11.2026)
 * Final event presentation: genuine full-resolution WordPress images, unobstructed
 * type hierarchy, gentle photographic transitions, separate green Christmas cards.
 * Only activated on the homepage and the public event overview.
 */
.nk-public.nk-cinema-page .nk-topbar { display:none; }
.nk-public.nk-cinema-page .nk-site-header {
  background:#1b100c;
  border-bottom:1px solid rgba(201,149,73,.52);
  box-shadow:0 4px 16px rgba(9,6,4,.2);
}
.nk-public.nk-cinema-page .krug-desktop-nav {
  font-family:"Bitter",Georgia,serif;
  font-weight:500;
  font-size:.91rem;
  letter-spacing:-.015em;
}
.nk-public.nk-cinema-page .krug-desktop-nav a {
  color:#f8edda;
  text-shadow:0 1px 5px rgba(0,0,0,.3);
}
.nk-public.nk-cinema-page .krug-desktop-nav a:hover {color:#f3ca88;}

/* A clear one-piece section, like the approved reference; no pale inserts. */
.nk-public .nk-home-dates.nk-cinema-events,
.nk-public .nk-page-intro.nk-cinema-intro,
.nk-public section#termine.nk-cinema-events {
  background:
    radial-gradient(ellipse at 82% 15%, rgba(105,60,31,.15),transparent 40%),
    repeating-linear-gradient(0deg,rgba(252,201,124,.01) 0 1px,transparent 1px 6px),
    #17110e;
  color:#f7e9d3;
  border-color:rgba(173,127,64,.34);
}
.nk-public .nk-home-dates.nk-cinema-events {padding:0 0 67px;}
.nk-public .nk-page-intro.nk-cinema-intro {padding:0 0 12px;}
.nk-public section#termine.nk-cinema-events {padding:11px 0 75px;}

/* Banner photo: a dark, readable ambience, never enlarged from an image thumbnail. */
.nk-public .nk-cinema-banner {
  height:clamp(152px,17vw,230px);
  background:#241811;
  overflow:hidden;
  border-block:0 1px solid rgba(190,145,81,.5);
}
.nk-public .nk-cinema-banner-image {
  display:block!important;
  width:100%;height:100%;
  object-fit:cover;object-position:center 53%;
  filter:sepia(.13) saturate(.85) brightness(.86) contrast(1.04);
  image-rendering:auto;
}
.nk-public .nk-cinema-banner::after {
  content:"";
  background:
    linear-gradient(0deg, rgba(20,13,10,.23), transparent 46%, rgba(20,13,10,.08)),
    linear-gradient(90deg,rgba(14,8,5,.16),transparent 60%,rgba(14,8,5,.12));
}

/* Reference heading: decorative divider + fleur, readable ivory title. */
.nk-public .nk-cinema-heading,
.nk-public .nk-page-intro.nk-cinema-intro .krug-shell {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  max-width:1010px;
  margin:0 auto;
}
.nk-public .nk-cinema-heading {padding:34px 0 0;margin-bottom:27px;gap:0;}
.nk-public .nk-page-intro.nk-cinema-intro .krug-shell {padding:31px 0 0;}
.nk-public .nk-cinema-heading::before,
.nk-public .nk-page-intro.nk-cinema-intro .krug-shell::before {
  content:"⚜";
  display:block;
  width:min(400px,60vw);
  height:21px;
  margin:0 auto 12px;
  font:400 22px/21px Georgia,serif;
  color:#dbb273;
  text-shadow:0 0 10px rgba(225,170,83,.24);
  background:
    linear-gradient(90deg,transparent,rgba(210,161,94,.85) 16%,rgba(210,161,94,.85) 44%,transparent 44%,transparent 56%,rgba(210,161,94,.85) 56%,rgba(210,161,94,.85) 84%,transparent);
  background-size:100% 1px;
  background-position:center;
  background-repeat:no-repeat;
}
.nk-public .nk-cinema-heading .krug-kicker,
.nk-public .nk-page-intro.nk-cinema-intro .krug-kicker {
  color:#dcb57f!important;
  letter-spacing:.25em;
  font-size:.73rem;
  font-weight:800;
  margin-bottom:5px;
}
.nk-public .nk-cinema-heading h2,
.nk-public .nk-page-intro.nk-cinema-intro h1,
.nk-public .nk-page-intro.nk-cinema-intro .krug-shell h1 {
  color:#f8e7cd!important;
  background:transparent!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8e7cd!important;
  text-shadow:0 2px 17px rgba(0,0,0,.46);
  font:700 clamp(2.5rem,4.4vw,3.9rem)/1.09 "Bitter",Georgia,serif!important;
  letter-spacing:-.052em!important;
  margin:7px 0 11px!important;
  max-width:100%;
  text-wrap:balance;
}
.nk-public .nk-cinema-heading p,
.nk-public .nk-page-intro.nk-cinema-intro p {
  color:#e7cfab!important;
  font:italic 400 clamp(1.04rem,1.65vw,1.28rem)/1.48 "Bitter",Georgia,serif!important;
  max-width:800px!important;
  margin:0 auto!important;
  text-shadow:0 1px 9px rgba(0,0,0,.26);
}
.nk-public .nk-cinema-heading::after,
.nk-public .nk-page-intro.nk-cinema-intro .krug-shell::after {
  width:min(360px,55vw);
  margin:19px auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,#c49760 22%,#dcb679 50%,#c49760 78%,transparent);
}

/* Every card follows identical editorial measurements and alignment. */
.nk-public .nk-date-list.nk-cinema-list,
.nk-public .nk-events-stack.nk-cinema-list {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  margin:0;
  border:0;
}
.nk-public .nk-cinema-card {
  min-height:190px;
  border:1px solid #b78a4e;
  border-radius:11px;
  background:#261912;
  box-shadow:0 8px 21px rgba(6,3,2,.17), inset 0 0 0 3px rgba(27,15,9,.36);
  overflow:hidden;
  isolation:isolate;
}
.nk-public .nk-cinema-card::before {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    #281911 0%,
    rgba(40,25,17,.99) 27%,
    rgba(40,25,17,.97) 44%,
    rgba(40,25,17,.74) 58%,
    rgba(40,25,17,.18) 81%,
    rgba(40,25,17,.02) 100%);
}
.nk-public .nk-cinema-card::after {
  content:"";position:absolute;inset:4px;
  border:1px solid rgba(228,185,117,.08);border-radius:8px;z-index:4;pointer-events:none;
}
.nk-public .nk-cinema-card-content {
  min-height:190px;
  display:grid;
  grid-template-columns:177px minmax(0,1fr);
  align-items:center;
  gap:29px;
  padding:19px clamp(205px,27%,315px) 19px 32px;
  box-sizing:border-box;
}
.nk-public .nk-cinema-date {
  gap:6px;
  border-right:1px solid rgba(203,155,90,.64);
  padding-right:19px;
  align-items:flex-start;
}
.nk-public .nk-cinema-label {
  color:#e1b879;
  font:800 .71rem/1.2 "Alegreya Sans",sans-serif;
  letter-spacing:.20em;
}
.nk-public .nk-cinema-weekday {
  color:#d9c19d;
  font:650 .75rem/1.2 "Alegreya Sans",sans-serif;
  letter-spacing:.1em;
}
.nk-public .nk-cinema-date strong {
  color:#f8ebd7;
  font:700 clamp(1.27rem,2.15vw,1.63rem)/1.15 "Bitter",Georgia,serif;
  letter-spacing:-.03em;
}
.nk-public .nk-cinema-time {
  color:#ecd4aa;
  font:italic 400 .94rem/1.32 "Bitter",Georgia,serif;
}
.nk-public .nk-cinema-copy h3 {
  color:#f7e7cd;
  font:700 clamp(1.6rem,2.75vw,2.22rem)/1.1 "Bitter",Georgia,serif;
  letter-spacing:-.045em;
  margin:0;
}
.nk-public .nk-cinema-copy p {
  color:#ead8c1;
  font:400 clamp(.91rem,1.35vw,1.04rem)/1.47 "Alegreya Sans",sans-serif;
  margin:9px 0 0;
  max-width:680px;
}
.nk-public .nk-cinema-bottom {
  display:flex;align-items:center;flex-wrap:wrap;
  gap:12px 18px;margin-top:16px;
}
.nk-public .nk-cinema-action {
  background:rgba(24,14,9,.64);
  border:1px solid #ca9756;
  color:#ffe5b5;
  min-height:39px;
  padding:9px 17px;
  border-radius:5px;
  font:800 .95rem/1.15 "Alegreya Sans",sans-serif;
  gap:16px;
}
.nk-public .nk-cinema-action:hover {background:#f6dbaa;color:#2b1b13;}
.nk-public .nk-cinema-status {color:#d8b891;font-size:.75rem;}
.nk-public .nk-cinema-cancel {
  background:#733227;color:#fff1dd;border-color:#ad6647;
  font:800 .66rem/1.15 "Alegreya Sans",sans-serif;
  padding:5px 10px;
}
.nk-public .nk-cinema-card--cancelled .nk-cinema-label {color:#e6a18d;}
.nk-public .nk-cinema-card--cancelled .nk-cinema-card-photo-img {
  filter:sepia(.20) saturate(.79) brightness(.81);
}

/* Photographic stage: sharp, full-size original assets, no stretched screenshots. */
.nk-public .nk-cinema-card-photo {
  position:absolute;
  top:0;right:0;bottom:0;
  width:51%;
  z-index:0;
  overflow:hidden;
  background:transparent;
  -webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 29%,#000 53%);
  mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 29%,#000 53%);
}
.nk-public .nk-cinema-card .nk-cinema-card-photo-img {
  display:block!important;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  image-rendering:auto;
  filter:sepia(.08) saturate(.91) brightness(.88) contrast(1.06);
  transition:transform .6s ease;
}
.nk-public .nk-cinema-card--beer .nk-cinema-card-photo-img {object-position:64% 45%;}
.nk-public .nk-cinema-card--stein .nk-cinema-card-photo-img {object-position:59% 50%;}
.nk-public .nk-cinema-card--drinks .nk-cinema-card-photo-img {object-position:65% 53%;}
.nk-public .nk-cinema-card-photo-glow {
  pointer-events:none;position:absolute;inset:0;
  background:radial-gradient(ellipse at 90% 80%,rgba(200,110,44,.16),transparent 60%);
}
/* Christmas remains its own illustrated, luminous winter card. */
.nk-public .nk-xmas-card {
  min-height:206px;
  border:1.5px solid #b79558;
  border-radius:11px;
  box-shadow:0 8px 22px rgba(5,8,5,.18),inset 0 0 0 3px rgba(12,40,29,.76);
}
.nk-public .nk-xmas-card-inner {
  min-height:206px;
  grid-template-columns:183px minmax(0,1fr);
  gap:29px;
  padding:45px clamp(230px,25%,290px) 22px 32px;
}
.nk-public .nk-xmas-meta {gap:10px;padding-right:18px;}
.nk-public .nk-xmas-main h3 {
  font-size:clamp(1.6rem,2.75vw,2.2rem);
  line-height:1.12;
}
.nk-public .nk-xmas-main p {margin-top:9px;}
.nk-public .nk-xmas-actions {margin-top:13px;}
.nk-public .nk-xmas-link {min-height:42px;padding:9px 17px;}
.nk-public .nk-xmas-illustration {
  width:246px;
  height:min(118%,260px);
  right:0;bottom:-1px;
}
.nk-public .nk-xmas-garland {height:62px;}

/* Responsive: preserve content and legibility, limit costly animations. */
@media(max-width:1100px){
  .nk-public .nk-cinema-card-content {
    grid-template-columns:159px minmax(0,1fr);
    gap:22px;
    padding:22px 200px 22px 26px;
  }
  .nk-public .nk-xmas-card-inner {
    grid-template-columns:160px minmax(0,1fr);
    gap:22px;
    padding:48px 210px 26px 27px;
  }
  .nk-public .nk-xmas-illustration {width:215px;}
}
@media(max-width:830px){
  .nk-public .nk-cinema-card-content {grid-template-columns:140px minmax(0,1fr);padding-right:148px;gap:17px;}
  .nk-public .nk-cinema-card-photo {width:52%;}
  .nk-public .nk-cinema-date strong {font-size:1.2rem;}
  .nk-public .nk-cinema-copy h3 {font-size:clamp(1.55rem,2.8vw,1.85rem);}
  .nk-public .nk-xmas-card-inner {grid-template-columns:142px minmax(0,1fr);padding-right:180px;}
  .nk-public .nk-xmas-illustration {width:192px;}
}
@media(max-width:700px){
  .nk-public .nk-cinema-banner {height:125px;}
  .nk-public .nk-cinema-heading {padding-top:29px;margin-bottom:24px;}
  .nk-public .nk-cinema-heading h2,
  .nk-public .nk-page-intro.nk-cinema-intro h1 {font-size:clamp(2rem,7vw,2.7rem)!important;}
  .nk-public .nk-cinema-heading p,
  .nk-public .nk-page-intro.nk-cinema-intro p {font-size:1rem!important;}
  .nk-public .nk-date-list.nk-cinema-list,.nk-public .nk-events-stack.nk-cinema-list {gap:15px;}
  .nk-public .nk-cinema-card,.nk-public .nk-cinema-card-content {min-height:0;}
  .nk-public .nk-cinema-card-content {
    display:flex;flex-direction:column;align-items:stretch;
    gap:14px;padding:23px 20px 23px;
  }
  .nk-public .nk-cinema-date {
    display:grid;grid-template-columns:auto 1fr;gap:5px 13px;
    height:auto;border-right:0;border-bottom:1px solid rgba(208,157,97,.48);
    padding:0 0 13px;
  }
  .nk-public .nk-cinema-label,.nk-public .nk-cinema-weekday {grid-column:1/-1;}
  .nk-public .nk-cinema-date strong {grid-column:1;font-size:1.4rem;}
  .nk-public .nk-cinema-time {grid-column:2;align-self:center;font-size:.88rem;}
  .nk-public .nk-cinema-copy h3 {font-size:clamp(1.55rem,5.8vw,1.97rem);}
  .nk-public .nk-cinema-copy p {font-size:1.01rem;max-width:100%;}
  .nk-public .nk-cinema-card-photo {width:77%;opacity:.57;}
  .nk-public .nk-cinema-card::before {
    background:linear-gradient(90deg,#271a13 0%,rgba(39,26,19,.97) 55%,rgba(39,26,19,.66) 100%);
  }
  .nk-public .nk-xmas-card {min-height:300px;}
  .nk-public .nk-xmas-card-inner {
    display:flex;flex-direction:column;align-items:flex-start;
    min-height:300px;gap:15px;padding:57px 23px 28px;
  }
  .nk-public .nk-xmas-meta {
    width:100%;padding:0;border:0;
    display:grid;grid-template-columns:auto 1fr;gap:7px 11px;
  }
  .nk-public .nk-xmas-pill {grid-column:1/-1;justify-self:start;margin:0;}
  .nk-public .nk-xmas-meta-item {white-space:normal;font-size:.98rem;}
  .nk-public .nk-xmas-main {z-index:3;}
  .nk-public .nk-xmas-main h3 {font-size:clamp(1.57rem,6vw,2rem);}
  .nk-public .nk-xmas-illustration {width:230px;height:230px;right:-48px;opacity:.49;}
  .nk-public .nk-xmas-atmosphere::after {
    background:linear-gradient(90deg,rgba(6,35,27,.69),rgba(6,35,27,.41) 68%,rgba(6,35,27,.11));
  }
}
@media(max-width:440px){
  .nk-public .nk-cinema-card-content {padding:22px 17px;}
  .nk-public .nk-cinema-date {grid-template-columns:1fr;}
  .nk-public .nk-cinema-date strong,.nk-public .nk-cinema-time {grid-column:1;}
  .nk-public .nk-cinema-bottom {align-items:flex-start;flex-direction:column;}
  .nk-public .nk-cinema-card-photo {opacity:.32;}
  .nk-public .nk-xmas-card-inner {padding:56px 17px 26px;}
  .nk-public .nk-xmas-meta {grid-template-columns:1fr;}
  .nk-public .nk-xmas-illustration {right:-66px;width:218px;opacity:.36;}
}

/* Shared presentation: home and event overview intentionally use the same markup,
   spacing and typographic rules. Only semantic h1/h2 level differs. */
.nk-public .nk-cinema-heading h1,
.nk-public .nk-cinema-heading h2 {
  color:#f8e7cd!important;
  background:transparent!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8e7cd!important;
  text-shadow:0 2px 17px rgba(0,0,0,.46);
  font:700 clamp(2.5rem,4.4vw,3.9rem)/1.09 "Bitter",Georgia,serif!important;
  letter-spacing:-.052em!important;
  margin:7px 0 11px!important;
  max-width:100%;
  text-wrap:balance;
}
.nk-public section#termine.nk-cinema-events {padding:0 0 67px;}
.nk-public section#termine.nk-cinema-events .nk-cinema-heading {padding:34px 0 0;margin-bottom:27px;}
@media(max-width:700px) {
  .nk-public .nk-cinema-heading h1,
  .nk-public .nk-cinema-heading h2 {font-size:clamp(2rem,7vw,2.7rem)!important;}
  .nk-public section#termine.nk-cinema-events {padding-bottom:48px;}
  .nk-public section#termine.nk-cinema-events .nk-cinema-heading {padding-top:29px;margin-bottom:24px;}
}

/* One true photographic scene: whiskey-cola and beer on the same table.
   Both public pages render the same PHP component and share this stylesheet. */
.nk-public #naechste-termine.nk-cinema-events {border-top:1px solid rgba(173,127,64,.34);}
.nk-public .nk-cinema-card--drinks .nk-cinema-card-photo--drinks {
  width:53%;
  opacity:1;
  background:#281911;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.58) 12%,#000 29%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.58) 12%,#000 29%);
}
.nk-public .nk-cinema-card--drinks .nk-cinema-card-photo-img {
  object-fit:cover;
  object-position:70% 47%;
  filter:sepia(.05) saturate(.95) brightness(.9) contrast(1.04);
}
.nk-public .nk-cinema-card--drinks::before {
  background:linear-gradient(90deg,
    #281911 0%,
    rgba(40,25,17,.99) 26%,
    rgba(40,25,17,.93) 43%,
    rgba(40,25,17,.5) 57%,
    rgba(40,25,17,0) 78%);
}
@media(max-width:830px) {
  .nk-public .nk-cinema-card--drinks .nk-cinema-card-photo--drinks {width:56%;}
}
@media(max-width:700px) {
  .nk-public .nk-cinema-card--drinks .nk-cinema-card-photo--drinks {
    width:78%;
    opacity:.65;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 31%,#000 60%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 31%,#000 60%);
  }
  .nk-public .nk-cinema-card--drinks::before {
    background:linear-gradient(90deg,
      #281911 0%,rgba(40,25,17,.98) 40%,rgba(40,25,17,.82) 68%,rgba(40,25,17,.41) 100%);
  }
}
@media(max-width:440px) {
  .nk-public .nk-cinema-card--drinks .nk-cinema-card-photo--drinks {opacity:.45;}
}
@media(prefers-reduced-motion:reduce){
  .nk-public .nk-cinema-card,.nk-public .nk-cinema-card *,
  .nk-public .nk-xmas-card,.nk-public .nk-xmas-card * {
    animation:none!important;transition:none!important;
  }
}
