/* Hahne Digital: Textbausteine, Startseite, Bausteinbibliothek */

/* ---------- Textbausteine ---------- */
.hwc-snip-btn { position: absolute; z-index: 60; padding: 3px 10px !important; min-height: 0 !important; border-radius: 999px !important; border: 1px solid #d9b38c !important; background: #fff8ef !important; color: #8a5a2b !important; font: 600 11.5px/1.4 inherit !important; box-shadow: 0 4px 12px #8a5a2b22 !important; cursor: pointer; white-space: nowrap; }
body > .hwc-snip-btn { position: fixed; }
.hwc-snip-btn:hover { background: #d9b38c !important; color: #182c3a !important; }
.hwc-snip-btn[hidden] { display: none !important; }
#hwcSnipDialog { width: min(760px, 96vw); max-height: 88dvh; padding: 0; border: 0; border-radius: 18px; box-shadow: 0 30px 100px #10223b66; color: #1f3236; background: #fffefa; overflow: hidden; }
#hwcSnipDialog[open] { display: flex; flex-direction: column; }
#hwcSnipDialog::backdrop { background: #0f1e2a80; }
.hwc-snip-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; background: linear-gradient(110deg, #182c3a, #1d4049); color: #fff; }
.hwc-snip-head span { font-size: 11px; font-weight: 700; letter-spacing: .12em; color: #d9b38c; }
.hwc-snip-head h2 { margin: 2px 0 0; font-size: 18px; color: #fff; }
.hwc-snip-close { width: 34px; height: 34px; border-radius: 10px; border: 1px solid #ffffff40 !important; background: transparent !important; color: #fff !important; }
.hwc-snip-tools { padding: 12px 20px 8px; border-bottom: 1px solid #e3e8e4; }
.hwc-snip-tools input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid #dbe3df; border-radius: 10px; font: inherit; }
.hwc-snip-groups { display: flex; gap: 5px; overflow-x: auto; padding: 9px 0 4px; scrollbar-width: thin; }
.hwc-snip-groups button { flex: none; padding: 5px 11px !important; min-height: 0 !important; border-radius: 999px !important; border: 1px solid #dbe3df !important; background: #fff !important; color: #5a6d70 !important; font-size: 12px !important; }
.hwc-snip-groups [aria-pressed=true] { background: #1f3236 !important; border-color: #1f3236 !important; color: #fff !important; }
.hwc-snip-list { flex: 1; overflow-y: auto; padding: 12px 20px; display: grid; gap: 10px; align-content: start; }
.hwc-snip-list article { border: 1px solid #e3e8e4; border-radius: 13px; padding: 12px 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.hwc-snip-list article:hover { border-color: #1d5c55; box-shadow: 0 6px 18px #1d5c5514; }
.hwc-snip-list header { height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; position: static !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.hwc-snip-list header { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.hwc-snip-list header b { font-size: 13px; }
.hwc-snip-list header span { font-size: 11px; color: #5a6d70; background: #f2f6f3; padding: 2px 8px; border-radius: 999px; }
.hwc-snip-list p { margin: 7px 0 10px; font-size: 13.5px; line-height: 1.55; white-space: pre-line; color: #34474b; }
.hwc-snip-list mark, .hwc-snip-foot mark { background: #fff1d6; color: #8a5a00; border-radius: 4px; padding: 0 3px; }
.hwc-snip-list article > div { display: flex; gap: 6px; }
.hwc-snip-list article button { padding: 6px 14px !important; min-height: 0 !important; border-radius: 9px !important; border: 1px solid #dbe3df !important; background: #fff !important; color: #1f3236 !important; font-size: 12.5px !important; font-weight: 600; }
.hwc-snip-list article button.primary { background: #1d5c55 !important; border-color: #1d5c55 !important; color: #fff !important; }
.hwc-snip-note { font-size: 12.5px; color: #5a6d70; margin: 0; }
.hwc-snip-foot { margin: 0; padding: 10px 20px; font-size: 11.5px; color: #5a6d70; border-top: 1px solid #e3e8e4; background: #fbfaf6; }

/* ---------- Startseite ---------- */
.sp-home .hs-hero h1 em { color: #d9b38c; }
.sp-home .hs-hero-facts span b { font-variant-numeric: tabular-nums; }
.sp-section { margin-top: 56px; }
.sp-sub { margin: 8px 0 0; max-width: 620px; color: #5a6d70; font-size: 15px; line-height: 1.6; }
.sp-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 4px 0 14px; scrollbar-width: thin; }
.sp-tabs button { flex: none; padding: 8px 15px; border-radius: 999px; border: 1px solid #dbe3df; background: #fff; color: #34474b; font: 600 13px/1.2 inherit; cursor: pointer; transition: .15s; }
.sp-tabs button:hover { border-color: #1d5c55; color: #1d5c55; }
.sp-tabs [aria-selected=true] { background: #182c3a !important; border-color: #182c3a !important; color: #fff !important; }
.sp-industries { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.sp-industry { position: relative; display: flex; flex-direction: column; text-align: left; padding: 0; border: 1px solid #e3e8e4; border-radius: 18px; background: #fff; overflow: hidden; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, border-color .2s; font: inherit; color: inherit; }
.sp-industry:hover { transform: translateY(-4px); box-shadow: 0 18px 40px #12303a1f; border-color: #c9d5d0; }
.sp-industry:focus-visible { outline: 3px solid #1d5c55; outline-offset: 2px; }
.sp-industry-img { position: relative; display: block; aspect-ratio: 4 / 3; background: #eef2ef; overflow: hidden; }
.sp-industry-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sp-industry:hover .sp-industry-img img { transform: scale(1.05); }
.sp-industry-img em { position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: 999px; background: #ffffffe6; backdrop-filter: blur(6px); font: 600 11px/1.3 inherit; font-style: normal; color: #1f3236; }
.sp-industry-copy { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px 16px; }
.sp-industry-copy b { font-size: 15.5px; }
.sp-industry-copy small { color: #5a6d70; font-size: 12.5px; }
.sp-industry-go { position: absolute; right: 14px; bottom: 16px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #f2f6f3; color: #1d5c55; transition: .2s; }
.sp-industry:hover .sp-industry-go { background: #1d5c55; color: #fff; }
.sp-feature-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.sp-feature-grid article { padding: 20px 20px 18px; border-radius: 16px; background: #fff; border: 1px solid #e3e8e4; }
.sp-feature-grid i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg, #182c3a, #1d5c55); color: #f3e3cf; font-style: normal; font-weight: 700; font-size: 16px; margin-bottom: 14px; }
.sp-feature-grid h3 { margin: 0 0 6px; font-size: 16px; }
.sp-feature-grid p { margin: 0; color: #5a6d70; font-size: 13.5px; line-height: 1.55; }
.sp-steps { display: grid !important; grid-template-columns: minmax(260px, .8fr) 1.2fr; gap: 40px; padding: 40px !important; border-radius: 24px; background: linear-gradient(120deg, #182c3a, #1d4049) !important; color: #fff; }
.sp-steps h2 { color: #fff !important; margin: 8px 0 22px; }
.sp-steps .hs-eyebrow { color: #d9b38c !important; }
.sp-step-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-step-actions button { padding: 11px 18px; border-radius: 12px; border: 1px solid #ffffff40; background: transparent; color: #fff; font: 600 14px/1 inherit; cursor: pointer; }
.sp-step-actions .sp-primary { background: #d9b38c; border-color: #d9b38c; color: #182c3a; }
.sp-steps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sp-steps li { display: flex; gap: 18px; align-items: flex-start; padding: 18px 20px; border-radius: 16px; background: #ffffff0f; border: 1px solid #ffffff1a; }
.sp-steps li > span { flex: none; font: 700 22px/1 inherit; color: #d9b38c; }
.sp-steps h3 { margin: 0 0 4px; color: #fff; font-size: 16px; }
.sp-steps p { margin: 0; color: #c9d6da; font-size: 14px; line-height: 1.55; }
@media (max-width: 760px) {
  .sp-section { margin-top: 40px; }
  .sp-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sp-industry-copy { padding: 10px 12px 12px; }
  .sp-industry-copy b { font-size: 14px; }
  .sp-industry-go { display: none; }
  .sp-steps { grid-template-columns: 1fr; padding: 24px !important; gap: 20px; }
}

/* ---------- Bausteinbibliothek: Miniaturen der neuen Bausteine ---------- */
.block-mini-benefits strong, .block-mini-team strong, .block-mini-quote strong, .block-mini-logos strong,
.block-mini-hours strong, .block-mini-location strong, .block-mini-contactcard strong, .block-mini-banner strong { color: #1d5c55; }
.block-mini-banner { background: linear-gradient(120deg, #1d5c55, #2f7a6a) !important; }
.block-mini-banner strong { color: #fff; }
