
/* SNEXUS Gutenberg 5.0.0 – native marketing blocks */
.snx-gb-section{padding:clamp(76px,8vw,124px) 0;margin:0!important}
.snx-gb-section-compact{padding:clamp(56px,6vw,84px) 0}
.snx-gb-soft{background:#f7f9fc}
.snx-gb-soft-blue{background:#f4f7ff}
.snx-gb-dark{background:#1a1a2e;color:#fff}
.snx-gb-shell{width:min(1220px,calc(100% - 48px))!important;max-width:1220px!important;margin-left:auto!important;margin-right:auto!important}
.snx-gb-hero{padding-top:clamp(68px,8vw,116px);padding-bottom:clamp(76px,8vw,124px)}
.snx-gb-hero-columns,.snx-gb-media-columns{gap:clamp(38px,6vw,84px)!important}
.snx-gb-kicker,.snx-gb-card-kicker{margin:0 0 16px!important;color:#f97316!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:.1em;text-transform:uppercase}
.snx-gb-title{max-width:900px;margin:0!important;color:#172033!important;font-size:clamp(3.35rem,6.6vw,6.6rem)!important;line-height:.95!important;letter-spacing:-.055em!important;font-weight:760!important}
.snx-gb-accent{color:#f97316}
.snx-gb-section-title{max-width:850px;margin:0 0 22px!important;color:#172033!important;font-size:clamp(2.35rem,4.4vw,4.25rem)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:740!important}
.snx-gb-centered{text-align:center;margin-left:auto!important;margin-right:auto!important;margin-bottom:46px!important}
.snx-gb-lead{max-width:720px;margin:24px 0 0!important;color:#667085!important;font-size:clamp(1.05rem,1.5vw,1.24rem)!important;line-height:1.68!important}
.snx-gb-buttons{margin-top:30px!important;gap:12px!important}
.snx-gb-button-primary .wp-block-button__link,.snx-gb-button-outline .wp-block-button__link,.snx-gb-button-light .wp-block-button__link{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:10px;font-weight:720;text-decoration:none!important}
.snx-gb-button-primary .wp-block-button__link{background:#f97316;color:#fff;border:1px solid #f97316}
.snx-gb-button-outline .wp-block-button__link{background:#fff;color:#1a1a2e;border:1px solid #dfe3ea}
.snx-gb-button-light .wp-block-button__link{background:#fff;color:#1a1a2e;border:1px solid #fff}
.snx-gb-hero-image img,.snx-gb-section-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;display:block}
.snx-gb-feature-columns,.snx-gb-card-columns{gap:16px!important;margin-top:34px!important}
.snx-gb-feature,.snx-gb-card{height:100%;padding:26px;border:1px solid #e6e9ef;border-radius:18px;background:#fff}
.snx-gb-feature-badge{width:38px;height:38px;display:grid;place-items:center;margin:0 0 22px!important;border-radius:10px;background:#fff4ec;color:#f97316!important;font-weight:780!important}
.snx-gb-feature-title,.snx-gb-card-title{margin:0 0 10px!important;color:#172033!important;font-size:1.12rem!important;line-height:1.18!important;font-weight:720!important}
.snx-gb-feature-copy,.snx-gb-card-copy{margin:0!important;color:#667085!important;font-size:.94rem!important;line-height:1.65!important}
.snx-gb-card .wp-block-buttons{margin-top:22px!important}
.snx-gb-card-featured{border:2px solid #f97316;background:#fffaf6}
.snx-gb-feature-stack{display:grid;gap:12px}
.snx-gb-feature-stack .snx-gb-feature{padding:20px;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start}
.snx-gb-feature-stack .snx-gb-feature .snx-gb-feature-badge{grid-row:1/3;margin:0!important}
.snx-gb-feature-stack .snx-gb-feature .snx-gb-feature-title{grid-column:2;margin-top:2px!important}
.snx-gb-feature-stack .snx-gb-feature .snx-gb-feature-copy{grid-column:2}
.snx-gb-cta{padding:clamp(50px,6vw,78px) 0}
.snx-gb-cta-title{margin:0 0 10px!important;color:#fff!important;font-size:clamp(2rem,3.5vw,3.4rem)!important;line-height:1.03!important;letter-spacing:-.04em!important}
.snx-gb-cta-copy{margin:0!important;max-width:680px;color:rgba(255,255,255,.72)!important;font-size:1.15rem!important;line-height:1.65!important}
.snx-gb-cta-columns>.wp-block-column:last-child{display:flex;justify-content:flex-end}
.snx-gb-pricing-columns .snx-gb-card{padding:30px}
.snx-gb-list{padding-left:1.2em;color:#667085}
@media(max-width:900px){.snx-gb-shell{width:min(100% - 32px,1220px)!important}.snx-gb-hero-columns,.snx-gb-media-columns{gap:34px!important}.snx-gb-card-columns,.snx-gb-feature-columns{flex-wrap:wrap!important}.snx-gb-card-columns>.wp-block-column,.snx-gb-feature-columns>.wp-block-column{flex-basis:calc(50% - 8px)!important;flex-grow:0!important}.snx-gb-cta-columns>.wp-block-column:last-child{justify-content:flex-start}}
@media(max-width:620px){.snx-gb-shell{width:calc(100% - 24px)!important}.snx-gb-section{padding:60px 0}.snx-gb-hero{padding-top:46px;padding-bottom:66px}.snx-gb-title{font-size:clamp(2.8rem,13vw,4.4rem)!important}.snx-gb-section-title{font-size:clamp(2.2rem,10vw,3.4rem)!important}.snx-gb-card-columns>.wp-block-column,.snx-gb-feature-columns>.wp-block-column{flex-basis:100%!important}.snx-gb-feature,.snx-gb-card{padding:22px}.snx-gb-hero-image img,.snx-gb-section-image img{border-radius:20px}}


/* ==================================================================
   5.0.1 – Gutenberg shell width fix
   ==================================================================
   WordPress' constrained layout applies the global contentSize (820px)
   to direct children of .snx-gb-shell. The shell itself is 1220px wide,
   but columns/groups inside it were therefore squeezed back to 820px.

   SNEXUS marketing shells intentionally use their full 1220px width.
   ================================================================== */

.snx-gb-shell.is-layout-constrained > :where(
  :not(.alignleft):not(.alignright):not(.alignfull)
) {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Also cover installations where WordPress omits the layout helper class. */
.snx-gb-shell > .wp-block-columns,
.snx-gb-shell > .wp-block-group,
.snx-gb-shell > .wp-block-cover,
.snx-gb-shell > .wp-block-media-text,
.snx-gb-shell > .wp-block-image,
.snx-gb-shell > .wp-block-buttons {
  max-width: 100% !important;
}

/* Marketing shell stays aligned with the site's main visual grid. */
.snx-gb-shell {
  width: min(1220px, calc(100% - 48px)) !important;
  max-width: 1220px !important;
}

@media (max-width: 900px) {
  .snx-gb-shell {
    width: min(100% - 32px, 1220px) !important;
  }
}

@media (max-width: 620px) {
  .snx-gb-shell {
    width: calc(100% - 24px) !important;
  }
}


/* ==================================================================
   5.0.2 – pricing page refinement
   ================================================================== */

/*
 * The pricing headline should feel calmer than the emotional homepage hero.
 * This rule is intentionally scoped to the "preise" page only.
 */
body.page-preise .snx-gb-hero .snx-gb-title {
  max-width: 1040px;
  font-size: clamp(2.9rem, 4.8vw, 4.9rem) !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  font-weight: 730 !important;
}

/* Pricing cards move back toward the previous SNEXUS visual language. */
.snx-gb-pricing-columns {
  gap: 18px !important;
  align-items: stretch;
}

.snx-gb-pricing-columns > .wp-block-column {
  display: flex;
}

.snx-gb-pricing-columns .snx-gb-card {
  width: 100%;
  min-height: 100%;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  padding: 32px !important;
  border: 1px solid #e6e9ef !important;
  border-radius: 16px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Standard stays highlighted only by the border – no tinted card background. */
.snx-gb-pricing-columns .snx-gb-card-featured {
  border: 2px solid #f97316 !important;
  background: #fff !important;
}

/*
 * Gutenberg currently stores the price in card-kicker.
 * Visually promote it back to a real price instead of a tiny eyebrow.
 */
.snx-gb-pricing-columns .snx-gb-card-kicker {
  order: 2;
  margin: 18px 0 20px !important;
  color: #172033 !important;
  font-size: clamp(2.65rem, 3.8vw, 3.9rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  font-weight: 760 !important;
}

/* Product name above the price. */
.snx-gb-pricing-columns .snx-gb-card-title {
  order: 1;
  margin: 0 !important;
  color: #172033 !important;
  font-size: 1.22rem !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  font-weight: 730 !important;
}

/* Feature copy becomes a clearly separated information area. */
.snx-gb-pricing-columns .snx-gb-card-copy {
  order: 3;
  min-height: 104px;
  margin: 0 0 26px !important;
  padding: 18px 0 !important;
  border-top: 1px solid #e6e9ef;
  border-bottom: 1px solid #e6e9ef;
  color: #667085 !important;
  font-size: .94rem !important;
  line-height: 1.75 !important;
}

/* Buttons sit consistently at the bottom of all cards. */
.snx-gb-pricing-columns .wp-block-button,
.snx-gb-pricing-columns .wp-block-buttons {
  order: 4;
  margin-top: auto !important;
}

/* Previous visual hierarchy: Standard CTA gets the primary orange treatment. */
.snx-gb-pricing-columns .snx-gb-card-featured .snx-gb-button-outline .wp-block-button__link {
  background: #f97316 !important;
  border-color: #f97316 !important;
  color: #fff !important;
}

/* Free Test also feels like a clear entry action, while Add-ons stays secondary. */
.snx-gb-pricing-columns > .wp-block-column:first-child .snx-gb-button-outline .wp-block-button__link {
  background: #f97316 !important;
  border-color: #f97316 !important;
  color: #fff !important;
}

.snx-gb-pricing-columns > .wp-block-column:last-child .snx-gb-button-outline .wp-block-button__link {
  background: #fff !important;
  border-color: #dfe3ea !important;
  color: #1a1a2e !important;
}

@media (max-width: 900px) {
  body.page-preise .snx-gb-hero .snx-gb-title {
    font-size: clamp(2.75rem, 7vw, 4.25rem) !important;
  }

  .snx-gb-pricing-columns .snx-gb-card-copy {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  body.page-preise .snx-gb-hero .snx-gb-title {
    font-size: clamp(2.35rem, 10.5vw, 3.35rem) !important;
    line-height: 1.06 !important;
  }

  .snx-gb-pricing-columns .snx-gb-card {
    padding: 26px !important;
  }

  .snx-gb-pricing-columns .snx-gb-card-kicker {
    font-size: clamp(2.45rem, 12vw, 3.25rem) !important;
  }
}


/* ==================================================================
   5.0.3 – global marketing headline refinement
   ================================================================== */

/*
 * All large SNEXUS Gutenberg marketing titles use the calmer typography
 * that was first introduced on the pricing page.
 */
.snx-gb-title {
  font-size: clamp(2.9rem, 4.8vw, 4.9rem) !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  font-weight: 730 !important;
}

/* Page-specific pricing override is intentionally neutralized by the
 * global rule above; pricing cards themselves remain unchanged.
 */
body.page-preise .snx-gb-hero .snx-gb-title {
  max-width: 1040px;
}

@media (max-width: 900px) {
  .snx-gb-title {
    font-size: clamp(2.75rem, 7vw, 4.25rem) !important;
  }
}

@media (max-width: 620px) {
  .snx-gb-title {
    font-size: clamp(2.35rem, 10.5vw, 3.35rem) !important;
    line-height: 1.06 !important;
  }
}


/* ==================================================================
   5.0.4 – global section title refinement
   ================================================================== */

/*
 * Smaller and calmer section titles throughout the SNEXUS marketing pages.
 */
.snx-gb-section-title {
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  font-weight: 720 !important;
}

@media (max-width: 900px) {
  .snx-gb-section-title {
    font-size: clamp(1.65rem, 4vw, 2.2rem) !important;
  }
}

@media (max-width: 620px) {
  .snx-gb-section-title {
    font-size: clamp(1.5rem, 7vw, 1.95rem) !important;
    line-height: 1.15 !important;
  }
}

/* Shared body-copy scale for the public Gutenberg marketing pages. */
.snx-gb-section p:not(:where(.snx-gb-kicker,.snx-gb-card-kicker,.snx-gb-feature-badge,.snx-placeholder-label,.snx-placeholder-note,.snx-app-slide-label,.snx-app-slide-note,.snx-plan-label,.snx-plan-value)),
.snx-home-viewport .snx-hero-copy > p {
  font-size:1.15rem!important;
  line-height:1.65!important;
}
.snx-gb-section :is(p.snx-gb-lead,p.snx-gb-card-copy,p.snx-gb-feature-copy,p.snx-addon-link) {
  font-size:1.15rem!important;
  line-height:1.65!important;
}

/* Editorial headers use the same body-copy size. */
.snx-gb-page-hero p:not(:where(.snx-gb-kicker,.snx-gb-card-kicker)){font-size:1.15rem!important;line-height:1.65!important}
