/* DiBiSi V74 local visual review. All changes are opt-in to this preview. */
/* The original brand palette is kept; large dark-blue content panels are softened. */
.dibisi-v74-soft-navy {
  background-color: #29496f !important;
  background-image: linear-gradient(122deg, #29496f 0%, #315e8a 100%) !important;
}
.dibisi-v74-soft-navy .dibisi-v74-light-text {
  color: #f8fbff !important;
  text-shadow: none !important;
}
@media (max-width: 480px) {
  /* Avoid mid-word orphan letters and very large mobile headings. */
  h1, h2, h3 {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }
  h1 {
    font-size: clamp(1.55rem, 6.55vw, 2rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.02em !important;
  }
  h2 {
    font-size: clamp(1.40rem, 5.85vw, 1.8rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.012em !important;
  }
  h3 { font-size: clamp(1.22rem, 5.1vw, 1.53rem) !important; line-height: 1.25 !important; }
  header img {
    max-width: min(164px, 43vw) !important;
    max-height: 108px !important;
    width: auto;
    height: auto;
    object-fit: contain;
  }
  :is(main, section) [class*="eyebrow"],
  :is(main, section) [class*="overline"] {
    font-size: 0.8rem !important;
    letter-spacing: 0.1em !important;
    line-height: 1.5 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* DiBiSi V79: natural whole-word line wrapping in ES / DE / EN.
   Overrides automatic hyphenation without changing colors or the theme.
   Long unbreakable strings are intentionally flagged for visual review. */
html, body {
  -webkit-hyphens: none !important;
  hyphens: none !important;
}
h1, h2, h3, h4, h5, h6,
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
  -webkit-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
@media (max-width: 480px) {
  h1 { font-size: clamp(1.36rem, 5.55vw, 1.72rem) !important; line-height: 1.20 !important; }
  h2 { font-size: clamp(1.30rem, 5.05vw, 1.60rem) !important; line-height: 1.23 !important; }
  h3 { font-size: clamp(1.18rem, 4.60vw, 1.45rem) !important; line-height: 1.26 !important; }
}


/* DiBiSi V84: service sidebars balanced across ES/DE/EN, on desktop + mobile. */
@media (min-width: 1161px) {
  body[data-service] .hero-grid,
  body[data-page="erpnext"] .hero-grid,
  body[data-page="leistungen"] .hero-grid,
  body[data-page="servicios"] .hero-grid,
  body[data-page="services"] .hero-grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(430px, .94fr);
    gap: clamp(24px, 3vw, 52px);
  }
  .detail-layout {
    grid-template-columns: minmax(0, 1.52fr) minmax(415px, 1fr);
    gap: clamp(22px, 2.2vw, 36px);
    align-items: start;
  }
}
.hero-grid > .topic-panel,
.detail-layout > .benefit-box {
  min-width: 0;
  height: auto;
  align-self: start;
}
.hero-grid > .topic-panel { padding: clamp(24px, 2.2vw, 34px); }
.hero-grid > .topic-panel h2 {
  font-size: clamp(1.35rem, 1.65vw, 1.75rem);
  line-height: 1.24;
  letter-spacing: -.025em;
}
.hero-grid > .topic-panel ul { gap: 12px; }
.hero-grid > .topic-panel li { line-height: 1.45; }
.detail-layout > .benefit-box { padding: clamp(23px, 2.5vw, 38px); }
.detail-layout > .benefit-box h2 {
  font-size: clamp(1.45rem, 1.85vw, 2rem);
  line-height: 1.20;
  letter-spacing: -.026em;
  margin: 0 0 16px;
}
.detail-layout > .benefit-box ul { gap: 14px; margin-top: 18px; }
.detail-layout > .benefit-box li { font-size: .98rem; line-height: 1.48; font-weight: 750; }
@media (max-width: 1160px) {
  .detail-layout > .benefit-box,
  .hero-grid > .topic-panel { width: 100%; }
}
@media (max-width: 480px) {
  .detail-layout > .benefit-box h2,
  .hero-grid > .topic-panel h2 {
    font-size: clamp(1.25rem, 5vw, 1.48rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em !important;
  }
}
