/* D/7 Designbibliothek – Merkzettel + Orbit Teaser v1.8 */

:root {
  --d7-wishlist-dark:#172033;
  --d7-wishlist-card:#182235;
  --d7-wishlist-card-2:#1d2940;
  --d7-wishlist-text:#20283a;
  --d7-wishlist-muted:#747d8e;
  --d7-wishlist-line:#e1e5ed;
  --d7-wishlist-soft:#f5f7fb;
}

.d7-wishlist {
  position:relative;
  z-index:99990;
  font-family:inherit;
}

.d7-wishlist[hidden] {
  display:none !important;
}

.d7-wishlist *,
.d7-wishlist *::before,
.d7-wishlist *::after,
.d7-save,
.d7-save::before,
.d7-save::after {
  box-sizing:border-box;
}


/* =========================================================
   TAB
========================================================= */

.d7-wishlist__tab {
  position:fixed;
  z-index:99991;
  top:48%;
  right:0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:10px 12px 10px 17px !important;
  border:0 !important;
  border-radius:15px 0 0 15px !important;
  background:var(--d7-wishlist-dark) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(23,32,51,.18) !important;
  cursor:pointer;
  font:inherit;
  line-height:1;
  transform:translateY(-50%);
  transition:transform .22s ease, box-shadow .22s ease;
}

.d7-wishlist__tab:hover {
  transform:translateY(-50%) translateX(-3px);
  box-shadow:0 18px 40px rgba(23,32,51,.23) !important;
}

.d7-wishlist__tab-brand {
  color:rgba(255,255,255,.70);
  font-size:13px;
  font-weight:400;
  letter-spacing:.01em;
}

.d7-wishlist__tab-label {
  color:#fff;
  font-size:15px;
  font-weight:400;
}

.d7-wishlist__count {
  min-width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:14px;
  font-weight:400;
}

.d7-wishlist__count[data-empty="true"] {
  display:none;
}


/* =========================================================
   OVERLAY + PANEL
========================================================= */

.d7-wishlist__overlay {
  position:fixed;
  z-index:99992;
  inset:0;
  background:rgba(12,17,27,.34);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

.d7-wishlist.is-open .d7-wishlist__overlay {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.d7-wishlist__panel {
  position:fixed;
  z-index:99993;
  top:0;
  right:0;
  width:min(520px,96vw);
  height:100dvh;
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:-24px 0 64px rgba(23,32,51,.18);
  transform:translateX(105%);
  visibility:hidden;
  transition:transform .36s cubic-bezier(.2,.75,.2,1), visibility .36s ease;
}

.d7-wishlist.is-open .d7-wishlist__panel {
  transform:translateX(0);
  visibility:visible;
}

.d7-wishlist__panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding:28px 30px 22px;
  border-bottom:1px solid var(--d7-wishlist-line);
}

.d7-wishlist__eyebrow {
  display:block;
  margin-bottom:8px;
  color:var(--d7-wishlist-muted);
  font-size:11px;
  line-height:1.2;
  font-weight:400;
}

.d7-wishlist__panel-head h2 {
  margin:0;
  color:var(--d7-wishlist-dark);
  font-size:32px;
  line-height:1.06;
  letter-spacing:-.035em;
  font-weight:400!important;
}

.d7-wishlist__close {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  padding:0 !important;
  border:1px solid #d9dee7 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--d7-wishlist-dark) !important;
  box-shadow:none !important;
  cursor:pointer;
  font:inherit;
  font-size:20px;
  font-weight:400;
  line-height:1;
}

.d7-wishlist__panel-body {
  flex:1;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:24px 30px 34px;
  scrollbar-width:thin;
  scrollbar-color:#aeb4be transparent;
}

.d7-wishlist__intro {
  margin:0 0 22px;
  color:var(--d7-wishlist-muted);
  font-size:15px;
  line-height:1.58;
  font-weight:400;
}


/* =========================================================
   EMPTY
========================================================= */

.d7-wishlist__empty {
  padding:24px 0 20px;
}

.d7-wishlist__empty-mark {
  width:58px;
  height:50px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:13px;
  background:var(--d7-wishlist-card);
  color:#fff;
  font-size:15px;
  font-weight:400;
}

.d7-wishlist__empty strong {
  display:block;
  margin-bottom:7px;
  color:var(--d7-wishlist-dark);
  font-size:18px;
  line-height:1.3;
  font-weight:400;
}

.d7-wishlist__empty p {
  margin:0;
  color:var(--d7-wishlist-muted);
  font-size:14px;
  line-height:1.55;
  font-weight:400;
}


/* =========================================================
   LIST – DARK CARDS
========================================================= */

.d7-wishlist__list {
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.d7-wishlist__item {
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 32px;
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:78px;
  padding:12px 13px 12px 15px;
  border:1px solid rgba(255,255,255,.04);
  border-radius:14px;
  background:var(--d7-wishlist-card);
  box-shadow:0 9px 22px rgba(23,32,51,.06);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.d7-wishlist__item:hover {
  background:var(--d7-wishlist-card-2);
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(23,32,51,.10);
}

.d7-wishlist__item-id {
  display:block;
  color:#fff;
  font-size:19px;
  line-height:1;
  letter-spacing:-.025em;
  font-weight:400;
}

.d7-wishlist__item-copy {
  min-width:0;
}

.d7-wishlist__item-category {
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.52);
  font-size:10px;
  line-height:1.2;
  font-weight:400;
}

.d7-wishlist__item-title {
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:15px;
  line-height:1.3;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.d7-wishlist__remove {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.06) !important;
  color:rgba(255,255,255,.64) !important;
  box-shadow:none !important;
  cursor:pointer;
  font:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1;
}

.d7-wishlist__remove:hover {
  background:rgba(255,255,255,.11) !important;
  color:#fff !important;
}


/* =========================================================
   SUMMARY
========================================================= */

.d7-wishlist__summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--d7-wishlist-line);
}

.d7-wishlist__summary-text {
  color:var(--d7-wishlist-dark);
  font-size:14px;
  font-weight:400;
}

.d7-wishlist__clear {
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--d7-wishlist-muted) !important;
  box-shadow:none !important;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* =========================================================
   CF7 FORM – DIREKT IM PANEL
========================================================= */

.d7-wishlist__form-wrap {
  display:none;
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid var(--d7-wishlist-line);
}

.d7-wishlist.has-items .d7-wishlist__form-wrap {
  display:block;
}

.d7-wishlist__form-head {
  margin-bottom:24px;
}

.d7-wishlist__form-head span {
  display:block;
  margin-bottom:8px;
  color:var(--d7-wishlist-muted);
  font-size:11px;
  line-height:1.3;
  font-weight:400;
}

.d7-wishlist__form-head h3 {
  margin:0 0 9px;
  color:var(--d7-wishlist-dark);
  font-size:25px;
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:400!important;
}

.d7-wishlist__form-head p {
  margin:0;
  color:var(--d7-wishlist-muted);
  font-size:14px;
  line-height:1.58;
  font-weight:400;
}

.d7-wishlist__form-wrap .wpcf7,
.d7-wishlist__form-wrap .wpcf7-form {
  margin:0;
}

.d7-wishlist__form-wrap .wpcf7-form p {
  margin:0 0 21px !important;
}

.d7-wishlist__form-wrap .wpcf7-form p:last-of-type {
  margin-bottom:0 !important;
}

.d7-wishlist__form-wrap .wpcf7 label {
  display:block;
  color:var(--d7-wishlist-dark);
  font-family:inherit;
  font-size:15px;
  line-height:1.45;
  font-weight:400!important;
}

.d7-wishlist__form-wrap .wpcf7-form-control-wrap {
  display:block;
}

.d7-wishlist__form-wrap input[type="text"],
.d7-wishlist__form-wrap input[type="email"],
.d7-wishlist__form-wrap input[type="tel"],
.d7-wishlist__form-wrap input[type="url"],
.d7-wishlist__form-wrap input[type="number"],
.d7-wishlist__form-wrap select,
.d7-wishlist__form-wrap textarea {
  width:100%;
  min-height:56px;
  margin-top:9px;
  padding:14px 17px !important;
  border:1px solid #e1e5eb !important;
  border-radius:17px !important;
  background:#fff !important;
  color:var(--d7-wishlist-dark) !important;
  box-shadow:none !important;
  font-family:inherit;
  font-size:15px;
  line-height:1.45;
  font-weight:400!important;
  outline:0;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.d7-wishlist__form-wrap textarea {
  min-height:150px;
  padding-top:16px !important;
  resize:vertical;
}

.d7-wishlist__form-wrap input::placeholder,
.d7-wishlist__form-wrap textarea::placeholder {
  color:#9ba2ae;
  opacity:1;
}

.d7-wishlist__form-wrap input:focus,
.d7-wishlist__form-wrap select:focus,
.d7-wishlist__form-wrap textarea:focus {
  border-color:#aeb6c2 !important;
  box-shadow:0 0 0 3px rgba(23,32,51,.045) !important;
}

.d7-wishlist__form-wrap input[type="submit"] {
  width:100%;
  min-height:52px;
  margin-top:3px;
  padding:13px 18px !important;
  border:0 !important;
  border-radius:13px !important;
  background:var(--d7-wishlist-dark) !important;
  color:#fff !important;
  box-shadow:none !important;
  cursor:pointer;
  font-family:inherit;
  font-size:14px;
  line-height:1.2;
  font-weight:400!important;
  transition:transform .2s ease, background .2s ease;
}

.d7-wishlist__form-wrap input[type="submit"]:hover {
  transform:translateY(-1px);
  background:#202c43 !important;
}

.d7-wishlist__form-wrap .wpcf7-spinner {
  margin:12px 0 0 10px;
}

.d7-wishlist__form-wrap .wpcf7-not-valid-tip {
  margin-top:7px;
  color:#a14f4f;
  font-size:12px;
  line-height:1.4;
  font-weight:400;
}

.d7-wishlist__form-wrap .wpcf7-response-output {
  margin:16px 0 0 !important;
  padding:12px 14px !important;
  border:1px solid #dfe3e8 !important;
  border-radius:13px;
  color:var(--d7-wishlist-text);
  font-size:12px;
  line-height:1.5;
}


/* Hidden D/7 fields should never create spacing in the form. */
.d7-wishlist__form-wrap input[type="hidden"],
.d7-wishlist__form-wrap [name="d7-auswahl"],
.d7-wishlist__form-wrap [name="d7-auswahl-json"],
.d7-wishlist__form-wrap [name="d7-quelle"] {
  display:none !important;
}


/* =========================================================
   SUCCESS
========================================================= */

.d7-wishlist__success {
  display:none;
  padding:32px 0 12px;
}

.d7-wishlist.is-success .d7-wishlist__success {
  display:block;
}

.d7-wishlist.is-success .d7-wishlist__selection,
.d7-wishlist.is-success .d7-wishlist__form-wrap,
.d7-wishlist.is-success .d7-wishlist__intro {
  display:none;
}

.d7-wishlist__success-mark {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:14px;
  background:var(--d7-wishlist-card);
  color:#fff;
  font-size:20px;
  font-weight:400;
}

.d7-wishlist__success h3 {
  margin:0 0 9px;
  color:var(--d7-wishlist-dark);
  font-size:25px;
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:400!important;
}

.d7-wishlist__success p {
  margin:0;
  color:var(--d7-wishlist-muted);
  font-size:14px;
  line-height:1.58;
  font-weight:400;
}


/* =========================================================
   SAVE BUTTONS
========================================================= */

.d7-save-host {
  position:relative !important;
}

.d7-save {
  position:absolute;
  z-index:30;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 11px !important;
  border:1px solid rgba(23,32,51,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.94) !important;
  color:var(--d7-wishlist-dark) !important;
  box-shadow:0 7px 20px rgba(23,32,51,.08) !important;
  cursor:pointer;
  font:inherit;
  font-size:11px;
  font-weight:400;
  line-height:1;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}

.d7-save:hover {
  transform:translateY(-1px);
}

.d7-save::before {
  content:"+";
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf0f4;
  color:var(--d7-wishlist-dark);
  font-size:13px;
  font-weight:400;
}

.d7-save.is-saved {
  background:var(--d7-wishlist-dark) !important;
  color:#fff !important;
}

.d7-save.is-saved::before {
  content:"✓";
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:10px;
}


/* Hero pages: save button sits inside the large hero preview. */
.d7-herolab__demo.d7-save-host > .d7-save {
  top:16px;
  right:16px;
}


/* =========================================================
   PEEK
========================================================= */

.d7-wishlist__peek {
  position:fixed;
  z-index:99994;
  right:18px;
  top:calc(48% + 47px);
  display:flex;
  align-items:center;
  gap:10px;
  max-width:280px;
  padding:11px 14px;
  border-radius:13px;
  background:var(--d7-wishlist-card);
  color:#fff;
  box-shadow:0 15px 38px rgba(23,32,51,.18);
  opacity:0;
  visibility:hidden;
  transform:translateX(18px);
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.d7-wishlist.is-peeking .d7-wishlist__peek {
  opacity:1;
  visibility:visible;
  transform:translateX(0);
}

.d7-wishlist__peek strong {
  color:#fff;
  font-size:12px;
  font-weight:400;
}

.d7-wishlist__peek span {
  overflow:hidden;
  color:rgba(255,255,255,.75);
  font-size:12px;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.d7-wishlist-lock {
  overflow:hidden;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:700px) {

  .d7-wishlist__tab {
    top:auto;
    right:14px;
    bottom:14px;
    left:14px;
    width:auto;
    justify-content:center;
    border-radius:999px !important;
    transform:none;
  }

  .d7-wishlist__tab:hover {
    transform:translateY(-1px);
  }

  .d7-wishlist__panel {
    top:auto;
    bottom:0;
    width:100%;
    height:min(91dvh,860px);
    border-radius:22px 22px 0 0;
    box-shadow:0 -20px 60px rgba(23,32,51,.20);
    transform:translateY(105%);
  }

  .d7-wishlist.is-open .d7-wishlist__panel {
    transform:translateY(0);
  }

  .d7-wishlist__panel::before {
    content:"";
    width:44px;
    height:4px;
    display:block;
    flex:0 0 auto;
    margin:9px auto 0;
    border-radius:999px;
    background:#d6dbe3;
  }

  .d7-wishlist__panel-head {
    padding:17px 20px 18px;
  }

  .d7-wishlist__panel-head h2 {
    font-size:29px;
  }

  .d7-wishlist__panel-body {
    padding:20px 20px 28px;
  }

  .d7-wishlist__item {
    grid-template-columns:56px minmax(0,1fr) 30px;
    min-height:74px;
  }

  .d7-wishlist__item-id {
    font-size:17px;
  }

  .d7-wishlist__form-wrap input[type="text"],
  .d7-wishlist__form-wrap input[type="email"],
  .d7-wishlist__form-wrap input[type="tel"],
  .d7-wishlist__form-wrap input[type="url"],
  .d7-wishlist__form-wrap input[type="number"],
  .d7-wishlist__form-wrap select,
  .d7-wishlist__form-wrap textarea {
    font-size:16px;
  }

  .d7-wishlist__peek {
    top:auto;
    right:20px;
    bottom:78px;
    left:20px;
    max-width:none;
    justify-content:center;
  }

  .d7-save {
    top:11px;
    right:11px;
  }

  .d7-herolab__demo.d7-save-host > .d7-save {
    top:12px;
    right:12px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce) {

  .d7-wishlist *,
  .d7-wishlist *::before,
  .d7-wishlist *::after,
  .d7-save,
  .d7-save::before,
  .d7-save::after {
    animation:none !important;
    transition-duration:.01ms !important;
  }

}


/* =========================================================
   D/7 v1.4 – CF7 KOMPAKT / BRIDGE OVERRIDE
   Diese Regeln stehen bewusst ganz am Ende.
========================================================= */

.d7-wishlist__form-wrap {
  margin-top:22px !important;
  padding-top:22px !important;
}

.d7-wishlist__form-head {
  margin-bottom:18px !important;
}

.d7-wishlist__form-wrap .wpcf7,
.d7-wishlist__form-wrap .wpcf7-form {
  margin:0 !important;
  padding:0 !important;
}

.d7-wishlist__form-wrap .wpcf7-form > p,
.d7-wishlist__form-wrap .wpcf7-form p {
  margin:0 0 14px !important;
  padding:0 !important;
  line-height:1 !important;
}

.d7-wishlist__form-wrap .wpcf7-form p:last-of-type {
  margin-bottom:0 !important;
}

.d7-wishlist__form-wrap .wpcf7 label {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#20283a !important;
  font-family:Raleway, sans-serif !important;
  font-size:13px !important;
  line-height:17px !important;
  font-weight:400 !important;
}

.d7-wishlist__form-wrap .wpcf7 label > br {
  display:none !important;
}

.d7-wishlist__form-wrap .wpcf7-form-control-wrap {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

/* Höhere Spezifität als Bridge */
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-date,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-number,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-quiz,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-text,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-email,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-tel,
.d7-wishlist__form-wrap select.wpcf7-form-control.wpcf7-select,
.d7-wishlist__form-wrap textarea.wpcf7-form-control.wpcf7-textarea {
  display:block !important;
  width:100% !important;
  margin:5px 0 0 !important;
  padding:14px 15px !important;
  border:1px solid #e1e5ed !important;
  border-radius:16px !important;
  outline:0 !important;
  background:#fff !important;
  color:#818181 !important;
  box-shadow:none !important;

  font-family:Raleway, sans-serif !important;
  font-size:13px !important;
  line-height:17px !important;
  font-weight:400 !important;

  box-sizing:border-box !important;
  -webkit-appearance:none;
}

.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-date,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-number,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-quiz,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-text,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-email,
.d7-wishlist__form-wrap input.wpcf7-form-control.wpcf7-tel,
.d7-wishlist__form-wrap select.wpcf7-form-control.wpcf7-select {
  height:48px !important;
  min-height:48px !important;
}

/* Das Nachrichtenfeld bewusst kompakt halten. */
.d7-wishlist__form-wrap textarea.wpcf7-form-control.wpcf7-textarea {
  height:120px !important;
  min-height:120px !important;
  max-height:180px !important;
  resize:vertical !important;
}

/* Browser-Autofill nicht hellblau darstellen. */
.d7-wishlist__form-wrap input:-webkit-autofill,
.d7-wishlist__form-wrap input:-webkit-autofill:hover,
.d7-wishlist__form-wrap input:-webkit-autofill:focus,
.d7-wishlist__form-wrap textarea:-webkit-autofill,
.d7-wishlist__form-wrap select:-webkit-autofill {
  -webkit-text-fill-color:#818181 !important;
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  box-shadow:0 0 0 1000px #fff inset !important;
  transition:background-color 9999s ease-out 0s;
  font-family:Raleway, sans-serif !important;
  font-size:13px !important;
}

.d7-wishlist__form-wrap input::placeholder,
.d7-wishlist__form-wrap textarea::placeholder {
  color:#9aa2ad !important;
  opacity:1 !important;
  font-family:Raleway, sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
}

.d7-wishlist__form-wrap input:focus,
.d7-wishlist__form-wrap select:focus,
.d7-wishlist__form-wrap textarea:focus {
  border-color:#bcc4ce !important;
  box-shadow:0 0 0 2px rgba(23,32,51,.035) !important;
}

.d7-wishlist__form-wrap input[type="submit"].wpcf7-submit,
.d7-wishlist__form-wrap input[type="submit"] {
  width:100% !important;
  min-height:48px !important;
  margin:2px 0 0 !important;
  padding:13px 18px !important;
  border:0 !important;
  border-radius:13px !important;
  background:#172033 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-family:Raleway, sans-serif !important;
  font-size:13px !important;
  line-height:17px !important;
  font-weight:400 !important;
}

@media (max-width:700px) {
  .d7-wishlist__form-wrap .wpcf7-form > p,
  .d7-wishlist__form-wrap .wpcf7-form p {
    margin-bottom:12px !important;
  }

  .d7-wishlist__form-wrap textarea.wpcf7-form-control.wpcf7-textarea {
    height:110px !important;
    min-height:110px !important;
  }
}


/* =========================================================
   D/7 v1.5 – Submit kompakter + leere CF7-Meldung entfernen
========================================================= */

/* Der leere CF7-Response-Container war das zusätzliche Feld unter dem Button. */
.d7-wishlist__form-wrap .wpcf7-form:not(.invalid):not(.sent):not(.failed):not(.spam):not(.unaccepted) .wpcf7-response-output,
.d7-wishlist__form-wrap .wpcf7-response-output:empty {
  display:none !important;
}

/* Nur echte Meldungen anzeigen. */
.d7-wishlist__form-wrap .wpcf7-form.invalid .wpcf7-response-output,
.d7-wishlist__form-wrap .wpcf7-form.sent .wpcf7-response-output,
.d7-wishlist__form-wrap .wpcf7-form.failed .wpcf7-response-output,
.d7-wishlist__form-wrap .wpcf7-form.spam .wpcf7-response-output,
.d7-wishlist__form-wrap .wpcf7-form.unaccepted .wpcf7-response-output {
  display:block !important;
}

/* Submit nicht mehr über die komplette Panelbreite. */
.d7-wishlist__form-wrap input[type="submit"].wpcf7-submit,
.d7-wishlist__form-wrap input[type="submit"] {
  width:auto !important;
  min-width:0 !important;
  min-height:44px !important;
  margin:2px 0 0 !important;
  padding:11px 18px !important;
  border-radius:11px !important;
  font-size:12px !important;
  line-height:17px !important;
  letter-spacing:.01em;
}

/* CF7-Spinner soll neben dem Button sitzen und keinen Leerraum erzeugen. */
.d7-wishlist__form-wrap .wpcf7-spinner {
  display:inline-block;
  margin:0 0 0 10px !important;
  vertical-align:middle;
}


/* =========================================================
   D/7 v1.6 – DESIGNBIBLIOTHEK TEASER
   Nur außerhalb der Designbibliothek, solange nichts gemerkt ist.
========================================================= */

.d7-library-promo[hidden] {
  display:none !important;
}

.d7-library-promo {
  position:fixed;
  z-index:99980;
  left:22px;
  bottom:22px;
  width:min(350px, calc(100vw - 44px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:17px;
  background:#172033;
  box-shadow:0 20px 52px rgba(23,32,51,.18);
  font-family:inherit;
}

.d7-library-promo *,
.d7-library-promo *::before,
.d7-library-promo *::after {
  box-sizing:border-box;
}

.d7-library-promo__link {
  display:block;
  padding:27px 27px 24px;
  color:#fff !important;
  text-decoration:none !important;
}

.d7-library-promo__title {
  max-width:285px;
  margin:0 30px 23px 0 !important;
  color:#fff !important;
  font-family:inherit;
  font-size:29px;
  line-height:1.14;
  letter-spacing:-.035em;
  font-weight:300 !important;
}

.d7-library-promo__cta {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.76);
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  font-weight:400;
  transition:color .2s ease;
}

.d7-library-promo__arrow {
  display:inline-block;
  color:#fff;
  font-size:20px;
  line-height:1;
  font-weight:300;
  transform:translateX(0);
  transition:transform .22s ease;
}

.d7-library-promo__link:hover .d7-library-promo__cta {
  color:#fff;
}

.d7-library-promo__link:hover .d7-library-promo__arrow {
  transform:translateX(4px);
}

.d7-library-promo__close {
  position:absolute;
  z-index:2;
  top:11px;
  right:11px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:rgba(255,255,255,.48) !important;
  box-shadow:none !important;
  cursor:pointer;
  font:inherit;
  font-size:18px;
  line-height:1;
  font-weight:300;
  transition:color .2s ease, background .2s ease;
}

.d7-library-promo__close:hover {
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
}

@media (max-width:700px) {
  .d7-library-promo {
    right:14px;
    bottom:14px;
    left:14px;
    width:auto;
    border-radius:16px;
  }

  .d7-library-promo__link {
    padding:23px 23px 21px;
  }

  .d7-library-promo__title {
    max-width:290px;
    margin-bottom:18px !important;
    font-size:25px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .d7-library-promo *,
  .d7-library-promo *::before,
  .d7-library-promo *::after {
    transition-duration:.01ms !important;
  }
}


/* =========================================================
   D/7 v1.8 – ORBIT GLASS TEASER
   Dunkelblau bleibt erhalten. Nur Kante, Licht und Fläche leben.
========================================================= */

.d7-library-promo--orbit {
  isolation:isolate;
  overflow:hidden;
  border:0 !important;
  background:#172033 !important;
  box-shadow:
    0 0 0 1px rgba(150,175,255,.10),
    0 0 30px rgba(69,102,217,.10),
    0 22px 54px rgba(23,32,51,.22) !important;
}

/* Der umlaufende Lichtpunkt / Orbit-Rand */
.d7-library-promo--orbit::before {
  content:"";
  position:absolute;
  z-index:0;
  width:175%;
  aspect-ratio:1;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(0deg);
  background:
    conic-gradient(
      transparent 0deg,
      transparent 278deg,
      rgba(69,102,217,.06) 302deg,
      rgba(109,142,255,.58) 325deg,
      rgba(255,255,255,.98) 340deg,
      rgba(151,185,255,.74) 349deg,
      rgba(69,102,217,.12) 357deg,
      transparent 360deg
    );
  animation:d7PromoOrbit 7.2s linear infinite;
  pointer-events:none;
}

/* Dunkle Innenfläche – 1px Rand bleibt für den Orbit sichtbar. */
.d7-library-promo--orbit::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:1px;
  border-radius:16px;
  background:
    radial-gradient(
      circle at 18% 8%,
      rgba(92,119,220,.18),
      transparent 35%
    ),
    radial-gradient(
      circle at 92% 88%,
      rgba(64,103,188,.10),
      transparent 33%
    ),
    linear-gradient(
      135deg,
      #172033 0%,
      #1a2439 50%,
      #172033 100%
    );
  background-size:145% 145%;
  background-position:0% 35%;
  animation:d7PromoSurface 11s ease-in-out infinite alternate;
  pointer-events:none;
}

/* Inhalt sicher über den beiden Effektflächen halten. */
.d7-library-promo--orbit .d7-library-promo__link {
  position:relative;
  z-index:2;
}

.d7-library-promo--orbit .d7-library-promo__close {
  z-index:3;
}

/* Ein sehr feiner heller Glanz im oberen Bereich. */
.d7-library-promo--orbit .d7-library-promo__link::before {
  content:"";
  position:absolute;
  top:1px;
  left:24px;
  right:72px;
  height:1px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.22),
      transparent
    );
  opacity:.72;
  pointer-events:none;
}

.d7-library-promo--orbit:hover {
  box-shadow:
    0 0 0 1px rgba(150,175,255,.13),
    0 0 36px rgba(69,102,217,.14),
    0 24px 58px rgba(23,32,51,.24) !important;
}

@keyframes d7PromoOrbit {
  from {
    transform:translate(-50%,-50%) rotate(0deg);
  }
  to {
    transform:translate(-50%,-50%) rotate(360deg);
  }
}

@keyframes d7PromoSurface {
  from {
    background-position:0% 35%;
  }
  to {
    background-position:100% 65%;
  }
}

@media (max-width:700px) {
  .d7-library-promo--orbit::after {
    border-radius:15px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .d7-library-promo--orbit::before,
  .d7-library-promo--orbit::after {
    animation:none !important;
  }
}
