/* Neustädter Krug — final public visitor details (draft). */
/* First inquiry: the essential fields are immediately visible.
   Optional planning details expand on demand without changing backend fields. */
body.nk-wh-public .nk-party-extra {
  background:#f7f0e6;
  border:1px solid #d8c5ab;
  border-radius:4px;
  margin:3px 0 18px;
  padding:0 17px;
}
body.nk-wh-public .nk-party-extra summary {
  cursor:pointer;
  color:#6a3928;
  font-size:1rem;
  font-weight:800;
  padding:13px 0;
  outline-offset:3px;
}
body.nk-wh-public .nk-party-extra summary:hover {color:#9a4f32;}
body.nk-wh-public .nk-party-extra[open] {padding-bottom:19px;}
body.nk-wh-public .nk-party-extra>p {
  margin:0 0 14px;
  color:#655548;
  font-size:.91rem;
  line-height:1.45;
}
body.nk-wh-public .nk-party-extra>div,
body.nk-wh-public .nk-party-extra>label {margin-top:13px;}
body.nk-wh-public .nk-cancelled-notice {
 margin:35px 0 0;padding:20px 25px;border-left:4px solid #9b4c34;
 background:#f6ebe4;color:#443125;
}
body.nk-wh-public .nk-cancelled-notice h2 {
 font:700 1.25rem/1.3 "Bitter",Georgia,serif;margin:0 0 8px;color:#633527;
}
body.nk-wh-public .nk-cancelled-notice p {margin:6px 0;font-size:.99rem;}
body.nk-wh-public .nk-cancelled-notice a {
 color:#753d2b;text-decoration:underline;text-underline-offset:4px;
}
body.nk-wh-public .nk-public-event-actions {
 background:#f3ebdf;border:1px solid #d4c1a7;border-radius:4px;
 padding:clamp(20px,3vw,34px);margin:0 0 27px;
}
body.nk-wh-public .nk-public-event-actions h2 {
 color:#2d231c;margin:0 0 12px;font:700 clamp(1.7rem,2.6vw,2.3rem)/1.19 "Bitter",Georgia,serif;
}
body.nk-wh-public .nk-public-event-actions>p {
 color:#645346;margin:0 0 18px;line-height:1.55;
}
body.nk-wh-public .nk-public-event-actionlinks {display:flex;gap:12px;flex-wrap:wrap;}
body.nk-wh-public .nk-public-event-actionlinks .nk-wh-button {min-height:43px;}
body.nk-wh-public .nk-marketing-copy-status:empty {display:none;}
body.nk-wh-public .nk-marketing-copy {cursor:pointer;}
body.nk-wh-public .nk-events-share {
  background:#f4ecdf;
  border-top:1px solid #d5bea3;
  border-bottom:1px solid #d5bea3;
  padding:clamp(32px,4.5vw,61px) 0;
}
body.nk-wh-public .nk-events-share-inner {
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:35px;align-items:center;
}
body.nk-wh-public .nk-events-share h2 {
  color:#2c211a;
  margin:6px 0 11px;
  font:700 clamp(1.6rem,2.4vw,2.35rem)/1.18 "Bitter",Georgia,serif;
}
body.nk-wh-public .nk-events-share p {
  max-width:690px;color:#5f5146;line-height:1.55;margin:0;
}
body.nk-wh-public .nk-events-share-actions {
  display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;
}
@media(max-width:900px) {
  body.nk-wh-public .nk-events-share-inner {grid-template-columns:1fr;gap:21px;}
  body.nk-wh-public .nk-events-share-actions {justify-content:flex-start;}
}
@media(max-width:490px){
  body.nk-wh-public .nk-events-share-actions {display:grid;grid-template-columns:1fr;}
  body.nk-wh-public .nk-public-event-actionlinks .nk-wh-button {width:100%;}
}

body.nk-wh-public .nk-public-event-actions .nk-public-event-address {
 margin:17px 0 0;font-size:.91rem;color:#604e42;
}
body.nk-wh-public .nk-public-event-actions .nk-public-event-note {
 margin:10px 0 0;font-size:.87rem;color:#8b542f;font-weight:650;
}
body.nk-wh-public .nk-wh-gallery {
 background:#ede3d5;border-top:1px solid #dbcbb6;
}
body.nk-wh-public .nk-wh-gallery-grid {
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;
}
body.nk-wh-public .nk-wh-gallery-grid a {
 display:block;aspect-ratio:3/4;overflow:hidden;background:#957b63;
 border:1px solid #ccb69c;
}
body.nk-wh-public .nk-wh-gallery-grid img {
 width:100%;height:100%;object-fit:cover;display:block;
 transition:transform .3s ease;
}
body.nk-wh-public .nk-wh-gallery-grid a:hover img {transform:scale(1.035);}
@media(max-width:760px) {
 body.nk-wh-public .nk-wh-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 body.nk-wh-public .nk-wh-gallery-grid a{aspect-ratio:4/5;}
 body.nk-wh-public .nk-public-event-actionlinks{display:grid;grid-template-columns:1fr;}
}
@media(max-width:420px){
 body.nk-wh-public .nk-wh-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* Mobile readability: #966444 on the beige hero only gave ~3.8:1
   contrast at an 11px label. Keep the copper appearance, make it WCAG-AA. */
body.nk-wh-public .nk-wh-hero .nk-wh-eyebrow {
  color:#71452f;
}
/* Don't spend mobile painting time on decorative sections below the fold.
   Preserve an intrinsic placeholder size to avoid jumps while scrolling. */
@supports (content-visibility:auto) {
  body.nk-wh-public .nk-wh-story,
  body.nk-wh-public .nk-wh-gallery {
    content-visibility:auto;
    contain-intrinsic-size:auto 580px;
  }
}
@media(max-width:760px) {
  body.nk-wh-public .nk-wh-mobile-toggle {min-height:48px;min-width:76px;}
  body.nk-wh-public .nk-wh-hero-buttons .nk-wh-button {min-height:48px;}
  @supports(content-visibility:auto) {
    body.nk-wh-public .nk-wh-story,
    body.nk-wh-public .nk-wh-gallery {contain-intrinsic-size:auto 760px;}
  }
}
/* Feiern & Mieten: genuine Krug room photos, clear planning journey and FAQs.
   Scoped only to the public theme; no effect on Krugplaner. */
body.nk-wh-public .nk-party-room,
body.nk-wh-public .nk-party-process,
body.nk-wh-public .nk-party-faq {
  padding-block:clamp(48px,6vw,82px);
}
body.nk-wh-public .nk-party-room {
  background:#e9dfd1;border-block:1px solid #d6c5ac;
}
body.nk-wh-public .nk-party-process {
  background:#fffcf6;border-bottom:1px solid #ded0bd;
}
body.nk-wh-public .nk-party-faq {
  background:#f6f0e8;
}
body.nk-wh-public .nk-party-intro {
  max-width:780px;margin-bottom:25px;
}
body.nk-wh-public .nk-party-intro h2,
body.nk-wh-public .nk-party-faq-lead h2 {
  margin:5px 0 13px;
  color:#2e231b;
  font:700 clamp(1.85rem,3.1vw,2.85rem)/1.14 "Bitter",Georgia,serif;
  letter-spacing:-.035em;
  text-wrap:balance;
}
body.nk-wh-public .nk-party-intro p,
body.nk-wh-public .nk-party-faq-lead p {
  color:#5d4d40;font-size:1.075rem;line-height:1.65;
  max-width:710px;margin:0;
}
body.nk-wh-public .nk-party-photo-grid {
  display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));
  gap:13px;
}
body.nk-wh-public .nk-party-photo {
  position:relative;isolation:isolate;overflow:hidden;
  min-width:0;min-height:280px;margin:0;background:#6e5646;
  border:1px solid #c5ac8b;box-shadow:0 5px 14px rgba(53,37,24,.08);
}
body.nk-wh-public .nk-party-photo--large {min-height:355px;}
body.nk-wh-public .nk-party-photo img {
  display:block;width:100%;height:100%;max-width:none;
  position:absolute;inset:0;object-fit:cover;object-position:center;
}
body.nk-wh-public .nk-party-photo::after {
  content:"";position:absolute;z-index:0;inset:45% 0 0;
  background:linear-gradient(180deg,transparent,rgba(20,13,8,.67));
  pointer-events:none;
}
body.nk-wh-public .nk-party-photo figcaption {
  position:absolute;bottom:0;left:0;right:0;z-index:1;
  padding:18px;color:#fffaf1;
  font:700 clamp(.9rem,1.35vw,1.06rem)/1.32 "Bitter",Georgia,serif;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}
body.nk-wh-public .nk-party-photo-note {
  margin:15px 0 0;
  color:#615042;font-size:.92rem;line-height:1.5;
}
body.nk-wh-public .nk-party-steps {
  list-style:none;margin:0 0 26px;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;counter-reset:step;
}
body.nk-wh-public .nk-party-steps>li {
  background:#f4ecdf;border:1px solid #dccbb6;
  min-width:0;padding:23px 22px 26px;
}
body.nk-wh-public .nk-party-stepnum {
  display:inline-flex;align-items:center;justify-content:center;
  width:47px;height:47px;margin:0 0 15px;
  color:#8d462b;border:1px solid #ba9877;border-radius:50%;
  font:800 1.04rem/1 "Bitter",Georgia,serif;
}
body.nk-wh-public .nk-party-steps h3 {
  margin:0 0 9px;color:#31241b;
  font:700 clamp(1.12rem,1.7vw,1.34rem)/1.23 "Bitter",Georgia,serif;
}
body.nk-wh-public .nk-party-steps p {
  margin:0;color:#655448;font-size:.98rem;line-height:1.58;
}
body.nk-wh-public .nk-party-faq-layout {
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:clamp(30px,5vw,78px);align-items:start;
}
body.nk-wh-public .nk-party-faq-lead .nk-wh-link {
  margin-top:19px;
}
body.nk-wh-public .nk-party-faq-list {
  border-top:1px solid #cbb89f;
}
body.nk-wh-public .nk-party-faq-list details {
  border-bottom:1px solid #cbb89f;background:transparent;
}
body.nk-wh-public .nk-party-faq-list summary {
  position:relative;display:block;
  min-height:54px;padding:16px 42px 16px 0;
  color:#32251c;cursor:pointer;
  font:700 1.03rem/1.45 "Bitter",Georgia,serif;
  list-style:none;
}
body.nk-wh-public .nk-party-faq-list summary::-webkit-details-marker {display:none;}
body.nk-wh-public .nk-party-faq-list summary::after {
  content:"+";position:absolute;top:14px;right:5px;
  color:#86462d;font:600 1.55rem/1.1 Georgia,serif;
}
body.nk-wh-public .nk-party-faq-list details[open] summary::after {content:"−";}
body.nk-wh-public .nk-party-faq-list details>div {
  padding:0 35px 19px 0;color:#5f5044;
  font-size:1rem;line-height:1.67;
}
body.nk-wh-public .nk-party-faq-list summary:focus-visible {
  outline:3px solid #8b5030;outline-offset:4px;
}
@media(max-width:910px) {
  body.nk-wh-public .nk-party-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.nk-wh-public .nk-party-photo--large {grid-column:1/-1;min-height:340px;}
  body.nk-wh-public .nk-party-photo:not(.nk-party-photo--large) {min-height:245px;}
  body.nk-wh-public .nk-party-faq-layout {grid-template-columns:1fr;gap:23px;}
}
@media(max-width:760px) {
  body.nk-wh-public .nk-party-room,
  body.nk-wh-public .nk-party-process,
  body.nk-wh-public .nk-party-faq {padding-block:44px;}
  body.nk-wh-public .nk-party-steps {grid-template-columns:1fr;gap:10px;}
  body.nk-wh-public .nk-party-steps>li {padding:19px;}
  body.nk-wh-public .nk-party-stepnum {margin-bottom:10px;}
  body.nk-wh-public .nk-party-photo--large {min-height:270px;}
  body.nk-wh-public .nk-party-photo:not(.nk-party-photo--large) {min-height:195px;}
  body.nk-wh-public .nk-party-photo figcaption {padding:12px;font-size:.9rem;}
  body.nk-wh-public .nk-party-faq-list summary {font-size:1rem;}
}
@media(max-width:420px) {
  body.nk-wh-public .nk-party-photo-grid {gap:8px;}
  body.nk-wh-public .nk-party-photo--large {min-height:235px;}
  body.nk-wh-public .nk-party-photo:not(.nk-party-photo--large) {min-height:175px;}
}

/* Connected, verified Google Business Profile: honest opt-in reviews. */
body.nk-wh-public .nk-google-review {
  background:#efe4d3;border-block:1px solid #d6c2a8;padding:clamp(32px,4vw,55px) 0;
}
body.nk-wh-public .nk-google-review .krug-shell {
  display:flex;align-items:center;justify-content:space-between;gap:30px;
}
body.nk-wh-public .nk-google-review h2 {
  color:#30231b;font:700 clamp(1.65rem,2.6vw,2.15rem)/1.19 "Bitter",Georgia,serif;
  letter-spacing:-.035em;margin:4px 0 10px;
}
body.nk-wh-public .nk-google-review p {
  color:#574639;max-width:680px;font-size:1rem;line-height:1.6;margin:0;
}
body.nk-wh-public .nk-google-review .nk-wh-button {flex:0 0 auto;}
@media(max-width:760px){
  body.nk-wh-public .nk-google-review .krug-shell {
    align-items:flex-start;flex-direction:column;gap:22px;
  }
  body.nk-wh-public .nk-google-review .nk-wh-button {width:100%;min-height:48px;}
}
@media(prefers-reduced-motion:reduce) {
 body.nk-wh-public .nk-wh-gallery-grid img{transition:none!important;}
}
