/* Gutschein Popup Banner – Frontend Styles */
.gpb-overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 7, 9, .55);
  backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 999999;
}
.gpb-overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}
.gpb-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(.98);
  background: #fff;
  color: #0f172a;
  width: 92%;
  max-width: 720px;
  border-radius: 20px;
  box-shadow: 0 30px 90px -20px rgba(0,0,0,.5);
  overflow: hidden;
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
  z-index: 1000000;
}
.gpb-modal.is-active {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.gpb-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px 0;
}
.gpb-header img {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  object-fit: cover;
  background:#fff;
}
.gpb-title {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}
.gpb-body {
  padding: 18px 20px 8px 20px;
  background: #fff;
}
.gpb-desc {
  font-size: 16px;
  line-height: 1.55;
  color: #0f172a;
  margin: 6px 0 10px 0;
}
.gpb-meta {
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:12px;
}
.gpb-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:#0f172a;
  padding:6px 10px; border-radius:999px; font-weight:600; font-size:13px;
}
.gpb-code {
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; color:#0f172a; border:1px dashed rgba(0,0,0,.35);
  padding:8px 12px; border-radius:12px; font-weight:700; letter-spacing:.5px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.gpb-conds {
  font-size: 12px; color:#94a3b8; margin-top:6px;
    line-height: 20px;
}
.gpb-footer {
  display:flex; gap:12px; align-items:center; justify-content:space-between;
  padding: 14px 20px 20px 20px;
}
.gpb-actions {
  display:flex; gap:12px; align-items:center;
}
.gpb-btn {
  display:inline-flex; align-items:center; justify-content:center;
  background:#0e577e; color:#fff; border:none; border-radius:14px;
  height:48px; padding:0 18px; font-weight:800; cursor:pointer;
  transition: transform .05s ease, opacity .2s ease;
}
.gpb-btn:hover { opacity:.95;color:#fff; }
.gpb-btn:active { transform: translateY(1px); }
.gpb-close {
  background:transparent; color:#788595; border:1px solid rgba(148,163,184,.6);
  height:40px; padding:0 14px; border-radius:12px; cursor:pointer;
}
@media (max-width:520px){
  .gpb-title{font-size:18px}
  .gpb-header{padding:14px 16px}
  .gpb-body{padding:14px 16px 6px 16px}
  .gpb-footer{padding:12px 16px 16px 16px}
}
