/* MELA 4.3.2 — consolidated QA corrections
   Loaded last on purpose: links, selfchecks, results, CTAs, modals and responsive. */

/* --------------------------------------------------------------------------
   CTA consistency
   -------------------------------------------------------------------------- */
:is(a,button).brand-action {
  width:fit-content;
  max-width:100%;
  min-height:3.2rem !important;
  padding:.85rem 1rem !important;
  gap:1.25rem !important;
  white-space:normal;
}
:is(a,button).brand-action::after {
  margin-left:auto !important;
}
:is(a,button).brand-action--signal::after {
  background:var(--black) !important;
}
/* Personal offer CTAs should not dominate the card. */
.offer-editorial .personal-offer-track .mm-program-booking .brand-action {
  width:auto !important;
  min-width:10.5rem !important;
  max-width:14rem !important;
  min-height:2.85rem !important;
  padding:.7rem .85rem !important;
  font-size:clamp(.68rem,.72vw,.78rem) !important;
}

/* --------------------------------------------------------------------------
   Selfcheck overview — every check uses the Arbeitslage visual grammar.
   -------------------------------------------------------------------------- */
.test-hub-catalog--featured-list { padding-top:clamp(4rem,7vw,7rem); }
.test-hub-featured-list {
  display:grid;
  gap:1rem;
}
.test-hub-featured-list .test-hub-featured {
  min-height:clamp(27rem,40vw,35rem);
  text-decoration:none;
}
.test-hub-featured[data-tone="violet"] { background:var(--violet); color:var(--white); }
.test-hub-featured[data-tone="ink"] { background:var(--black); color:var(--white); }
.test-hub-featured[data-tone="soft"] { background:var(--violet-light); color:var(--black); }
.test-hub-featured[data-tone="signal"] { background:var(--signal); color:var(--black); }
.test-hub-featured[data-tone="paper"] { background:var(--white); color:var(--black); }
.test-hub-featured[data-tone="ink"] .test-card-bar { background:var(--violet); color:var(--white); }
.test-hub-featured[data-tone="violet"] .test-card-bar { background:var(--black); color:var(--white); }
.test-hub-featured[data-tone="signal"] .test-card-bar { background:var(--black); color:var(--white); }
.test-hub-featured[data-tone="soft"] .test-card-bar,
.test-hub-featured[data-tone="paper"] .test-card-bar { background:var(--black); color:var(--white); }
.test-hub-featured[data-tone="ink"] .test-hub-featured-copy > small,
.test-hub-featured[data-tone="violet"] .test-hub-featured-copy > small { color:var(--signal) !important; }
.test-hub-featured[data-tone="signal"] .test-hub-featured-copy > small { color:var(--violet) !important; }
.test-hub-featured[data-tone="soft"] .test-hub-featured-copy > small,
.test-hub-featured[data-tone="paper"] .test-hub-featured-copy > small { color:var(--violet) !important; }
.test-hub-featured[data-tone="ink"] .test-hub-featured-mark { background:var(--violet); }
.test-hub-featured[data-tone="violet"] .test-hub-featured-mark { background:var(--signal); }
.test-hub-featured[data-tone="violet"] .test-hub-featured-mark span { color:var(--black); }
.test-hub-featured[data-tone="signal"] .test-hub-featured-mark { background:var(--violet); }
.test-hub-featured[data-tone="soft"] .test-hub-featured-mark { background:var(--violet); }
.test-hub-featured[data-tone="paper"] .test-hub-featured-mark { background:var(--black); }
.test-hub-featured[data-tone="paper"] .test-hub-featured-mark span { color:var(--signal); }
.test-hub-featured[data-tone="ink"] .test-hub-featured-copy > span,
.test-hub-featured[data-tone="violet"] .test-hub-featured-copy > span { background:var(--white); color:var(--black); }
.test-hub-featured[data-tone="ink"] .test-hub-featured-copy > span::after,
.test-hub-featured[data-tone="violet"] .test-hub-featured-copy > span::after { background:var(--signal); }
.test-hub-section-head { margin-bottom:2.5rem; }

/* --------------------------------------------------------------------------
   Selfcheck results — remove the empty white field and restore hierarchy.
   -------------------------------------------------------------------------- */
.test-result-screen { background:var(--white); }
.test-result-hero {
  display:grid !important;
  grid-template-columns:minmax(13rem,.38fr) minmax(0,1fr) !important;
  min-height:clamp(32rem,53vw,45rem) !important;
  gap:clamp(2.5rem,6vw,7rem) !important;
  align-items:end !important;
  padding:clamp(5rem,9vw,9rem) var(--page-x) !important;
  background:var(--violet) !important;
  color:var(--white) !important;
}
.test-result-screen[data-tone="ink"] .test-result-hero { background:var(--black) !important; }
.test-result-screen[data-tone="soft"] .test-result-hero { background:var(--violet-light) !important; color:var(--black) !important; }
.test-result-screen[data-tone="signal"] .test-result-hero { background:var(--signal) !important; color:var(--black) !important; }
.test-result-screen[data-tone="paper"] .test-result-hero { background:var(--white) !important; color:var(--black) !important; border-bottom:1px solid var(--black); }
.test-result-code { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; padding-right:2rem; border-right:1px solid currentColor; }
.test-result-code small { color:inherit !important; -webkit-text-fill-color:currentColor !important; font-size:.72rem; font-weight:800; letter-spacing:.08em; }
.test-result-code b { max-width:13rem; font-family:var(--display); font-size:clamp(1.25rem,2vw,2.15rem); line-height:1.02; text-transform:uppercase; }
.test-result-copy { align-self:end; }
.test-result-copy > span { display:block; margin-bottom:1rem; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.test-result-hero h1 { max-width:18ch !important; margin:.5rem 0 1.5rem !important; color:inherit !important; font-size:clamp(3.25rem,6.3vw,7.2rem) !important; line-height:.9 !important; letter-spacing:-.065em !important; }
.test-result-hero p { max-width:48rem !important; margin:0 !important; color:inherit !important; font-size:clamp(1.05rem,1.5vw,1.35rem) !important; line-height:1.55 !important; }
.test-result-next { padding:clamp(4rem,7vw,7rem) var(--page-x) clamp(5rem,8vw,8rem) !important; }
.test-result-next > small { display:block; margin-bottom:2rem; }
.test-result-steps { margin-top:0 !important; gap:0 !important; border:1px solid var(--black); }
.test-result-steps article { min-height:17rem !important; border:0 !important; border-right:1px solid var(--black) !important; padding:1.4rem !important; }
.test-result-steps article:last-child { border-right:0 !important; }
.test-result-steps article > p { font-size:clamp(1.35rem,2vw,2.25rem) !important; }
.test-result-offer {
  margin-top:1.1rem !important;
  grid-template-columns:minmax(14rem,.45fr) minmax(0,1fr) !important;
  min-height:9rem;
  align-items:center !important;
  padding:1.6rem 1.8rem !important;
}
.test-result-offer > div { display:flex; flex-direction:column; gap:.35rem; }
.test-result-offer > div > span { color:#c8c8cc; font-size:.72rem; font-weight:700; letter-spacing:.07em; }
.test-result-offer strong { font-size:clamp(1.7rem,3vw,3.5rem) !important; text-align:right; }
.test-result-actions { gap:.75rem !important; flex-wrap:wrap; }
.test-result-actions .brand-action { min-width:14rem; }
.test-result-disclaimer { margin-top:1.8rem !important; font-size:.9rem !important; line-height:1.55 !important; }

/* Gate before the result: readable fields and calmer two-column layout. */
.test-gate-screen .test-preview-detail { padding:clamp(3rem,6vw,6rem) !important; }
.lead-gate-form { max-width:48rem; }
.lead-gate-form > label { min-width:0; }
.lead-gate-form input { max-width:100%; min-width:0; }
.lead-gate-consent span { font-size:.83rem !important; line-height:1.45 !important; }

/* --------------------------------------------------------------------------
   MINDMAKERS offer cards and trust panel
   -------------------------------------------------------------------------- */
.mm-program-list.mm-program-slider > article {
  min-height:34rem !important;
  grid-template-columns:minmax(16rem,.72fr) minmax(20rem,1fr) minmax(12rem,.34fr) !important;
  gap:clamp(2rem,4vw,4.75rem) !important;
  padding:clamp(3rem,5vw,5rem) !important;
  align-items:center !important;
}
.mm-program-list .mm-program-heading h3 {
  max-width:9ch;
  font-size:clamp(3rem,5vw,5.8rem) !important;
  line-height:.9 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.mm-program-list .mm-program-copy p { max-width:36rem; font-size:clamp(1rem,1.2vw,1.22rem) !important; line-height:1.55 !important; }
.mm-program-list .mm-program-copy ul { margin-top:1.4rem !important; }
.mm-program-list .mm-program-booking { min-width:0; }
.mm-program-list .mm-program-booking .brand-action { width:100%; max-width:14rem; }
.mm-trust::after { content:none !important; display:none !important; }

/* --------------------------------------------------------------------------
   Download + booking modals: readable, viewport-safe, responsive.
   -------------------------------------------------------------------------- */
.mela-modal,
.mela-modal__panel,
.mela-modal form,
.mela-modal__grid,
.mela-modal label { min-width:0; max-width:100%; }
.mela-modal { overflow-x:hidden !important; }
.mela-modal__panel { overflow-x:hidden !important; overscroll-behavior:contain; }
.mela-download-modal[data-tone="dark"] .mela-modal__panel,
.mela-download-modal[data-tone="dark"] .mela-modal__panel :is(h2,p,small,label,label>span,.inquiry-consent,.inquiry-consent span,.mela-download-success,.inquiry-error) {
  color:var(--white) !important;
  -webkit-text-fill-color:currentColor !important;
}
.mela-download-modal[data-tone="dark"] .mela-modal__panel input { color:var(--black) !important; -webkit-text-fill-color:var(--black) !important; }
.mela-download-modal .inquiry-consent span { font-size:.76rem !important; line-height:1.42 !important; font-weight:500 !important; letter-spacing:0 !important; text-transform:none !important; }
.mela-download-modal .inquiry-consent a { white-space:normal !important; }
.mela-booking-modal .mela-modal__panel { width:min(100%,50rem); }
.mela-booking-modal input,
.mela-booking-modal select,
.mela-booking-modal textarea { min-width:0 !important; max-width:100% !important; }

/* --------------------------------------------------------------------------
   Responsive pass
   -------------------------------------------------------------------------- */
@media (max-width:819px) {
  html,body,.mela-reference-site { overflow-x:hidden !important; max-width:100%; }
  .test-hub-catalog { padding-inline:1.25rem !important; }
  .test-hub-featured-list { gap:.8rem; }
  .test-hub-featured-list .test-hub-featured {
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  .test-hub-featured .test-card-bar { min-height:3.25rem; padding:.65rem 1rem; grid-template-columns:1fr auto; }
  .test-hub-featured-copy { padding:2rem 1.25rem 2.25rem !important; }
  .test-hub-featured-copy > strong { margin-top:1.25rem !important; font-size:clamp(2.35rem,10vw,3.5rem) !important; }
  .test-hub-featured-copy > p { margin-top:1rem !important; font-size:1rem; line-height:1.5; }
  .test-hub-featured-copy > span { min-height:3.1rem; margin-top:1.5rem; padding:.8rem .9rem; }
  .test-hub-featured-mark { min-height:8rem; }
  .test-hub-featured-mark span { font-size:7rem; transform:none; }

  .test-result-hero { grid-template-columns:1fr !important; min-height:0 !important; gap:2.5rem !important; padding:5rem 1.25rem 3.5rem !important; }
  .test-result-code { min-height:7rem; padding:0 0 1.25rem; border-right:0; border-bottom:1px solid currentColor; }
  .test-result-code b { margin-top:2rem; }
  .test-result-hero h1 { font-size:clamp(2.8rem,12vw,4.35rem) !important; }
  .test-result-next { padding:3.5rem 1.25rem 5rem !important; }
  .test-result-steps { grid-template-columns:1fr !important; }
  .test-result-steps article { min-height:13rem !important; border-right:0 !important; border-bottom:1px solid var(--black) !important; }
  .test-result-steps article:last-child { border-bottom:0 !important; }
  .test-result-offer { grid-template-columns:1fr !important; gap:1.5rem !important; }
  .test-result-offer strong { text-align:left; }
  .test-result-actions { display:grid !important; grid-template-columns:1fr !important; }
  .test-result-actions .brand-action { width:100% !important; min-width:0; }

  .mm-program-list.mm-program-slider > article {
    grid-template-columns:1fr !important;
    min-height:0 !important;
    flex-basis:min(91vw,38rem) !important;
    gap:1.75rem !important;
    padding:2.25rem 1.4rem !important;
  }
  .mm-program-list .mm-program-heading h3 { max-width:none; font-size:clamp(2.65rem,12vw,4rem) !important; }
  .mm-program-list .mm-program-booking { padding-top:1.5rem; border-top:1px solid color-mix(in srgb,currentColor 25%,transparent); }
  .mm-program-list .mm-program-booking .brand-action { width:auto !important; max-width:13rem; }

  .mela-modal { place-items:start center !important; padding:max(.6rem,env(safe-area-inset-top)) .65rem max(.6rem,env(safe-area-inset-bottom)) !important; overflow-y:auto !important; overflow-x:hidden !important; }
  .mela-modal__panel { width:100% !important; max-width:100% !important; max-height:none !important; min-height:auto; padding:3.4rem 1.15rem 1.3rem !important; margin:0 !important; overflow-x:hidden !important; }
  .mela-modal__panel > h2 { max-width:11ch; font-size:clamp(2.35rem,11vw,3.6rem) !important; }
  .mela-modal__grid { grid-template-columns:1fr !important; gap:.85rem !important; }
  .mela-modal form { width:100%; gap:.85rem; margin-top:1.4rem; }
  .mela-modal input,.mela-modal select,.mela-modal textarea { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .mela-modal .brand-action { width:100% !important; }
  .mela-download-modal .inquiry-consent span { font-size:.7rem !important; line-height:1.38 !important; }
  .mela-booking-modal .inquiry-consent span { font-size:.74rem !important; line-height:1.4 !important; }

  .offer-editorial .personal-offer-track .mm-program-booking .brand-action {
    width:auto !important;
    min-width:0 !important;
    max-width:12rem !important;
    font-size:.68rem !important;
  }
}

/* Arbeitsprofil result follows the same result-page hierarchy. */
.profile-result > header {
  min-height:clamp(30rem,48vw,42rem) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding:clamp(5rem,9vw,9rem) var(--page-x) !important;
  background:var(--violet) !important;
  color:var(--white) !important;
}
.profile-result > header > span { color:var(--signal) !important; font-weight:800; letter-spacing:.08em; }
.profile-result > header h1 { max-width:16ch !important; margin:1rem 0 1.5rem !important; font-size:clamp(3.4rem,6vw,7rem) !important; line-height:.9 !important; }
.profile-result > header p { max-width:48rem !important; color:var(--white) !important; font-size:clamp(1.05rem,1.45vw,1.35rem) !important; }
.profile-result-grid { padding:clamp(4rem,7vw,7rem) var(--page-x) !important; gap:clamp(2rem,5vw,5rem) !important; }
.profile-result-dimensions,.profile-result-reading { min-width:0; }
.profile-result-reading article { padding:1.5rem !important; border-top:1px solid var(--black); }
.profile-result-question { background:var(--signal) !important; color:var(--black) !important; }
.profile-result-cta { padding:clamp(4rem,7vw,7rem) var(--page-x) !important; background:var(--black) !important; color:var(--white) !important; }
.profile-result-cta h2,.profile-result-cta p { color:var(--white) !important; }
@media(max-width:819px){
  .profile-result > header { min-height:0 !important; padding:5rem 1.25rem 3.5rem !important; }
  .profile-result > header h1 { font-size:clamp(2.8rem,12vw,4.35rem) !important; }
  .profile-result-grid { grid-template-columns:1fr !important; padding:3.5rem 1.25rem !important; }
  .profile-result-cta { padding:3.5rem 1.25rem 5rem !important; }
  .profile-result-cta .brand-action { width:100% !important; }
}
