/* NorseStory – WhatsApp-Kanal Popup */
.ns-wa-popup[hidden]{display:none!important}
.ns-wa-popup{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
  font-family:"Barlow",Arial,sans-serif;
}
.ns-wa-popup__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,4,3,.78);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  opacity:0;
  transition:opacity .35s ease;
}
.ns-wa-popup__card{
  position:relative;
  width:min(660px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:54px 62px 46px;
  text-align:center;
  color:#eadcc6;
  border:1px solid rgba(213,191,154,.42);
  background:
    radial-gradient(circle at 50% 0,rgba(213,191,154,.09),transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(129,0,0,.16),transparent 34%),
    linear-gradient(145deg,#201b17 0%,#12100e 56%,#0b0a09 100%);
  box-shadow:0 36px 110px rgba(0,0,0,.72),inset 0 0 70px rgba(0,0,0,.24);
  opacity:0;
  transform:translateY(18px) scale(.985);
  transition:opacity .38s ease,transform .38s ease;
}
.ns-wa-popup__card:before{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  border:1px solid rgba(213,191,154,.12);
}
.ns-wa-popup__card:after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:180px;
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#810000 25%,#d5bf9a 50%,#810000 75%,transparent);
}
.ns-wa-popup.is-visible .ns-wa-popup__backdrop{opacity:1}
.ns-wa-popup.is-visible .ns-wa-popup__card{opacity:1;transform:none}

.ns-wa-popup__close{
  position:absolute;
  z-index:2;
  top:17px;
  right:18px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(213,191,154,.16);
  background:rgba(255,255,255,.025);
  color:#b9a78d;
  font:300 25px/1 Arial,sans-serif;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.ns-wa-popup__close:hover,.ns-wa-popup__close:focus-visible{
  color:#f0dfc2;
  border-color:rgba(213,191,154,.48);
  background:rgba(213,191,154,.06);
  outline:none;
}
.ns-wa-popup__seal{
  width:70px;
  height:70px;
  margin:0 auto 18px;
  object-fit:contain;
  opacity:.92;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.38));
}
.ns-wa-popup__eyebrow{
  margin:0 0 12px;
  color:#c9aa72;
  font-size:10px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.27em;
  text-transform:uppercase;
}
.ns-wa-popup__ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:190px;
  margin:0 auto 19px;
}
.ns-wa-popup__ornament:before,.ns-wa-popup__ornament:after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(213,191,154,.48));
}
.ns-wa-popup__ornament:after{transform:scaleX(-1)}
.ns-wa-popup__ornament span{
  width:7px;
  height:7px;
  border:1px solid #b7955e;
  transform:rotate(45deg);
}
.ns-wa-popup h2{
  margin:0 0 19px;
  color:#fff3df;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.25rem,5vw,3.15rem);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.ns-wa-popup__copy{
  max-width:510px;
  margin:0 auto;
  color:#cbbba5;
  font-size:15.5px;
  line-height:1.72;
}
.ns-wa-popup__copy strong{color:#ead7b8;font-weight:600}
.ns-wa-popup__cta{
  width:min(430px,100%);
  min-height:55px;
  margin:29px auto 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:14px 22px;
  border:1px solid #a53030;
  background:linear-gradient(180deg,#8f1111,#720000);
  color:#fff8ec;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.055em;
  box-shadow:0 14px 34px rgba(129,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.ns-wa-popup__cta:hover,.ns-wa-popup__cta:focus-visible{
  transform:translateY(-2px);
  background:linear-gradient(180deg,#a31818,#810000);
  border-color:#c84a4a;
  outline:none;
}
.ns-wa-popup__cta svg{width:19px;height:19px;fill:currentColor;flex:0 0 auto}
.ns-wa-popup__note{
  margin:0;
  color:#857966;
  font-size:11px;
  letter-spacing:.055em;
}
body.ns-wa-popup-open{overflow:hidden}

@media(max-width:700px){
  .ns-wa-popup{padding:16px}
  .ns-wa-popup__card{
    max-height:calc(100vh - 32px);
    padding:42px 24px 31px;
  }
  .ns-wa-popup__close{top:12px;right:12px;width:34px;height:34px}
  .ns-wa-popup__seal{width:58px;height:58px;margin-bottom:14px}
  .ns-wa-popup__eyebrow{font-size:9px;letter-spacing:.22em;margin-bottom:10px}
  .ns-wa-popup__ornament{margin-bottom:15px}
  .ns-wa-popup h2{font-size:2.25rem;margin-bottom:15px}
  .ns-wa-popup__copy{font-size:14px;line-height:1.62}
  .ns-wa-popup__cta{margin-top:23px;min-height:52px;padding:13px 16px;font-size:12px}
}
@media(max-width:390px){
  .ns-wa-popup__card{padding-left:19px;padding-right:19px}
  .ns-wa-popup h2{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){
  .ns-wa-popup__backdrop,.ns-wa-popup__card,.ns-wa-popup__cta{transition:none}
}
