.pj-terminsberegner{
  --pj-accent:#f7a5c9;
  --pj-accent-soft:#ffe7f3;
  --pj-text:#111827;
  --pj-muted:#6b7280;
  --pj-border:rgba(0,0,0,.08);
  --pj-card:#ffffff;
  --pj-bg:#f5e9e6;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--pj-text);
}
.pj-terminsberegner *{box-sizing:border-box}


/* Mobile: avoid horizontal overflow */
@media (max-width: 768px){
  .pj-terminsberegner{max-width:100%;overflow-x:hidden;background:transparent;margin:0;padding:0;}
}


.pj-terminsberegner .pj-tb{
  /* Removed outer frame for a full-width, mobile-first layout */
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:0;
  margin:0;
}
.pj-terminsberegner .pj-tb__sum{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.pj-terminsberegner .pj-tb__sum::-webkit-details-marker{display:none}
.pj-terminsberegner .pj-tb__h{margin:0;font-size:24px;font-weight:650;letter-spacing:-.01em}
.pj-terminsberegner .pj-tb__sub{margin:6px 0 0;color:#374151;font-size:14px;line-height:1.4}
.pj-terminsberegner .pj-tb__pill{
  background:#fff;border:1px solid rgba(0,0,0,.08);
  color:#111827;padding:9px 12px;border-radius:999px;
  font-weight:600;font-size:13px;white-space:nowrap
}

.pj-terminsberegner .pj-tb__panel{margin-top:0;background:var(--pj-card);border:1px solid var(--pj-border);border-radius:16px;padding:16px}
.pj-terminsberegner .pj-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.pj-terminsberegner .pj-tab{
  border:1px solid rgba(0,0,0,.10);background:#fff;padding:10px 14px;border-radius:999px;
  cursor:pointer;font-weight:600;font-size:13px;color:#111827
}
.pj-terminsberegner .pj-tab[aria-selected="true"]{background:var(--pj-accent-soft);border-color:rgba(0,0,0,.06)}

.pj-terminsberegner .pj-grid{display:grid;grid-template-columns:1fr;gap:12px}
.pj-terminsberegner .pj-field{background:#fff;border:1px solid var(--pj-border);border-radius:14px;padding:14px}
.pj-terminsberegner label{display:block;margin:0 0 8px;font-weight:600;font-size:13px;color:#111827}
.pj-terminsberegner .pj-mini{color:var(--pj-muted);font-size:12px;font-weight:600;margin:0 0 6px}
.pj-terminsberegner input,.pj-terminsberegner select{
  width:100%;max-width:420px;padding:12px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.16);
  font-size:16px;background:#fff;color:#111827
}
.pj-terminsberegner .pj-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pj-terminsberegner .pj-muted{color:var(--pj-muted);font-size:13px;margin-top:6px;line-height:1.35}
.pj-terminsberegner .pj-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pj-terminsberegner .pj-btn{border:none;border-radius:12px;padding:12px 16px;cursor:pointer;font-weight:650;font-size:14px;box-shadow:none!important}
.pj-terminsberegner .pj-btn--primary{background:var(--pj-accent);color:#fff;border:1px solid rgba(0,0,0,.06)}
.pj-terminsberegner .pj-btn--secondary{background:#fff;border:1px solid rgba(0,0,0,.12);color:#111827}

.pj-terminsberegner .pj-result{margin-top:14px}
.pj-terminsberegner .pj-result__card{
  background:var(--pj-accent-soft);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:16px;
}
.pj-terminsberegner .pj-result__h{margin:0 0 10px;font-size:20px;font-weight:750;letter-spacing:-.01em}
.pj-terminsberegner .pj-result__meta{font-size:14px;line-height:1.4;color:#111827}
.pj-terminsberegner .pj-result__big{margin-top:10px;font-size:30px;font-weight:800;letter-spacing:-.02em}
.pj-terminsberegner .pj-result__small{margin-top:6px;font-size:13px;color:#374151}

.pj-terminsberegner .pj-links{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
  background:#dfead6;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:14px;
}
.pj-terminsberegner .pj-linkcard{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-decoration:none;
  background:#fff;border:1px solid rgba(0,0,0,.08);
  border-radius:16px;padding:14px;
}
.pj-terminsberegner .pj-linkcard__t{font-size:16px;font-weight:750;color:#111827;letter-spacing:-.01em}
.pj-terminsberegner .pj-linkcard__s{margin-top:4px;color:#4b5563;font-size:13px;line-height:1.35}
.pj-terminsberegner .pj-linkcard__go{
  width:44px;height:44px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:#d7a6b2;color:#fff;font-weight:900;
  flex:0 0 auto;
}

.pj-terminsberegner .pj-box{
  margin-top:12px;
  background:#dfead6;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:14px;
}
.pj-terminsberegner .pj-box__h{margin:0 0 10px;font-size:16px;font-weight:800;letter-spacing:-.01em}
.pj-terminsberegner .pj-list{margin:0;padding-left:18px;color:#111827}
.pj-terminsberegner .pj-list li{margin:6px 0;color:#111827}
.pj-terminsberegner .pj-list li span{color:#374151}

.pj-terminsberegner .pj-tablewrap{margin-top:14px;background:#dfead6;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:14px}
.pj-terminsberegner .pj-tablewrap__h{margin:0 0 10px;font-size:22px;font-weight:900;letter-spacing:-.01em}
.pj-terminsberegner .pj-table{
  background:#fff;border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  overflow:hidden;
}
.pj-terminsberegner table{width:100%;border-collapse:collapse}
.pj-terminsberegner th,.pj-terminsberegner td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(0,0,0,.06);vertical-align:top}
.pj-terminsberegner th{font-size:13px;font-weight:800;color:#111827;background:#fff}
.pj-terminsberegner td{font-size:15px;font-weight:650;color:#111827}
.pj-terminsberegner td small{display:block;font-size:12px;font-weight:600;color:#6b7280;margin-top:2px}
.pj-terminsberegner tr:last-child td{border-bottom:none}

/* Label + price line in PJ scan table */
.pj-terminsberegner .pj-label a{color:#111827;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.pj-terminsberegner .pj-price{margin-top:4px;font-size:12px;font-weight:700;color:var(--pj-muted)}
.pj-terminsberegner .pj-price a{color:var(--pj-muted);text-decoration:underline;text-underline-offset:3px}

/* NIPT chooser */
.pj-terminsberegner .pj-nipt{margin-top:12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:14px}
.pj-terminsberegner .pj-nipt h3{margin:0 0 6px;font-size:16px;font-weight:900;letter-spacing:-.01em}
.pj-terminsberegner .pj-nipt__grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.pj-terminsberegner .pj-nipt__card{display:block;text-decoration:none;background:var(--pj-accent-soft);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:12px;color:#111827}
.pj-terminsberegner .pj-nipt__card--ghost{background:#fff}
.pj-terminsberegner .pj-nipt__card--disabled{background:#f3f4f6;border:1px dashed rgba(0,0,0,.12);opacity:.85;}
.pj-terminsberegner .pj-nipt__card--disabled .pj-nipt__title{color:#374151}
.pj-terminsberegner .pj-nipt__title{font-weight:900;letter-spacing:-.01em}
.pj-terminsberegner .pj-nipt__price{margin-top:4px;color:#374151;font-weight:800}
.pj-terminsberegner .pj-nipt__meta{margin-top:6px;font-size:12px;color:var(--pj-muted);font-weight:700}

@media (min-width:720px){
  .pj-terminsberegner .pj-nipt__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.pj-terminsberegner .pj-footnote{margin-top:10px;color:var(--pj-muted);font-size:13px}

@media (min-width:900px){
  .pj-terminsberegner .pj-grid{grid-template-columns:1.2fr .8fr}
  .pj-terminsberegner .pj-links{grid-template-columns:1fr 1fr}
}


/* Mail box */
.pj-terminsberegner .pj-mail{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pj-terminsberegner .pj-input{
  width: min(420px, 100%);
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.16);
  font-size:16px;
  background:#fff;
  color:#111827;
}
.pj-terminsberegner .pj-mail__status{
  margin-top:10px;
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
}
.pj-terminsberegner .pj-mail__status.ok{border-color:rgba(31,122,58,.25)}
.pj-terminsberegner .pj-mail__status.bad{border-color:rgba(185,28,28,.25)}


/* Prevent horizontal page scroll on mobile */
.pj-terminsberegner{max-width:100%;overflow-x:clip}
.pj-terminsberegner .pj-panel,
.pj-terminsberegner .pj-card,
.pj-terminsberegner .pj-grid,
.pj-terminsberegner .pj-field{min-width:0}
.pj-terminsberegner table{width:100%;max-width:100%}
.pj-terminsberegner th,.pj-terminsberegner td{word-break:break-word}
.pj-terminsberegner img, .pj-terminsberegner svg{max-width:100%}


/* NIPT cards (pink outline, no shadow) */
.pj-terminsberegner .pj-nipt-intro{margin:0 0 12px;color:#374151;font-size:14px;line-height:1.45}
.pj-terminsberegner .pj-nipt-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:900px){
  .pj-terminsberegner .pj-nipt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.pj-terminsberegner .pj-nipt-card{
  cursor:pointer;
  display:block;
  text-decoration:none;
  border:2px solid var(--pj-accent);
  background:#fff;
  border-radius:18px;
  padding:16px;
  box-shadow:none !important;
  color:var(--pj-text);
  min-width:0;
}
.pj-terminsberegner .pj-nipt-card:hover{background:#fff4fa}
.pj-terminsberegner .pj-nipt-title{font-size:18px;font-weight:800;margin:0 0 6px}
.pj-terminsberegner .pj-nipt-price{font-size:15px;font-weight:800;margin:0 0 10px;color:#111827}
.pj-terminsberegner .pj-nipt-meta{font-size:13px;color:var(--pj-muted);margin:0 0 12px;font-weight:600}
.pj-terminsberegner .pj-nipt-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:10px 14px;
  border:2px solid var(--pj-accent);
  color:#111827;
  font-weight:800;
  background:transparent;
}
.pj-terminsberegner .pj-nipt-card.is-disabled{
  opacity:.7;
  background:#fff;
}

.pj-terminsberegner .pj-nipt-card.is-disabled .pj-nipt-cta{
  border-color:rgba(0,0,0,.18);
  color:#374151;
}

.pj-terminsberegner .pj-nipt-card--disabled{opacity:.7; background:#fff; border-style:solid}


.pj-terminsberegner .pj-nipt-card--ghost{background:#fff}

/* Extra overflow safety */
.pj-terminsberegner table{table-layout:fixed;}
.pj-terminsberegner th,.pj-terminsberegner td{overflow-wrap:anywhere;}

/* ============================================================
   Campaign Offers
   ============================================================ */
.pj-terminsberegner .pj-campaign-offers {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pj-terminsberegner .pj-campaign-card {
  background: #fff4f9;
  border: 2px solid var(--pj-accent);
  border-radius: 18px;
  padding: 18px;
  position: relative;
}

.pj-terminsberegner .pj-campaign-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.pj-terminsberegner .pj-campaign-badge {
  display: inline-flex;
  align-items: center;
  background: var(--pj-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}

.pj-terminsberegner .pj-campaign-title {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -.01em;
  line-height: 1.25;
}

.pj-terminsberegner .pj-campaign-desc {
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
  margin-bottom: 14px;
}

.pj-terminsberegner .pj-campaign-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.pj-terminsberegner .pj-campaign-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .15s;
}
.pj-terminsberegner .pj-campaign-btn:hover { opacity: .85; }

.pj-terminsberegner .pj-campaign-btn--book {
  background: var(--pj-accent);
  color: #fff;
  border: 2px solid var(--pj-accent);
}

.pj-terminsberegner .pj-campaign-btn--info {
  background: transparent;
  color: #111827;
  border: 2px solid var(--pj-accent);
}

@media (min-width: 640px) {
  .pj-terminsberegner .pj-campaign-offers {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .pj-terminsberegner .pj-campaign-card {
    flex: 1 1 calc(50% - 6px);
    min-width: 240px;
  }
}
