/* ===================================================================== UNSERE SEITEN (19.09.2026) Zwei Karten, die aus dem Treff hinausführen: die Website und VanVans Shop. WARUM SIE ANDERS AUSSEHEN ALS DIE BRETTER-KACHELN: Sie tun etwas anderes. Eine Brett-Kachel öffnet eine Liste im selben Fenster; diese hier verlassen den Treff. Dass man das vorher sieht, ist kein Schmuck, sondern die Ansage — deshalb der eigene Zuschnitt, der deutlich sichtbare Adressname und der Pfeil nach außen. AUGENSCHONEND, WIE ÜBERALL IM HAUS: Die Farbe liegt im Verlauf und im Rand, nie in einer leuchtenden Fläche hinter Text. Bewegung gibt es nur beim Darüberfahren, und `prefers-reduced-motion` schaltet sie ganz ab. ===================================================================== */ .seiten-gitter { display: grid; gap: 1.1rem; /* EINE REGEL STATT EINER ZAHL. Zwei Spalten, sobald zweimal 21rem plus Abstand hineinpassen — und sonst eine. Kommt eine dritte Karte dazu, ordnet sich das von selbst, ohne dass jemand eine Schwelle nachziehen muss. */ grid-template-columns: repeat(auto-fit, minmax(min(21rem, 100%), 1fr)); margin: 1.4rem 0 0; } .aussen { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; gap: .75rem; padding: 1.35rem 1.35rem 1.2rem; border-radius: 1.1rem; border: 1px solid color-mix(in srgb, var(--aussen-ton) 30%, transparent); background: radial-gradient(120% 100% at 8% 0%, color-mix(in srgb, var(--aussen-ton) 15%, transparent), transparent 62%), linear-gradient(160deg, color-mix(in srgb, var(--aussen-ton) 7%, #0d1523), #0a111d 68%); box-shadow: 0 16px 34px -22px color-mix(in srgb, var(--aussen-ton) 75%, transparent); cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; } /* Die Töne der beiden Karten. Sie stehen hier und nicht im HTML, damit eine dritte Karte eine Zeile braucht und nicht zehn. */ .aussen--dogi { --aussen-ton: #087ce7; } .aussen--shop { --aussen-ton: #e0559b; } /* Der stille Schein im Hintergrund. Liegt UNTER allem (`z-index: -1`) und ist so schwach, dass er bei Tageslicht kaum auffällt — er soll Tiefe geben, nicht leuchten. */ .aussen__schein { position: absolute; inset: -40% -20% auto -20%; height: 78%; z-index: -1; background: radial-gradient(60% 60% at 50% 50%, color-mix(in srgb, var(--aussen-ton) 22%, transparent), transparent 70%); filter: blur(26px); opacity: .55; pointer-events: none; } .aussen:hover, .aussen:focus-within { transform: translateY(-3px); border-color: color-mix(in srgb, var(--aussen-ton) 52%, transparent); box-shadow: 0 22px 40px -20px color-mix(in srgb, var(--aussen-ton) 85%, transparent); } .aussen__kopf { display: flex; align-items: center; gap: .85rem; } .aussen__zeichen { flex: 0 0 auto; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .8rem; border: 1px solid color-mix(in srgb, var(--aussen-ton) 38%, transparent); background: linear-gradient(150deg, color-mix(in srgb, var(--aussen-ton) 20%, transparent), transparent 74%); } .aussen__zeichen svg { width: 1.65rem; height: 1.65rem; fill: none; stroke: color-mix(in srgb, var(--aussen-ton) 78%, #dceaf8); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; } .aussen__marke { margin: 0 0 .1rem; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: color-mix(in srgb, var(--aussen-ton) 55%, #9fb4c9); } .aussen__titel { margin: 0; font-size: 1.32rem; line-height: 1.2; /* Text bleibt hell und ruhig. Die Farbe steckt im Rahmen, nicht in der Schrift — farbige Überschriften auf dunklem Grund sind der schnellste Weg zu müden Augen. */ color: #e9f2fb; } .aussen__satz { margin: 0; color: var(--text-leise, #93a7bd); font-size: .95rem; line-height: 1.5; } /* Was es auf der Seite gibt. Ruhig gesetzt: Der Punkt links ist ein kleiner Strich in der Kartenfarbe, kein Aufzählungszeichen — vier bunte Punkte untereinander wären mehr Unruhe als Information. */ .aussen__liste { margin: .1rem 0 .2rem; padding: 0; list-style: none; display: grid; gap: .42rem; } .aussen__liste li { position: relative; padding-left: 1.05rem; font-size: .89rem; line-height: 1.45; color: var(--text-leise, #93a7bd); } .aussen__liste li::before { content: ""; position: absolute; left: 0; top: .62em; width: .5rem; height: 1px; background: color-mix(in srgb, var(--aussen-ton) 60%, transparent); } .aussen__weg { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; margin: auto 0 0; padding-top: .35rem; } .aussen__adresse { font-size: .82rem; color: color-mix(in srgb, var(--aussen-ton) 45%, #8ea3b9); word-break: break-all; } .aussen__knopf { flex: 0 0 auto; display: inline-block; padding: .55rem 1rem; border-radius: .6rem; border: 1px solid color-mix(in srgb, var(--aussen-ton) 45%, transparent); background: color-mix(in srgb, var(--aussen-ton) 14%, transparent); color: #eaf3fc; font-weight: 600; font-size: .92rem; text-decoration: none; /* 44 px hoch, damit ein Daumen ihn trifft. */ min-height: 2.75rem; display: inline-flex; align-items: center; transition: background-color .18s ease, border-color .18s ease; } .aussen__knopf:hover, .aussen__knopf:focus-visible { background: color-mix(in srgb, var(--aussen-ton) 26%, transparent); border-color: color-mix(in srgb, var(--aussen-ton) 68%, transparent); } /* ---- DER GUTSCHEIN --------------------------------------------------- Sieht aus wie ein abgerissener Abschnitt, weil genau das gemeint ist: etwas zum Mitnehmen. Die gestrichelte Linie ist das einzige Stilmittel — sie sagt "hier abtrennen", ohne ein Wort dafür zu brauchen. */ .gutschein { margin: .2rem 0 .1rem; padding: .9rem 1rem 1rem; border-radius: .8rem; border: 1px dashed color-mix(in srgb, var(--aussen-ton) 42%, transparent); background: color-mix(in srgb, var(--aussen-ton) 8%, transparent); } .gutschein__zeile { display: flex; align-items: baseline; gap: .55rem; margin: 0 0 .6rem; } .gutschein__prozent { font-size: 1.5rem; font-weight: 700; line-height: 1; color: #f2f7fc; } .gutschein__wofuer { font-size: .88rem; color: var(--text-leise, #93a7bd); } .gutschein__code { display: flex; align-items: center; justify-content: space-between; gap: .7rem; width: 100%; min-height: 3rem; padding: .6rem .9rem; border-radius: .6rem; border: 1px solid color-mix(in srgb, var(--aussen-ton) 50%, transparent); background: rgba(255, 255, 255, .04); color: #f2f7fc; cursor: pointer; text-align: left; transition: background-color .18s ease, border-color .18s ease; } .gutschein__code:hover, .gutschein__code:focus-visible { background: rgba(255, 255, 255, .08); border-color: color-mix(in srgb, var(--aussen-ton) 72%, transparent); } .gutschein__wort { font-family: ui-monospace, "SFMono-Regular", "Cascadia Code", monospace; font-size: 1.22rem; font-weight: 700; letter-spacing: .1em; } .gutschein__hinweis { font-size: .78rem; color: var(--text-leise, #93a7bd); text-align: right; } /* Nach dem Kopieren steht dort die Bestätigung — in Grün, aber in einem gedeckten, das auf Dunkel nicht sticht. */ .gutschein__code[data-kopiert="ja"] .gutschein__hinweis { color: #74c79a; } .gutschein__klein { margin: .6rem 0 0; font-size: .78rem; line-height: 1.45; color: var(--text-leise, #93a7bd); } .seiten-fuss { margin: 1.4rem 0 0; font-size: .85rem; color: var(--text-leise, #93a7bd); } /* Wer Bewegung ausgeschaltet hat, bekommt keine. Die Karte bleibt trotzdem erkennbar bedienbar — über Rand und Schatten. */ @media (prefers-reduced-motion: reduce) { .aussen, .aussen__knopf, .gutschein__code { transition: none; } .aussen:hover, .aussen:focus-within { transform: none; } }