/* Heidekrug-Bereich · gemeinsame Bausteine (seit 07.10.2026)
   Kontakt-Karte unter dem Hero, Sprungleiste, „Mehr dazu“, Werkzeug-Kacheln mit
   Zeitbalken, mitlaufende Kontaktleiste am Handy.
   Die Kartenflächen kommen über die freigegebenen Klassen .contact-block und
   .hk-door aus liquid-glass.css (Hell/Dunkel/Neutral). Hier stehen nur Innenleben
   und Farben über die Modus-Token mit dunklem Rückfall für Neutral. */

/* ---- Kontakt-Karte direkt unter dem Hero ---- */
.hkx-kontakt { padding: 0 1.25rem 2.5rem; margin-top: -2rem; position: relative; z-index: 10; scroll-margin-top: 6rem; }
.hkx-kontakt .contact-block { max-width: 64rem; margin: 0 auto; padding: 1.75rem; border-radius: 16px; }
@media (min-width: 768px) { .hkx-kontakt { padding: 0 2rem 3rem; } .hkx-kontakt .contact-block { padding: 2rem 2.25rem; } }
.hkx-kontakt__kopf { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem; margin-bottom: 1.25rem; }
.hkx-kontakt__kopf h2 { font-family: Manrope, sans-serif; font-weight: 800; font-size: 1.35rem; line-height: 1.2; color: var(--ink, #fff); margin: 0; }
.hkx-kicker { font-family: 'Space Grotesk', sans-serif; font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--link, #e1b6ff); margin: 0 0 .35rem; }
.hkx-wege { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: 1fr; }
@media (min-width: 900px) { .hkx-wege.is-drei { grid-template-columns: repeat(3, 1fr); } }
.hkx-weg { display: grid; grid-template-columns: auto 1fr; gap: .25rem .9rem; align-items: start; padding: 1rem; border-radius: 12px;
  border: 1px solid var(--hairline, rgba(255,255,255,.08)); background: var(--accent-soft, rgba(201,136,250,.06)); }
.hkx-weg.is-haupt { border-color: var(--accent-line, rgba(201,136,250,.45)); }
.hkx-weg .wk-ico { grid-row: span 2; }
.hkx-weg strong { display: block; font-family: Manrope, sans-serif; font-weight: 700; font-size: 1rem; color: var(--ink, #fff); }
.hkx-weg small { display: block; font-size: .85rem; line-height: 1.45; color: var(--text-muted, #cfc2d3); }
.hkx-weg .hkx-btn { grid-column: 1 / -1; margin-top: .65rem; }
.hkx-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; padding: .7rem 1.2rem; border-radius: 6px;
  background: #e1b6ff; color: #4c007b; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  text-decoration: none; transition: background .25s ease, box-shadow .25s ease; }
.hkx-btn:hover { background: #fff; box-shadow: 0 12px 28px rgba(225,182,255,.3); }
.hkx-btn.is-leise { background: transparent; color: var(--link, #e1b6ff); border: 1px solid var(--accent-line, rgba(225,182,255,.4)); }
.hkx-btn.is-leise:hover { background: var(--accent-soft, rgba(225,182,255,.1)); box-shadow: none; }
.hkx-direkt { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 1.1rem 0 0; font-size: .9rem; color: var(--text-muted, #cfc2d3); }
.hkx-direkt a { display: inline-flex; align-items: center; gap: .4rem; color: var(--link, #e1b6ff); text-decoration: none; }
.hkx-direkt a:hover { text-decoration: underline; }
.hkx-direkt svg { width: 1.05rem; height: 1.05rem; fill: currentColor; }

/* ---- Sprungleiste ---- */
.hkx-sprung { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.75rem; padding: 0; list-style: none; }
.hkx-sprung a { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .8rem; border-radius: 999px; border: 1px solid var(--accent-line, rgba(225,182,255,.3));
  font-family: 'Space Grotesk', sans-serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--link, #e1b6ff); text-decoration: none; }
.hkx-sprung a:hover { background: var(--accent-soft, rgba(225,182,255,.1)); }
.hkx-sprung svg { width: .95rem; height: .95rem; fill: currentColor; }

/* ---- Mehr dazu (Langtext zum Aufklappen) ---- */
.hkx-mehr { margin-top: 1.25rem; }
.hkx-mehr summary { cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; list-style: none; font-family: 'Space Grotesk', sans-serif;
  font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--link, #e1b6ff); }
.hkx-mehr summary::-webkit-details-marker { display: none; }
.hkx-mehr summary::before { content: '+'; display: inline-flex; align-items: center; justify-content: center; width: 1.2rem; height: 1.2rem; border-radius: 50%;
  border: 1px solid var(--accent-line, rgba(225,182,255,.4)); font-size: .85rem; line-height: 1; }
.hkx-mehr[open] summary::before { content: '–'; }
.hkx-mehr > div { margin-top: .9rem; }
.hkx-mehr p { color: var(--text-muted, #cfc2d3); line-height: 1.7; }

/* ---- Werkzeug-Kacheln mit Zeitbalken ---- */
.hkx-werkzeuge { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .hkx-werkzeuge { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hkx-werkzeuge { grid-template-columns: repeat(3, 1fr); } }
.hkx-werkzeug h3 { font-family: Manrope, sans-serif; font-weight: 700; font-size: 1.1rem; margin: 0 0 .4rem; color: var(--ink, #fff); }
.hkx-werkzeug h3 a { color: inherit; text-decoration: none; }
.hkx-werkzeug h3 a:hover { color: var(--link, #e1b6ff); }
.hkx-werkzeug p { font-size: .9rem; line-height: 1.55; color: var(--text-muted, #cfc2d3); margin: 0; }
.hkx-werkzeug__kopf { display: flex; align-items: center; gap: .75rem; margin-bottom: .9rem; }
.hkx-zeit { margin: 1.1rem 0 0; display: grid; gap: .45rem; }
.hkx-zeit div { display: grid; grid-template-columns: 4.6rem 1fr auto; align-items: center; gap: .6rem; font-size: .75rem; }
.hkx-zeit span { font-family: 'Space Grotesk', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #cfc2d3); }
.hkx-zeit b { margin: 0; font-family: Manrope, sans-serif; font-weight: 800; color: var(--ink, #fff); white-space: nowrap; }
.hkx-zeit i { display: block; height: .55rem; border-radius: 999px; background: var(--hairline, rgba(255,255,255,.14)); }
.hkx-zeit .is-ki i { background: linear-gradient(90deg, #c988fa, #e1b6ff); }
.hkx-zeit .is-ki b { color: var(--link, #e1b6ff); }
.hkx-werkzeug .hkx-weiter { margin-top: auto; padding-top: 1.1rem; display: inline-flex; align-items: center; gap: .4rem; font-family: 'Space Grotesk', sans-serif;
  font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink, #fff); text-decoration: none; }
.hkx-werkzeug .hkx-weiter:hover { color: var(--link, #e1b6ff); }
.hkx-werkzeug .hkx-weiter svg { width: 1em; height: 1em; fill: currentColor; }
.hkx-fussnote { margin-top: 1rem; font-size: .78rem; color: var(--text-subtle, #94a3b8); }

/* ---- Mitlaufende Kontaktleiste (nur Handy) ---- */
.hkx-leiste { display: none; }
@media (max-width: 767px) {
  .hkx-leiste { display: flex; position: fixed; left: .75rem; right: .75rem; bottom: calc(2.75rem + env(safe-area-inset-bottom, 0px)); z-index: 40;
    align-items: center; gap: .5rem; padding: .5rem; border-radius: 14px; border: 1px solid var(--accent-line, rgba(201,136,250,.4));
    background: rgb(var(--panel-rgb, 11 20 28) / .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    box-shadow: 0 10px 30px rgba(0,0,0,.35); transform: translateY(calc(100% + 4rem)); visibility: hidden; transition: transform .3s ease, visibility .3s; }
  .hkx-leiste.is-sichtbar { transform: none; visibility: visible; }
  .hkx-leiste .hkx-btn { flex: 1; }
  .hkx-leiste__icon { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 6px;
    border: 1px solid var(--accent-line, rgba(225,182,255,.4)); color: var(--link, #e1b6ff); }
  .hkx-leiste__icon svg { width: 1.2rem; height: 1.2rem; fill: currentColor; }
}
@media (prefers-reduced-motion: reduce) { .hkx-leiste { transition: none; } }
@media print { .hkx-leiste { display: none !important; } }

/* ---- Bild im Glasrahmen mit Bildunterschrift ---- */
.hkx-bild, .hk-door.hkx-bild { margin: 0; padding: .6rem; }
.hkx-bild img { display: block; width: 100%; height: auto; border-radius: 10px; }
.hkx-bild figcaption { padding: .7rem .35rem .2rem; font-size: .82rem; line-height: 1.5; color: var(--text-muted, #cfc2d3); }
.hkx-bild figcaption b { color: var(--ink, #fff); }

/* ---- Text neben Bild ---- */
.hkx-split { display: grid; gap: 2rem; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 960px) { .hkx-split { grid-template-columns: 1fr 1.25fr; } .hkx-split.is-bild-links { grid-template-columns: 1.25fr 1fr; } }
.hkx-punkte { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .8rem; }
.hkx-punkte li { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: start; font-size: .95rem; line-height: 1.55; color: var(--text-muted, #cfc2d3); }
.hkx-punkte li strong { color: var(--ink, #fff); }

/* ---- Schritte ---- */
.hkx-schritte { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: 1fr; counter-reset: schritt; }
@media (min-width: 700px) { .hkx-schritte { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .hkx-schritte.is-drei { grid-template-columns: repeat(3, 1fr); } .hkx-schritte.is-vier { grid-template-columns: repeat(4, 1fr); } .hkx-schritte.is-fuenf { grid-template-columns: repeat(5, 1fr); } }
.hkx-schritte li { counter-increment: schritt; }
.hkx-schritte li::before { content: counter(schritt); display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%;
  margin-bottom: .8rem; background: linear-gradient(135deg, #e1b6ff, #c988fa); color: #4c007b; font-family: Manrope, sans-serif; font-weight: 800; font-size: .95rem; }
.hkx-schritte strong { display: block; font-family: Manrope, sans-serif; font-weight: 700; color: var(--ink, #fff); margin-bottom: .35rem; }
.hkx-schritte span { display: block; font-size: .88rem; line-height: 1.55; color: var(--text-muted, #cfc2d3); }

/* ---- Vorher / Nachher ---- */
.hkx-vergleich { display: grid; gap: .6rem; }
.hkx-vergleich > div { display: grid; grid-template-columns: 1fr; gap: .4rem; padding: 1rem 1.1rem; border-radius: 12px; border: 1px solid var(--hairline, rgba(255,255,255,.08));
  background: rgb(var(--panel-rgb, 11 20 28) / .55); }
@media (min-width: 760px) { .hkx-vergleich > div { grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; } }
.hkx-vergleich s { text-decoration-color: rgba(201,136,250,.6); font-size: .92rem; color: var(--text-subtle, #94a3b8); }
.hkx-vergleich b { font-family: Manrope, sans-serif; font-weight: 700; color: var(--ink, #fff); }
.hkx-vergleich i { color: var(--link, #e1b6ff); font-style: normal; }
.hkx-vergleich svg { width: 1.2rem; height: 1.2rem; fill: var(--link, #e1b6ff); }

/* ---- Video erst nach Klick (Vimeo, dnt=1) ---- */
.hkx-video { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: 12px; overflow: hidden; cursor: pointer;
  background: #0b141c center / cover no-repeat; color: #fff; text-align: left; }
.hkx-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,20,28,.05) 40%, rgba(11,20,28,.85)); }
.hkx-video__play { position: absolute; z-index: 1; left: 50%; top: 45%; transform: translate(-50%, -50%); width: 4.2rem; height: 4.2rem; border-radius: 50%;
  background: rgba(225,182,255,.92); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(0,0,0,.4); transition: transform .25s ease; }
.hkx-video:hover .hkx-video__play { transform: translate(-50%, -50%) scale(1.06); }
.hkx-video__play svg { width: 1.8rem; height: 1.8rem; fill: #4c007b; margin-left: .2rem; }
.hkx-video__text { position: absolute; z-index: 1; left: 1rem; right: 1rem; bottom: .9rem; }
.hkx-video__text strong { display: block; font-family: Manrope, sans-serif; font-weight: 800; font-size: 1.05rem; }
.hkx-video__text small { display: block; font-size: .75rem; opacity: .85; margin-top: .2rem; }
.hkx-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.hkx-video.is-generisch { background-image: radial-gradient(ellipse 70% 70% at 30% 20%, rgba(201,136,250,.35), transparent 60%), linear-gradient(135deg, #18222d, #0b141c); }



/* --- Gemeinsame Heidekrug-Bausteine ----------------------------------------
   Standen bisher nur im <style> von heidekrug.html. Hier, damit die
   Unterseiten dieselben Karten und Icons nutzen koennen. */
.hk-door:hover {border-color:rgba(201,136,250,0.45);transform:translateY(-2px);}
.hk-door .hk-price {margin-top:auto;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.06);font-family:'Space Grotesk',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink,#fff);}
.wk-ico svg {width:1.4rem;height:1.4rem;fill:currentColor;}
.wk-ico.is-big {width:4.5rem;height:4.5rem;}
.wk-ico.is-big svg {width:2.4rem;height:2.4rem;}

/* Basisregeln, die bisher nur im <style> von heidekrug.html standen */
.hk-door{display:flex;flex-direction:column;background:rgba(24,32,41,0.55);border:1px solid rgba(255,255,255,0.08);border-radius:2px;padding:1.75rem;transition:border-color .3s ease,transform .3s ease;}
.wk-ico{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:2px;background:rgba(225,182,255,0.08);border:1px solid rgba(225,182,255,0.2);color:var(--link,#e1b6ff);flex-shrink:0;}

/* Aufzaehlung mit Haken, fuer die Listen auf den Unterseiten */
.hkx-incl{list-style:none;margin:0;padding:0;display:grid;gap:.85rem;}
.hkx-incl li{position:relative;padding-left:1.9rem;font-family:'Inter','Inter-Fallback',sans-serif;font-size:1rem;line-height:1.65;color:var(--text-muted,#cfc2d3);}
.hkx-incl li::before{content:'';position:absolute;left:0;top:.45rem;width:1.1rem;height:1.1rem;border-radius:50%;
  background:rgb(var(--nx-accent-rgb,201 136 250)/.14);border:1px solid rgb(var(--nx-accent-rgb,201 136 250)/.4);}
.hkx-incl li::after{content:'';position:absolute;left:.33rem;top:.72rem;width:.42rem;height:.22rem;
  border-left:2px solid var(--link,#c988fa);border-bottom:2px solid var(--link,#c988fa);transform:rotate(-45deg);}

/* Pfeil im Knopf: ohne feste Groesse zieht das SVG den Knopf auseinander */
.hkx-btn svg{width:1.05rem;height:1.05rem;fill:currentColor;flex-shrink:0;}
.hkx-weiter svg{width:1rem;height:1rem;fill:currentColor;flex-shrink:0;}
