Compare commits

...
8 Commits
Author SHA1 Message Date
NotPika69andClaude Opus 5.5 fef4ac8eae Prüfdurchgang: Buchungslinks, alte Adressen, Tablet/Handy-Layout
- Buchungslinks direkt auf Portal-IDs; Ernährungsberatung auf id=107,
  Kaufberatung entfernt (im Portal gibt es keine Seite dafür)
- .htaccess: alte WordPress-Adressen per 301 auf die neuen Seiten
- Tablet bis 980 px: Logo-Siegel über den Kacheln statt darauf
- Handy: lange Wörter werden nicht mehr abgeschnitten, Pfeile
  überdecken keinen Text mehr, „Buchen“ neben dem Menü-Knopf
- Dreier-Karten: Überschriften auf einer Linie (Subgrid)
- Menü schließt mit Escape und Tipp daneben; sichtbarer Fokusrahmen
- Startseite Handy/Tablet: Kopfleiste, sobald das Siegel weg ist
- 404: Pfade ab der Wurzel statt <base>, Sprunglink bleibt auf der Seite

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 13:32:54 +02:00
NotPika69andClaude Opus 5.5 d154ea13c2 Terminbuchung über PetWorkers und G&H-Zertifikat eingebaut
- "Termin buchen" in der Kopfleiste, im Kontakt und als Buchungs-Fläche mit allen Angeboten
- Direkte Buchen-Knöpfe für Einzelcoaching, Gruppenstunden und Stundenplan
- G&H-Siegel im Footer, auf Ernährung und bei den Ausbildungen
- Datenschutz um die Online-Terminbuchung ergänzt
- tools/make_zip.sh baut das Übergabe-Paket

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 11:01:49 +02:00
NotPika69andClaude Opus 5.5 e368a0b2cc Website fertig: lokale Bilder und Schrift, Über mich, Datenschutz, 404, SEO
- Logo, Fotos und Questrial liegen lokal (WebP, zwei Größen) – keine Drittanbieter mehr
- Neue Seiten: Über mich (Aus- und Weiterbildungen), Datenschutz, 404
- Impressum nach DDG mit Aufsichtsbehörde (§ 11 TierSchG)
- Favicon, Apple-Icon, Vorschaubild, Canonical/Open Graph, robots.txt, sitemap.xml, .htaccess
- tools/optimize_images.py erzeugt die Web-Bilder aus tools/originals/

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 10:53:55 +02:00
NotPika69andClaude Opus 5.5 2a751eeac9 CSS/JS mit Versionsnummer laden, damit kein alter Stand aus dem Cache kommt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:58:58 +02:00
NotPika69andClaude Opus 5.5 70af6d9ccd Grüntöne zurückgenommen: wieder Creme-Flächen und einfarbige Säulen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:57:08 +02:00
NotPika69andClaude Opus 5.5 0ca675320d 5 Säulen: eine Fläche mit sanftem Grün-Verlauf pro Zeile
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:53:48 +02:00
NotPika69andClaude Opus 5.5 b76b7d1730 Jede Fläche in eigenem Grünton
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:48:59 +02:00
NotPika69andClaude Opus 5.5 5754a5b2a6 Header: Logo und Menü als schwebende, abgerundete Elemente
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:46:54 +02:00
51 changed files with 1160 additions and 229 deletions

No files matched your search

+3
View File
@@ -9,3 +9,6 @@
__pycache__/
*.log
node_modules/
# Übergabe-Paket
*.zip
+32
View File
@@ -0,0 +1,32 @@
# Für Apache-Webspace (z. B. IONOS, Strato, All-Inkl). Auf anderen Servern wird die Datei ignoriert.
ErrorDocument 404 /404.html
# Adressen der alten WordPress-Seite auf die neuen Seiten umleiten
# (Google-Treffer, Lesezeichen und die Links im PetWorkers-Portal auf /impressum/ und /kontakt/)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(hundetraining|einzeltraining-hausbesuch|gruppenstunden-aussentraining|preise-hundetraining)/?$ /hundeschule.html [R=301,L]
RewriteRule ^(einfache-rationspruefung|beratungsablauf|erst-anamnesegespraech|futterplaene|welpe-zum-junghund|welpe-und-junghund|erwachsener-hund|seniorenplan|der-seniorenplan|erkrankter-hund|aufbau-reduktionsplan|urlaubsplan-2|der-urlaubsplan)/?$ /ernaehrung.html [R=301,L]
RewriteRule ^category/futterplan(/.*)?$ /ernaehrung.html [R=301,L]
RewriteRule ^(ueber-mich|qualifikationen)/?$ /ueber-mich.html [R=301,L]
RewriteRule ^(shop|coming-soon)/?$ /shop.html [R=301,L]
RewriteRule ^impressum/?$ /impressum.html [R=301,L]
RewriteRule ^datenschutz/?$ /datenschutz.html [R=301,L]
RewriteRule ^kontakt/?$ /#kontakt [R=301,NE,L]
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript image/svg+xml
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>
+67
View File
@@ -0,0 +1,67 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Seite nicht gefunden – Schmacko Napf</title>
<meta name="description" content="Diese Seite gibt es leider nicht.">
<meta name="robots" content="noindex">
<link rel="canonical" href="https://schmacko-napf.de/404.html">
<meta name="theme-color" content="#fcfaf4">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Seite nicht gefunden – Schmacko Napf">
<meta property="og:description" content="Diese Seite gibt es leider nicht.">
<meta property="og:url" content="https://schmacko-napf.de/404.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="preload" href="/assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="/index.html" aria-label="Schmacko Napf – Startseite"><img src="/assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="/hundeschule.html">Hundetraining</a>
<a href="/ernaehrung.html">Ernährung</a>
<a href="/shop.html">Shop</a>
<a href="/transportboxen.html">Transportboxen</a>
<a href="/ueber-mich.html">Über mich</a>
<a href="/index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic" id="inhalt">
<div class="panel panel--ink panel--mid panel--center">
<span class="kicker">Fehler 404</span>
<h1 class="display">Hier ist leider<br>nichts zu finden.</h1>
<p class="big">Vielleicht hat ein Hund die Seite vergraben. Über die Startseite findest du alles wieder.</p>
<div class="btn-row"><a class="btn btn--sage" href="/index.html">Zur Startseite <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="/index.html"><img src="/assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="/assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="/hundeschule.html">Hundetraining</a>
<a href="/ernaehrung.html">Ernährung</a>
<a href="/shop.html">Shop</a>
<a href="/transportboxen.html">Transportboxen</a>
<a href="/ueber-mich.html">Über mich</a>
<a href="/impressum.html">Impressum</a>
<a href="/datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="/assets/site.js?v=1b827e6e"></script>
</body>
</html>
+40 -13
View File
@@ -1,18 +1,36 @@
# Schmacko Napf & Hundetraining by Katha — Website
Neuer Entwurf für die Website von Katha (bisher WordPress: `schmacko-napf.de`). Statisches HTML/CSS/JS.
Neue Website für Katha (bisher WordPress auf `schmacko-napf.de`). Statisches HTML/CSS/JS, keine Cookies, kein Tracking, keine Drittanbieter – Schrift und Bilder liegen lokal. Deshalb ist kein Cookie-Banner nötig.
| Datei | Seite |
|---|---|
| `index.html` | Start: 4 Kacheln mit Logo-Siegel, darunter Über mich, Training, Ernährung, 5 Säulen, Shop/Transportboxen, Kontakt |
| `hundeschule.html` | Einzeltraining, Außentraining, 5 Säulen, Preise |
| `ernaehrung.html` | Futterarten, Ablauf, Preise |
| `shop.html` | Sortiment (Platzhaltertext, Shop im Aufbau) |
| `transportboxen.html` | Maßanfertigung fürs Auto (Platzhaltertext) |
| `impressum.html` | Impressum |
| `assets/site.css` | Farben (oben als Variablen) und alle Komponenten |
| `assets/site.js` | Menü, Header nach dem Hero, Einblend-Animationen |
| `shop.html` | Sortiment (Shop im Aufbau) |
| `transportboxen.html` | Maßanfertigung fürs Auto |
| `ueber-mich.html` | Katha, Ausbildungen, Weiterbildungen |
| `impressum.html`, `datenschutz.html` | Rechtstexte |
| `404.html` | Fehlerseite (per `.htaccess` auf Apache-Servern aktiv) |
| `assets/site.css` | Farben (oben als Variablen), Schrift, alle Komponenten |
| `assets/site.js` | Menü, Header nach dem Hero, Logo-Ring, Einblend-Animationen |
| `assets/img/` | Web-Bilder (WebP), erzeugt aus `tools/originals/` |
| `assets/fonts/` | Questrial (SIL Open Font License) |
| `tools/build_pages.py` | **Quelle der Seiten** — Inhalte hier ändern, dann neu erzeugen |
| `tools/optimize_images.py` | erzeugt `assets/img/`, Apple-Icon und Vorschaubild aus `tools/originals/` |
| `tools/make_zip.sh` | baut `Schmacko-Napf-Website.zip` zur Übergabe an den Kunden |
## Terminbuchung
Alle „Termin buchen“-Knöpfe führen zu Kathas Buchungsportal **PetWorkers** (`https://schmacko-napf.petworkers.app`): Kopfleiste, Kontakt-Fläche, Buchungs-Fläche auf Start/Hundetraining/Ernährung und die Buchen-Knöpfe in den Trainings-Flächen. Die einzelnen Links stehen zentral in `BOOK` in `tools/build_pages.py`.
Verlinkt werden die Portal-Seiten direkt über ihre ID (`index.php?id=…`). Die Adressen `seite.php?name=ernaehrungsberatung` und `…name=kaufberatung` leiten im Portal nur auf die Startseite um. Für die Kaufberatung gibt es im Portal noch keine eigene Seite, deshalb fehlt sie in den Buchungs-Flächen. Sobald Katha eine anlegt, in `BOOK` ergänzen.
Die alte Seite verlinkte für das Ernährungs-Erstgespräch teilweise auch Microsoft Bookings – die neue Seite nutzt einheitlich PetWorkers.
## Alte Adressen
`.htaccess` leitet die Adressen der alten WordPress-Seite (z. B. `/hundetraining/`, `/futterplaene/`, `/impressum/`, `/kontakt/`) per 301 auf die neuen Seiten um. So landen Google-Treffer, Lesezeichen und die Links im PetWorkers-Portal nicht auf der Fehlerseite.
## Lokal ansehen
@@ -20,16 +38,25 @@ Neuer Entwurf für die Website von Katha (bisher WordPress: `schmacko-napf.de`).
python3 -m http.server 4175
```
Dann http://localhost:4175 öffnen.
Dann http://localhost:4175 öffnen. `index.html` lässt sich auch direkt per Doppelklick öffnen.
## Seiten ändern
## Ändern
```bash
python3 tools/build_pages.py
python3 tools/build_pages.py # nach Text-/Strukturänderungen
python3 tools/optimize_images.py # nach neuen Bildern in tools/originals/
tools/make_zip.sh # Übergabe-Paket neu bauen
```
## Offen
`build_pages.py` braucht Pillow (`pip install pillow`).
- Logo und Fotos (KK-Fotografie) werden noch direkt von `schmacko-napf.de` geladen, die übrigen Bilder von Unsplash — vor dem Livegang lokal in `assets/img/` ablegen.
- Texte für Shop und Transportboxen sind Platzhalter.
- Datenschutzerklärung fehlt noch.
## Veröffentlichen
Alles außer `tools/`, `README.md` und `.git` in das Hauptverzeichnis des Webspace laden. Die Seite geht von der Domain `https://schmacko-napf.de` aus (Canonical, Sitemap, Vorschaubild) – bei anderer Domain `SITE` in `tools/build_pages.py` ändern und neu erzeugen.
## Vor dem Livegang prüfen
- Texte für Shop und Transportboxen mit Katha abstimmen (aktuell allgemein formuliert).
- Impressum und Datenschutz rechtlich prüfen lassen; im Datenschutz ggf. den Hosting-Anbieter namentlich nennen.
- Nutzungsrecht der Fotos von KK-Fotografie (Steffi Biller) für die neue Seite bestätigen.
- Im PetWorkers-Portal (Katha): Die Knöpfe „Ernährungsberatung“ und „Kaufberatung“ auf der Portal-Startseite führen ins Leere. Der Text der Ernährungs-Seite (`id=107`) spricht noch von „DogWorkers“ (Vorlagentext).
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><circle cx="32" cy="32" r="32" fill="#194242"/><g fill="#d0e6a5"><ellipse cx="18.5" cy="27" rx="4.6" ry="5.8"/><ellipse cx="27" cy="18.5" rx="4.6" ry="6"/><ellipse cx="37" cy="18.5" rx="4.6" ry="6"/><ellipse cx="45.5" cy="27" rx="4.6" ry="5.8"/><path d="M32 30.5c-6 0-13.6 8.4-13.6 14.2 0 3.7 2.8 5.7 6.4 5.7 3 0 4.6-1.5 7.2-1.5s4.2 1.5 7.2 1.5c3.6 0 6.4-2 6.4-5.7 0-5.8-7.6-14.2-13.6-14.2z"/></g></svg>

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

+178 -33
View File
@@ -1,3 +1,21 @@
/* ===== Schrift (lokal, Questrial – SIL Open Font License) ===== */
@font-face {
font-family: "Questrial";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("fonts/questrial-latin.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: "Questrial";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("fonts/questrial-latin-ext.woff2") format("woff2");
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* ===== Farben – aus dem Schmacko-Napf-Branding ===== */
:root {
--bg: #fcfaf4; /* Creme */
@@ -28,41 +46,82 @@ body {
overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3 { font-weight: 400; line-height: 1.05; letter-spacing: -.025em; margin: 0; }
p { margin: 0; }
svg { flex: none; }
/* ===== Header ===== */
/* Tastatur: direkt zum Inhalt */
.skip {
position: fixed; left: 16px; top: 16px; z-index: 100;
padding: 12px 20px; border-radius: 999px;
background: var(--ink); color: var(--bg);
transform: translateY(-200%);
}
.skip:focus { transform: none; }
/* Tastatur-Fokus: dunkler Ring auf hellem Grund, Salbei auf dunklen Flächen */
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.panel--ink :focus-visible, .panel--photo :focus-visible, .site-footer :focus-visible { outline-color: var(--sage); }
/* ===== Header: Logo und Menü als zwei schwebende Elemente ===== */
.site-header {
position: sticky; top: 0; z-index: 50;
background: color-mix(in srgb, var(--bg) 90%, transparent);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
pointer-events: none; /* Fläche zwischen Logo und Menü bleibt klickbar */
}
.header-inner {
display: flex; align-items: center; gap: 24px;
height: 88px;
padding: 0 var(--pad);
}
.brand { display: inline-flex; align-items: center; }
.brand img { width: 84px; height: 84px; transition: transform .5s var(--ease); }
.brand, .nav, .burger {
pointer-events: auto;
background: color-mix(in srgb, var(--bg) 90%, transparent);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
box-shadow: 0 10px 30px rgba(25, 66, 66, .12);
}
.brand {
width: 72px; height: 72px;
border-radius: 50%;
display: grid; place-items: center;
}
.brand img { width: 68px; height: 68px; transition: transform .5s var(--ease); }
.brand:hover img { transform: rotate(-6deg); }
.nav { display: flex; gap: 4px; margin-left: auto; }
.nav {
display: flex; gap: 4px;
margin-left: auto;
padding: 8px;
border-radius: var(--radius);
}
.nav a {
padding: 10px 16px;
border-radius: 999px;
padding: 12px 20px;
border-radius: 14px;
font-size: 1.05rem;
transition: background .25s var(--ease);
}
.nav a:hover, .nav a[aria-current="page"] { background: var(--sage-soft); }
/* Buchen-Knopf in der Kopfleiste */
.book-btn {
pointer-events: auto;
display: inline-flex; align-items: center; gap: 10px;
height: 60px; padding: 0 24px 0 20px;
margin-left: 12px;
border-radius: var(--radius);
background: var(--sage);
color: var(--ink);
font-size: 1.05rem;
box-shadow: 0 10px 30px rgba(25, 66, 66, .12);
transition: background .25s var(--ease);
}
.book-btn:hover { background: #c2dc8f; }
.book-btn svg { width: 22px; height: 22px; }
.burger {
display: none;
width: 52px; height: 52px;
width: 60px; height: 60px;
margin-left: auto;
border: 1px solid var(--line);
border: 0;
border-radius: 50%;
background: transparent;
color: var(--ink);
cursor: pointer;
place-items: center;
@@ -72,7 +131,7 @@ svg { flex: none; }
/* Startseite: Header erst nach dem Hero einblenden */
.is-home .site-header {
position: fixed; left: 0; right: 0;
transform: translateY(-100%);
transform: translateY(-120%);
transition: transform .45s var(--ease);
}
.is-home.scrolled .site-header, .is-home.menu-open .site-header { transform: none; }
@@ -184,7 +243,6 @@ svg { flex: none; }
.tile:hover .tile-arrow { background: var(--sage); border-color: var(--sage); color: var(--ink); }
.tile:hover .tile-arrow svg { transform: rotate(-45deg); }
}
.tile:focus-visible, .btn:focus-visible, .nav a:focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; }
/* Logo-Siegel in der Mitte */
.seal {
@@ -319,6 +377,10 @@ a.panel--photo:hover > img { transform: scale(1.04); }
a.panel:hover .panel-arrow { background: var(--sage); border-color: var(--sage); color: var(--ink); }
a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.panel-arrow--ink { background: var(--ink); border-color: var(--ink); }
/* Steht die Überschrift oben (Handy), darf sie nicht unter den Pfeil laufen */
.panel-arrow--ink ~ .kicker { padding-right: 64px; }
/* Kurze Fakten als Pillen */
.facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.fact {
@@ -359,6 +421,29 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.words small { font-size: 1rem; letter-spacing: .1em; color: var(--sage); width: 2.2em; flex: none; }
.words span { font-size: clamp(1.05rem, 1.4vw, 1.3rem); letter-spacing: 0; color: color-mix(in srgb, var(--bg) 70%, transparent); margin-left: auto; text-align: right; max-width: 26ch; line-height: 1.35; }
/* Qualifikationen (auf dunkler Fläche) */
.quals { list-style: none; padding: 0; margin: 10px 0 0; }
.quals li {
display: grid; grid-template-columns: 9em 1fr auto; align-items: baseline; gap: 12px 32px;
padding: clamp(18px, 2vw, 28px) 0;
border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.quals small { font-size: 1rem; letter-spacing: .06em; color: var(--sage); }
.quals strong { font-weight: 400; font-size: clamp(1.6rem, 3.2vw, 3rem); line-height: 1.05; letter-spacing: -.02em; }
.quals span { color: color-mix(in srgb, var(--bg) 70%, transparent); font-size: clamp(1.05rem, 1.4vw, 1.25rem); text-align: right; }
/* Liste mit Jahreszahl (auf heller Fläche) */
.list-big { list-style: none; padding: 0; margin: 10px 0 0; columns: 2; column-gap: clamp(32px, 5vw, 80px); }
.list-big li {
break-inside: avoid;
display: flex; gap: 20px; align-items: baseline;
padding: 18px 0;
border-bottom: 1px solid var(--line);
font-size: clamp(1.15rem, 1.6vw, 1.4rem);
line-height: 1.35;
}
.list-big small { flex: none; width: 3em; font-size: 1rem; color: var(--muted); }
/* Schritte */
.steps { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.steps li { border-top: 1px solid rgba(255, 255, 255, .2); padding-top: 22px; }
@@ -381,6 +466,14 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.price-rows small { display: block; font-size: 1.05rem; color: var(--muted); margin-top: 6px; letter-spacing: 0; }
.price-rows strong { font-weight: 400; white-space: nowrap; font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
/* Dreier-Reihen: Überschriften, Texte und Preise auf einer Linie, auch wenn ein Text kürzer ist */
@media (min-width: 981px) {
.row--3 { grid-template-rows: 1fr auto auto; min-height: min(62svh, 620px); } /* Höhe wie .panel--mid – im Subgrid zählt die der Flächen nicht */
.row--3 > .panel { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; justify-content: stretch; }
.row--3 > .panel > * { align-self: start; }
.row--3 > .panel > .kicker { align-self: end; }
}
/* Icon in Flächen */
.panel-icon {
width: 76px; height: 76px;
@@ -396,6 +489,27 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.plate-panel { align-items: center; justify-content: center; }
.plate-panel img { width: min(82%, 560px); filter: drop-shadow(0 34px 46px rgba(25, 66, 66, .25)); }
/* Buchungs-Fläche */
.booking { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 4vw, 72px); align-items: end; }
.book-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.book-links a {
display: flex; align-items: center; justify-content: space-between; gap: 16px;
padding: 22px 26px;
border-radius: 18px;
background: var(--bg);
font-size: clamp(1.15rem, 1.5vw, 1.35rem);
transition: background .3s var(--ease), color .3s var(--ease);
}
.book-links a:hover { background: var(--ink); color: var(--bg); }
.book-links svg { width: 22px; height: 22px; transition: transform .4s var(--ease); }
.book-links a:hover svg { transform: translate(2px, -2px); }
.book-links a:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* G&H-Zertifikat */
.cert { display: block; width: clamp(150px, 13vw, 200px); height: auto; margin-top: 36px; }
.quals-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.quals-head .cert { margin-top: 0; width: clamp(120px, 11vw, 170px); }
/* Kontakt */
.contact-links { display: grid; gap: 12px; margin-top: 40px; max-width: 520px; }
.contact-links a {
@@ -407,6 +521,9 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
transition: background .3s var(--ease);
}
.contact-links a:hover { background: rgba(208, 230, 165, .18); }
.contact-links a.contact-book { background: var(--sage); color: var(--ink); }
.contact-links a.contact-book svg { color: var(--ink); }
.contact-links a.contact-book:hover { background: #c2dc8f; }
.contact-links svg { width: 28px; height: 28px; color: var(--sage); }
.contact-links a > span:last-child { margin-left: auto; opacity: .5; }
.contact-links a > span:last-child svg { width: 22px; height: 22px; color: currentColor; }
@@ -423,6 +540,7 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.footer-brand { display: flex; align-items: center; gap: 22px; }
.footer-logo { width: 96px; height: 96px; border-radius: 50%; background: var(--bg); display: grid; place-items: center; flex: none; }
.footer-logo img { width: 92%; }
.footer-cert { width: auto; height: 84px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 26px; }
.footer-links a:hover { color: var(--bg); }
.footer-meta { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .95rem; opacity: .75; }
@@ -432,7 +550,9 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.page-hero h1 { font-size: clamp(3.2rem, 8vw, 8rem); letter-spacing: -.035em; line-height: .98; }
/* Text-Seite (Impressum) */
.legal { font-size: clamp(1.15rem, 1.5vw, 1.35rem); line-height: 1.6; }
.legal { font-size: clamp(1.1rem, 1.4vw, 1.3rem); line-height: 1.6; max-width: 46em; margin-top: 48px; }
.legal h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); margin: 52px 0 16px; letter-spacing: -.015em; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
.legal p + p { margin-top: 28px; }
.legal b { font-weight: 400; display: block; font-size: 1rem; letter-spacing: .16em; text-transform: uppercase; opacity: .7; margin-bottom: 6px; }
@@ -442,22 +562,33 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.d1 { transition-delay: .1s; }
.d2 { transition-delay: .2s; }
.tile:focus-visible, .btn:focus-visible, .nav a:focus-visible, a.panel:focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; }
/* ===== Responsive ===== */
@media (max-width: 1100px) {
.steps { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
.nav a { padding: 10px 12px; font-size: 1rem; }
}
@media (max-width: 980px) {
.header-inner { gap: 10px; }
.nav { display: none; }
.burger { display: grid; }
.burger { display: grid; margin-left: 0; }
.book-btn { margin-left: auto; }
.booking { grid-template-columns: minmax(0, 1fr); align-items: start; }
/* Logo-Siegel über den Kacheln – mittig wäre es den Beschriftungen im Weg */
.tiles { grid-template-rows: auto 1fr 1fr; }
.seal {
position: static;
grid-column: 1 / -1;
width: 190px;
margin: 0 auto;
transform: scale(.9);
}
@keyframes seal { to { opacity: 1; transform: none; } }
.seal-joint { display: none; }
.menu-open .nav {
display: flex; flex-direction: column; gap: 4px;
position: fixed; top: 88px; left: 0; right: 0;
padding: 16px var(--pad) 28px;
position: fixed; top: 88px; left: var(--pad); right: var(--pad);
padding: 10px;
background: var(--bg);
box-shadow: 0 24px 40px rgba(25, 66, 66, .12);
}
.menu-open .nav a { padding: 16px 18px; font-size: 1.35rem; }
.row, .row--3, .row--wide, .row--wide-r { grid-template-columns: 1fr; }
@@ -466,25 +597,28 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.panel--photo.tall { min-height: 80svh; }
.plate-panel { min-height: 0; padding-block: 56px; }
.words span { display: none; }
.quals li { grid-template-columns: 1fr; gap: 6px; }
.quals span { text-align: left; }
.list-big { columns: 1; }
}
@media (max-width: 767px) {
body { font-size: 18px; }
.header-inner { height: 76px; }
.brand img { width: 70px; height: 70px; }
.brand { width: 62px; height: 62px; }
.book-btn { height: 54px; padding: 0 18px; font-size: 1rem; }
.book-links { grid-template-columns: minmax(0, 1fr); }
.footer-cert { height: 72px; }
.brand img { width: 58px; height: 58px; }
.burger { width: 54px; height: 54px; }
.menu-open .nav { top: 76px; }
.hero { height: auto; min-height: 0; display: block; padding: 0 16px 16px; }
.tiles { grid-template-columns: 1fr; grid-template-rows: none; gap: 12px; }
.tile { height: 44svh; min-height: 260px; }
.tile:nth-of-type(even) .tile-foot { flex-direction: row; text-align: left; }
.tile-arrow { width: 50px; height: 50px; }
.seal {
position: static;
width: 210px;
margin: 4px auto -6px;
transform: scale(.9);
}
@keyframes seal { to { opacity: 1; transform: none; } }
.seal-joint { display: none; }
.tile-foot { gap: 12px; }
.tile-label { font-size: clamp(1.4rem, 6.6vw, 1.7rem); }
.tile-arrow { width: 46px; height: 46px; }
.seal { width: 210px; margin: 4px auto -6px; }
.scroll-hint { display: none; }
.mosaic { gap: 12px; padding: 0 16px 16px; }
.row { gap: 12px; }
@@ -494,6 +628,17 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.contact-links a { padding: 18px 18px; }
.page-hero { min-height: calc(100svh - 76px - 16px); }
.footer-brand { flex-direction: column; align-items: flex-start; }
/* lange Wörter („Transportboxen“, „Konsequenz“) passen auch auf schmale Handys */
.page-hero h1 { font-size: min(3.2rem, 11vw); }
.display { font-size: min(2.8rem, 12.5vw); }
.words li { font-size: min(2.4rem, 10.5vw); }
}
.book-short { display: none; }
@media (max-width: 400px) {
.book-btn { padding: 0 16px; gap: 8px; }
.book-long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.book-short { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
@@ -504,6 +649,6 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.scroll-hint { animation: none; }
.reveal { opacity: 1; transform: none; transition: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 767px) {
@media (prefers-reduced-motion: reduce) and (max-width: 980px) {
.seal { transform: none; }
}
+22 -12
View File
@@ -1,31 +1,41 @@
(() => {
const body = document.body;
// Mobiles Menü
// Mobiles Menü – schließt auch mit Escape oder Tipp daneben
const burger = document.querySelector('.burger');
if (burger) {
burger.addEventListener('click', () => {
const open = body.classList.toggle('menu-open');
const setMenu = open => {
body.classList.toggle('menu-open', open);
burger.setAttribute('aria-expanded', open);
burger.setAttribute('aria-label', open ? 'Menü schließen' : 'Menü öffnen');
};
burger.addEventListener('click', () => setMenu(!body.classList.contains('menu-open')));
document.querySelectorAll('.nav a').forEach(a => a.addEventListener('click', () => setMenu(false)));
document.addEventListener('keydown', e => {
if (e.key === 'Escape' && body.classList.contains('menu-open')) { setMenu(false); burger.focus(); }
});
document.addEventListener('click', e => {
if (body.classList.contains('menu-open') && !e.target.closest('.nav, .burger')) setMenu(false);
});
document.querySelectorAll('.nav a').forEach(a =>
a.addEventListener('click', () => {
body.classList.remove('menu-open');
burger.setAttribute('aria-expanded', 'false');
})
);
}
// Startseite: Header einblenden, sobald der Hero verlassen wird
// Startseite: Header einblenden, sobald der Hero verlassen wird. Auf Handy/Tablet steht das
// Siegel über den Kacheln – dort kommt der Header schon, sobald das Siegel aus dem Bild ist.
const hero = document.querySelector('.hero');
const seal = document.querySelector('.seal');
if (body.classList.contains('is-home') && hero) {
new IntersectionObserver(([e]) => body.classList.toggle('scrolled', !e.isIntersecting), {
const past = { hero: false, seal: false };
const update = () => body.classList.toggle('scrolled', past.hero || past.seal);
new IntersectionObserver(([e]) => { past.hero = !e.isIntersecting; update(); }, {
rootMargin: '-120px 0px 0px 0px'
}).observe(hero);
if (seal) new IntersectionObserver(([e]) => {
past.seal = !e.isIntersecting && e.boundingClientRect.top < 0 && getComputedStyle(seal).position === 'static';
update();
}).observe(seal);
}
// Ring um das Logo-Siegel: Kreis + die vier Kachel-Lücken, Übergänge mit Radius f abgerundet
const seal = document.querySelector('.seal');
const joint = document.querySelector('.seal-joint');
if (seal && joint) {
const drawJoint = () => {
+91
View File
@@ -0,0 +1,91 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Datenschutz – Schmacko Napf</title>
<meta name="description" content="Datenschutzerklärung von Schmacko Napf & Hundetraining by Katha.">
<meta name="robots" content="noindex">
<link rel="canonical" href="https://schmacko-napf.de/datenschutz.html">
<meta name="theme-color" content="#fcfaf4">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Datenschutz – Schmacko Napf">
<meta property="og:description" content="Datenschutzerklärung von Schmacko Napf & Hundetraining by Katha.">
<meta property="og:url" content="https://schmacko-napf.de/datenschutz.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic" id="inhalt">
<div class="panel panel--cream panel--auto">
<span class="kicker">Rechtliches</span>
<h1 class="display">Datenschutz</h1>
<div class="legal">
<p>Der Schutz deiner Daten ist mir wichtig. Diese Website kommt ohne Cookies, ohne Tracking und ohne Inhalte von Drittanbietern aus. Schriften und Bilder liegen auf dem eigenen Server.</p>
<h2>1. Verantwortliche</h2>
<p>Katharina Schulz<br>Seewiese 19<br>84109 Wörth a.d. Isar<br>E-Mail: <a href="mailto:info@schmacko-napf.de">info@schmacko-napf.de</a><br>Telefon: <a href="tel:+4917656932942">+49 176 569 329 42</a></p>
<h2>2. Aufruf der Website (Server-Logfiles)</h2>
<p>Beim Aufruf dieser Website verarbeitet der Hosting-Anbieter automatisch technische Daten, die dein Browser übermittelt: IP-Adresse, Datum und Uhrzeit, aufgerufene Seite, Referrer-URL, Browsertyp und Betriebssystem. Das ist nötig, um die Website sicher und stabil auszuliefern (Art. 6 Abs. 1 lit. f DSGVO). Die Daten werden nicht mit anderen Daten zusammengeführt und nach kurzer Zeit gelöscht. Mit dem Hosting-Anbieter besteht ein Vertrag zur Auftragsverarbeitung.</p>
<h2>3. Verschlüsselung</h2>
<p>Die Website wird über eine verschlüsselte Verbindung (HTTPS/TLS) ausgeliefert. Du erkennst das am Schloss-Symbol in der Adresszeile deines Browsers.</p>
<h2>4. Kontakt per E-Mail, Telefon oder WhatsApp</h2>
<p>Wenn du mich kontaktierst, verarbeite ich deine Angaben (z. B. Name, Kontaktdaten, Informationen zu deinem Hund), um deine Anfrage zu beantworten und gegebenenfalls einen Termin oder Vertrag durchzuführen (Art. 6 Abs. 1 lit. b DSGVO). Die Daten werden gelöscht, sobald sie nicht mehr erforderlich sind und keine gesetzlichen Aufbewahrungspflichten bestehen.</p>
<p>Der WhatsApp-Link öffnet erst nach deinem Klick die App bzw. Website von WhatsApp (WhatsApp Ireland Ltd.). Dabei gelten die Datenschutzbestimmungen von WhatsApp. Wenn du das nicht möchtest, schreib mir gern per E-Mail oder ruf an.</p>
<h2>5. Online-Terminbuchung</h2>
<p>Für Terminbuchungen nutze ich das Buchungsportal PetWorkers (schmacko-napf.petworkers.app). Erst wenn du auf „Termin buchen“ klickst, wirst du dorthin weitergeleitet. Die Daten, die du bei der Buchung angibst, verarbeite ich zur Durchführung deines Termins (Art. 6 Abs. 1 lit. b DSGVO). Für die Verarbeitung auf dem Portal gelten ergänzend die Datenschutzhinweise von PetWorkers.</p>
<h2>6. Deine Rechte</h2>
<p>Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen (Art. 21). Eine Einwilligung kannst du jederzeit für die Zukunft widerrufen. Eine formlose Nachricht an die oben genannte Adresse genügt.</p>
<p>Außerdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren, zum Beispiel beim Bayerischen Landesamt für Datenschutzaufsicht (BayLDA), Promenade 18, 91522 Ansbach.</p>
<h2>7. Stand</h2>
<p>Oktober 2026</p>
</div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+40 -15
View File
@@ -5,31 +5,41 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Ernährungsberatung – Schmacko Napf</title>
<meta name="description" content="Individuelle Futterpläne und Gesundheitsberatung für Hunde jeden Alters – BARF, Koch-BARF, Nass- und Trockenfutter.">
<link rel="canonical" href="https://schmacko-napf.de/ernaehrung.html">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Ernährungsberatung – Schmacko Napf">
<meta property="og:description" content="Individuelle Futterpläne und Gesundheitsberatung für Hunde jeden Alters – BARF, Koch-BARF, Nass- und Trockenfutter.">
<meta property="og:url" content="https://schmacko-napf.de/ernaehrung.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html" aria-current="page">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic">
<main class="mosaic" id="inhalt">
<section class="panel panel--photo page-hero">
<img src="https://images.unsplash.com/photo-1714068691210-073dc52c6c1d?auto=format&fit=crop&w=2000&q=80" alt="Hund schnuppert an einem Napf mit Trockenfutter">
<span class="kicker">Ernährungs- &amp; Gesundheitsberatung</span>
<img src="assets/img/futternapf.webp" srcset="assets/img/futternapf-900.webp 900w, assets/img/futternapf.webp 1800w" sizes="100vw" alt="Hund schnuppert an einem Napf mit Trockenfutter">
<span class="kicker">Ernährungs- &amp; Gesundheits&shy;beratung</span>
<h1>Fürsorge<br>in Napfform.</h1>
<p class="big">Individuelle Futterpläne – gesund, sensibel oder mit Diagnose.</p>
</section>
@@ -40,8 +50,9 @@
<h2 class="title">Jeder sagt<br>etwas anderes.</h2>
<p class="big">Ich bringe Klarheit in die Futter-Frage – und erstelle einen Plan, der zu deinem Hund passt.</p>
<div class="facts"><span class="fact">BARF</span><span class="fact">Teil-BARF</span><span class="fact">Koch-BARF</span><span class="fact">Nassfutter</span><span class="fact">Trockenfutter</span></div>
<img class="cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<div class="panel panel--sage plate-panel reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2023/06/Barf.png" alt="Teller mit frischem Fleisch, Gemüse und Obst" loading="lazy"></div>
<div class="panel panel--sage plate-panel reveal d1"><img src="assets/img/barf-teller.webp" alt="Teller mit frischem Fleisch, Gemüse und Obst" width="900" height="900" loading="lazy"></div>
</div>
<div class="panel panel--ink panel--auto reveal">
@@ -73,34 +84,48 @@
</div>
</div>
<div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">Beratung buchen.</h2>
<p class="big">Erstgespräch und Futterplan direkt online buchen – vor Ort, am Telefon oder online.</p>
</div>
<div class="book-links">
<a href="https://schmacko-napf.petworkers.app/index.php?id=107" target="_blank" rel="noopener"><span>Ernährungs&shy;beratung</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-46.jpg" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 45vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+48 -16
View File
@@ -5,30 +5,40 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hundetraining – Schmacko Napf</title>
<meta name="description" content="Einzeltraining, Hausbesuche und Gruppentraining im Außenbereich mit Katha, zertifizierte Hundetrainerin nach § 11 TierSchG.">
<link rel="canonical" href="https://schmacko-napf.de/hundeschule.html">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Hundetraining – Schmacko Napf">
<meta property="og:description" content="Einzeltraining, Hausbesuche und Gruppentraining im Außenbereich mit Katha, zertifizierte Hundetrainerin nach § 11 TierSchG.">
<meta property="og:url" content="https://schmacko-napf.de/hundeschule.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html" aria-current="page">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic">
<main class="mosaic" id="inhalt">
<section class="panel panel--photo page-hero">
<img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-66.jpg" alt="Katha mit ihrem Hund auf einer Wiese im Abendlicht">
<img src="assets/img/katha-abendlicht.webp" srcset="assets/img/katha-abendlicht-900.webp 900w, assets/img/katha-abendlicht.webp 1417w" sizes="100vw" alt="Katha mit ihrem Hund auf einer Wiese im Abendlicht">
<span class="kicker">Hundetraining</span>
<h1>Für beide Seiten<br>der Leine.</h1>
<p class="big">Vertrauen, klare Kommunikation und Training, das im Alltag funktioniert.</p>
@@ -40,17 +50,22 @@
<h2 class="title">Individuell.<br>Bei dir zu Hause.</h2>
<p class="big">Für Grundgehorsam, Unsicherheit, Leinenführigkeit oder einen neuen Hund im Haus.</p>
<div class="price-big"><strong>60 €</strong><span>pro Stunde · nach dem Erstgespräch (120 €, ca. 2 Std.)</span></div>
<div class="btn-row"><a class="btn btn--ink" href="https://schmacko-napf.petworkers.app/index.php?id=11" target="_blank" rel="noopener">Einzelcoaching buchen <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a></div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-46.jpg" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 55vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
<div class="row row--wide">
<div class="panel panel--photo plain reveal"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-51.jpg" alt="Schwarzer Schäferhund rennt über einen Feldweg" loading="lazy"></div>
<div class="panel panel--photo plain reveal"><img src="assets/img/hund-rennt.webp" srcset="assets/img/hund-rennt-900.webp 900w, assets/img/hund-rennt.webp 1417w" sizes="(max-width: 980px) 100vw, 55vw" alt="Schwarzer Schäferhund rennt über einen Feldweg" loading="lazy"></div>
<div class="panel panel--ink reveal d1">
<span class="kicker">Gruppe &amp; Außentraining</span>
<h2 class="title">Training da, wo<br>das Leben ist.</h2>
<p class="big">In der Stadt, im Grünen, in Geschäften – mit max. 6 Mensch-Hund-Teams.</p>
<div class="price-big"><strong>18 €</strong><span>pro Mensch-Hund-Team</span></div>
<div class="btn-row">
<a class="btn btn--sage" href="https://schmacko-napf.petworkers.app/index.php?id=12" target="_blank" rel="noopener">Gruppenstunde buchen <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a class="btn btn--line" href="https://schmacko-napf.petworkers.app/index.php?view=kalender" target="_blank" rel="noopener">Stundenplan <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
</div>
@@ -71,39 +86,56 @@
<div class="price-rows">
<div><span>Erstgespräch Einzeltraining<small>ca. 2 Stunden · zzgl. 0,30 € / km</small></span><strong>120 €</strong></div>
<div><span>Einzeltraining<small>pro Stunde · zzgl. 0,30 € / km</small></span><strong>60 €</strong></div>
<div><span>Gruppentraining<small>pro Mensch-Hund-Team</small></span><strong>18 €</strong></div>
<div><span>Gruppentraining<small>pro Mensch-Hund-Team · max. 2 Hunde pro Halter</small></span><strong>18 €</strong></div>
<div><span>10er-Karte<small>Gruppe &amp; Einzel frei kombinierbar</small></span><strong>165 €</strong></div>
</div>
</div>
<div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">Termin buchen.</h2>
<p class="big">Freie Termine, Kurse und der Stundenplan – direkt in meinem Buchungsportal.</p>
</div>
<div class="book-links">
<a href="https://schmacko-napf.petworkers.app/index.php?id=11" target="_blank" rel="noopener"><span>Einzelcoaching</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=12" target="_blank" rel="noopener"><span>Gruppenstunden</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=13" target="_blank" rel="noopener"><span>Kurse &amp; Workshops</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?view=kalender" target="_blank" rel="noopener"><span>Stundenplan</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-35.jpg" alt="Katha sitzt mit ihrer Schäferhündin im Grünen" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/katha-heide.webp" srcset="assets/img/katha-heide-900.webp 900w, assets/img/katha-heide.webp 1417w" sizes="(max-width: 980px) 100vw, 45vw" alt="Katha sitzt mit ihrer Schäferhündin im Grünen" loading="lazy"></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+31 -16
View File
@@ -5,54 +5,69 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Impressum – Schmacko Napf</title>
<meta name="description" content="Impressum von Schmacko Napf & Hundetraining by Katha.">
<meta name="robots" content="noindex">
<link rel="canonical" href="https://schmacko-napf.de/impressum.html">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Impressum – Schmacko Napf">
<meta property="og:description" content="Impressum von Schmacko Napf & Hundetraining by Katha.">
<meta property="og:url" content="https://schmacko-napf.de/impressum.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic">
<main class="mosaic" id="inhalt">
<div class="panel panel--cream panel--auto">
<span class="kicker">Rechtliches</span>
<h1 class="display">Impressum</h1>
<div class="legal" style="margin-top:48px">
<p><b>Angaben gemäß § 5 TMG</b>Katharina Schulz<br>Seewiese 19<br>84109 Wörth a.d. Isar</p>
<p><b>Kontakt</b>Telefon: +49 176 569 329 42<br>E-Mail: info@schmacko-napf.de</p>
<p><b>Verantwortlich gemäß § 18 Abs. 2 MStV</b>Katharina Schulz, Anschrift wie oben</p>
<p><b>Fotos</b>Steffi Biller, KK-Fotografie · weitere Bilder: Unsplash</p>
<div class="legal">
<p><b>Angaben gemäß § 5 DDG</b>Katharina Schulz<br>Schmacko Napf &amp; Hundetraining by Katha<br>Seewiese 19<br>84109 Wörth a.d. Isar</p>
<p><b>Kontakt</b>Telefon: <a href="tel:+4917656932942">+49 176 569 329 42</a><br>E-Mail: <a href="mailto:info@schmacko-napf.de">info@schmacko-napf.de</a></p>
<p><b>Erlaubnis und Aufsichtsbehörde</b>Erlaubnis zur gewerbsmäßigen Ausbildung von Hunden für Dritte nach § 11 Abs. 1 Nr. 8 f TierSchG, erteilt im Oktober 2024 durch das Veterinäramt Landshut.</p>
<p><b>Verantwortlich für den Inhalt nach § 18 Abs. 2 MStV</b>Katharina Schulz, Anschrift wie oben</p>
<p><b>Verbraucher&shy;streit&shy;beilegung</b>Ich bin nicht bereit und nicht verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.</p>
<p><b>Bildnachweis</b>Fotos von Katha und ihren Hunden: Steffi Biller, KK-Fotografie. Weitere Bilder: Unsplash.</p>
</div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+59 -30
View File
@@ -4,67 +4,78 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Schmacko Napf & Hundetraining by Katha</title>
<meta name="description" content="Hundetraining, Ernährungs- und Gesundheitsberatung, Shop und maßgefertigte Transportboxen – Schmacko Napf by Katha.">
<meta name="description" content="Hundetraining, Ernährungs- und Gesundheitsberatung, Shop und maßgefertigte Transportboxen – Schmacko Napf by Katha in Wörth a.d. Isar.">
<link rel="canonical" href="https://schmacko-napf.de/">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Schmacko Napf & Hundetraining by Katha">
<meta property="og:description" content="Hundetraining, Ernährungs- und Gesundheitsberatung, Shop und maßgefertigte Transportboxen – Schmacko Napf by Katha in Wörth a.d. Isar.">
<meta property="og:url" content="https://schmacko-napf.de/">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body class="is-home">
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<section class="hero">
<nav class="tiles" aria-label="Bereiche">
<svg class="seal-joint" aria-hidden="true"><path/></svg>
<h1 class="seal"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></h1>
<h1 class="seal"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="300" height="300"></h1>
<a class="tile" href="hundeschule.html">
<img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-66.jpg" alt="Katha mit ihrem Hund auf einer Wiese im Abendlicht">
<img src="assets/img/katha-abendlicht.webp" srcset="assets/img/katha-abendlicht-900.webp 900w, assets/img/katha-abendlicht.webp 1417w" sizes="(max-width: 767px) 100vw, 50vw" alt="Katha mit ihrem Hund auf einer Wiese im Abendlicht">
<span class="tile-foot">
<span class="tile-label">Hundeschule</span>
<span class="tile-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
</span>
</a>
<a class="tile" href="ernaehrung.html">
<img src="https://images.unsplash.com/photo-1714068691210-073dc52c6c1d?auto=format&fit=crop&w=1400&q=80" srcset="https://images.unsplash.com/photo-1714068691210-073dc52c6c1d?auto=format&fit=crop&w=800&q=80 800w, https://images.unsplash.com/photo-1714068691210-073dc52c6c1d?auto=format&fit=crop&w=1400&q=80 1400w, https://images.unsplash.com/photo-1714068691210-073dc52c6c1d?auto=format&fit=crop&w=2000&q=80 2000w" sizes="(max-width: 767px) 100vw, 50vw" alt="Hund schnuppert an einem Napf mit Trockenfutter">
<img src="assets/img/futternapf.webp" srcset="assets/img/futternapf-900.webp 900w, assets/img/futternapf.webp 1800w" sizes="(max-width: 767px) 100vw, 50vw" alt="Hund schnuppert an einem Napf mit Trockenfutter">
<span class="tile-foot">
<span class="tile-label">Ernährungsberatung</span>
<span class="tile-label">Ernährungs&shy;beratung</span>
<span class="tile-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
</span>
</a>
<a class="tile" href="shop.html">
<img src="https://images.unsplash.com/photo-1733451629760-d5fc1c818698?auto=format&fit=crop&w=1400&q=80" srcset="https://images.unsplash.com/photo-1733451629760-d5fc1c818698?auto=format&fit=crop&w=800&q=80 800w, https://images.unsplash.com/photo-1733451629760-d5fc1c818698?auto=format&fit=crop&w=1400&q=80 1400w, https://images.unsplash.com/photo-1733451629760-d5fc1c818698?auto=format&fit=crop&w=2000&q=80 2000w" sizes="(max-width: 767px) 100vw, 50vw" alt="Hund in einem Laden mit Hundezubehör">
<img src="assets/img/laden.webp" srcset="assets/img/laden-900.webp 900w, assets/img/laden.webp 1800w" sizes="(max-width: 767px) 100vw, 50vw" alt="Hund in einem Laden mit Hundezubehör">
<span class="tile-foot">
<span class="tile-label">Shop</span>
<span class="tile-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
</span>
</a>
<a class="tile" href="transportboxen.html">
<img src="https://images.unsplash.com/photo-1771777400696-3af9b6470ff8?auto=format&fit=crop&w=1400&q=80" srcset="https://images.unsplash.com/photo-1771777400696-3af9b6470ff8?auto=format&fit=crop&w=800&q=80 800w, https://images.unsplash.com/photo-1771777400696-3af9b6470ff8?auto=format&fit=crop&w=1400&q=80 1400w, https://images.unsplash.com/photo-1771777400696-3af9b6470ff8?auto=format&fit=crop&w=2000&q=80 2000w" sizes="(max-width: 767px) 100vw, 50vw" alt="Hund sitzt im offenen Kofferraum hinter einem Trenngitter">
<img src="assets/img/kofferraum.webp" srcset="assets/img/kofferraum-900.webp 600w, assets/img/kofferraum.webp 1200w" sizes="(max-width: 767px) 100vw, 50vw" alt="Hund sitzt im offenen Kofferraum hinter einem Trenngitter">
<span class="tile-foot">
<span class="tile-label">Transportboxen<small>Maßanfertigung fürs Auto</small></span>
<span class="tile-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
</span>
</a>
<a class="scroll-hint" href="#ueber-mich" aria-label="Weiter nach unten"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 5v14M6 13l6 6 6-6"/></svg></a>
<a class="scroll-hint" href="#inhalt" aria-label="Weiter nach unten"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 5v14M6 13l6 6 6-6"/></svg></a>
</nav>
</section>
<main class="mosaic">
<div class="row row--wide-r" id="ueber-mich">
<div class="panel panel--cream reveal">
<main class="mosaic" id="inhalt">
<div class="row row--wide-r">
<a class="panel panel--cream reveal" href="ueber-mich.html">
<span class="panel-arrow panel-arrow--ink"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
<span class="kicker">Über mich</span>
<h2 class="display">Hallo,<br>ich bin Katha.</h2>
<p class="big">Hundetrainerin und Ernährungsberaterin – mit Herz und Verstand. Für beide Seiten der Leine.</p>
@@ -72,12 +83,12 @@
<span class="fact">§ 11 TierSchG zertifiziert</span>
<span class="fact">Ernährungs- &amp; Gesundheitsberaterin</span>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-35.jpg" alt="Katha sitzt mit ihrer Schäferhündin Elina im Grünen" loading="lazy"></div>
</a>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/katha-heide.webp" srcset="assets/img/katha-heide-900.webp 900w, assets/img/katha-heide.webp 1417w" sizes="(max-width: 980px) 100vw, 55vw" alt="Katha sitzt mit ihrer Schäferhündin im Grünen" loading="lazy"></div>
</div>
<a class="panel panel--photo tall reveal" href="hundeschule.html">
<img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-51.jpg" alt="Schwarzer Schäferhund rennt freudig über einen Feldweg" loading="lazy">
<img src="assets/img/hund-rennt.webp" srcset="assets/img/hund-rennt-900.webp 900w, assets/img/hund-rennt.webp 1417w" sizes="100vw" alt="Schwarzer Schäferhund rennt freudig über einen Feldweg" loading="lazy">
<span class="panel-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
<span class="kicker">Hundetraining</span>
<h2 class="display">Entspannt durch<br>den Alltag.</h2>
@@ -90,10 +101,10 @@
</a>
<div class="row">
<div class="panel panel--sage plate-panel reveal"><img src="https://schmacko-napf.de/wp-content/uploads/2023/06/Barf.png" alt="Teller mit frischem Fleisch, Gemüse und Obst für die Rohfütterung" loading="lazy"></div>
<div class="panel panel--sage plate-panel reveal"><img src="assets/img/barf-teller.webp" alt="Teller mit frischem Fleisch, Gemüse und Obst für die Rohfütterung" width="900" height="900" loading="lazy"></div>
<a class="panel panel--cream reveal d1" href="ernaehrung.html">
<span class="panel-arrow" style="background:var(--ink);border-color:var(--ink)"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
<span class="kicker">Ernährungsberatung</span>
<span class="panel-arrow panel-arrow--ink"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
<span class="kicker">Ernährungs&shy;beratung</span>
<h2 class="display">Gesund<br>gefüttert.</h2>
<p class="big">Individuelle Futterpläne – für jedes Alter, auch bei Magen-Darm- oder Pankreas-Problemen.</p>
<div class="facts"><span class="fact">BARF</span><span class="fact">Koch-BARF</span><span class="fact">Nass- &amp; Trockenfutter</span></div>
@@ -118,47 +129,65 @@
<div class="row">
<a class="panel panel--photo reveal" href="shop.html">
<img src="https://images.unsplash.com/photo-1733451629760-d5fc1c818698?auto=format&fit=crop&w=1600&q=80" alt="Hund in einem Laden mit Hundezubehör" loading="lazy">
<img src="assets/img/laden.webp" srcset="assets/img/laden-900.webp 900w, assets/img/laden.webp 1800w" sizes="(max-width: 980px) 100vw, 50vw" alt="Hund in einem Laden mit Hundezubehör" loading="lazy">
<span class="panel-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
<span class="kicker">Shop</span>
<h2 class="title">Futter, Snacks<br>&amp; Zubehör.</h2>
</a>
<a class="panel panel--photo reveal d1" href="transportboxen.html">
<img src="https://images.unsplash.com/photo-1771777400696-3af9b6470ff8?auto=format&fit=crop&w=1600&q=80" alt="Hund sitzt im Kofferraum hinter einem Trenngitter" loading="lazy">
<img src="assets/img/kofferraum.webp" srcset="assets/img/kofferraum-900.webp 600w, assets/img/kofferraum.webp 1200w" sizes="(max-width: 980px) 100vw, 50vw" alt="Hund sitzt im Kofferraum hinter einem Trenngitter" loading="lazy">
<span class="panel-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
<span class="kicker">Maßanfertigung</span>
<h2 class="title">Transportboxen<br>fürs Auto.</h2>
</a>
</div>
<div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">Termin buchen.</h2>
<p class="big">Freie Termine, Kurse und der Stundenplan – direkt in meinem Buchungsportal.</p>
</div>
<div class="book-links">
<a href="https://schmacko-napf.petworkers.app/index.php?id=11" target="_blank" rel="noopener"><span>Einzelcoaching</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=12" target="_blank" rel="noopener"><span>Gruppenstunden</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=13" target="_blank" rel="noopener"><span>Kurse &amp; Workshops</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=107" target="_blank" rel="noopener"><span>Ernährungs&shy;beratung</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?view=kalender" target="_blank" rel="noopener"><span>Stundenplan</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-46.jpg" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 45vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+4
View File
@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://schmacko-napf.de/sitemap.xml
+26 -13
View File
@@ -5,30 +5,40 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Shop – Schmacko Napf</title>
<meta name="description" content="Ausgewähltes Futter, Snacks und Zubehör für deinen Hund.">
<link rel="canonical" href="https://schmacko-napf.de/shop.html">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Shop – Schmacko Napf">
<meta property="og:description" content="Ausgewähltes Futter, Snacks und Zubehör für deinen Hund.">
<meta property="og:url" content="https://schmacko-napf.de/shop.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html" aria-current="page">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic">
<main class="mosaic" id="inhalt">
<section class="panel panel--photo page-hero">
<img src="https://images.unsplash.com/photo-1733451629760-d5fc1c818698?auto=format&fit=crop&w=2000&q=80" alt="Hund in einem Laden mit Hundezubehör">
<img src="assets/img/laden.webp" srcset="assets/img/laden-900.webp 900w, assets/img/laden.webp 1800w" sizes="100vw" alt="Hund in einem Laden mit Hundezubehör">
<span class="kicker">Shop</span>
<h1>Ausgewählt<br>mit Herz.</h1>
<p class="big">Futter, Snacks und Zubehör, hinter denen ich stehe.</p>
@@ -49,29 +59,32 @@
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-46.jpg" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 45vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://schmacko-napf.de/</loc></url>
<url><loc>https://schmacko-napf.de/hundeschule.html</loc></url>
<url><loc>https://schmacko-napf.de/ernaehrung.html</loc></url>
<url><loc>https://schmacko-napf.de/shop.html</loc></url>
<url><loc>https://schmacko-napf.de/transportboxen.html</loc></url>
<url><loc>https://schmacko-napf.de/ueber-mich.html</loc></url>
</urlset>
+258 -68
View File
@@ -1,14 +1,44 @@
import os
OUT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
"""Quelle aller Seiten. Inhalte hier ändern, dann:
WP = "https://schmacko-napf.de/wp-content/uploads/"
LOGO = WP + "2024/12/Logo-Transparent-Rechnung.png"
KK = {n: f"{WP}2025/01/KK-Fotografie-{n}.jpg" for n in (35, 46, 51, 66)}
BARF = WP + "2023/06/Barf.png"
def U(pid, w=1600): return f"https://images.unsplash.com/photo-{pid}?auto=format&fit=crop&w={w}&q=80"
IMG_FOOD = "1714068691210-073dc52c6c1d"
IMG_SHOP = "1733451629760-d5fc1c818698"
IMG_CAR = "1771777400696-3af9b6470ff8"
python3 tools/build_pages.py
"""
import hashlib, os, re
from PIL import Image
OUT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SITE = "https://schmacko-napf.de"
def version(path):
# Prüfsumme als ?v=… – Browser laden CSS/JS nach jeder Änderung neu statt aus dem Cache
return hashlib.md5(open(os.path.join(OUT, path), "rb").read()).hexdigest()[:8]
CSS_V, JS_V = version("assets/site.css"), version("assets/site.js")
LOGO = "assets/img/logo.webp"
CERT = "assets/img/gh-siegel.webp"
CERT_ALT = "Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann"
# Buchungsportal (PetWorkers) – & als &amp; für HTML-Attribute.
# Direkt die Seiten-IDs verlinken: Die seite.php?name=…-Adressen leiten um bzw. landen bei
# Ernährungs- und Kaufberatung nur auf der Portal-Startseite. Für Kaufberatung gibt es im
# Portal (Stand Okt. 2026) keine eigene Seite – sobald es eine gibt, hier wieder aufnehmen.
PW = "https://schmacko-napf.petworkers.app/"
BOOK = {
"coach": ("Einzelcoaching", PW + "index.php?id=11"),
"groups": ("Gruppenstunden", PW + "index.php?id=12"),
"courses": ("Kurse &amp; Workshops", PW + "index.php?id=13"),
"food": ("Ernährungs&shy;beratung", PW + "index.php?id=107"),
"cal": ("Stundenplan", PW + "index.php?view=kalender"),
}
EXT = ' target="_blank" rel="noopener"'
BARF = "assets/img/barf-teller.webp"
def img(name, alt, sizes="(max-width: 980px) 100vw, 55vw", lazy=True):
"""Foto aus assets/img mit kleiner (-900) und großer Variante."""
big, small = f"assets/img/{name}.webp", f"assets/img/{name}-900.webp"
wb = Image.open(os.path.join(OUT, big)).width
ws = Image.open(os.path.join(OUT, small)).width
load = ' loading="lazy"' if lazy else ""
return f'<img src="{big}" srcset="{small} {ws}w, {big} {wb}w" sizes="{sizes}" alt="{alt}"{load}>'
PHONE, PHONE_HREF = "+49 176 569 329 42", "tel:+4917656932942"
MAIL = "info@schmacko-napf.de"
@@ -29,109 +59,141 @@ I = {
"car": ic('<path d="M5 16V11l2-5h10l2 5v5"/><path d="M3 16h18v3H3z"/><circle cx="7.5" cy="13" r="1"/><circle cx="16.5" cy="13" r="1"/>'),
"shield": ic('<path d="M12 3 5 6v6c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6z"/><path d="m9 12 2 2 4-4"/>'),
"wind": ic('<path d="M3 9h11a3 3 0 1 0-3-3M3 15h15a3 3 0 1 1-3 3M3 12h8"/>'),
"ext": ic('<path d="M7 17 17 7M9 7h8v8"/>', "2"),
"cal": ic('<rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/>'),
}
ARROW_BADGE = f'<span class="panel-arrow">{I["arrow"]}</span>'
NAV = [("hundeschule.html", "Hundetraining"), ("ernaehrung.html", "Ernährung"), ("shop.html", "Shop"),
("transportboxen.html", "Transportboxen"), ("index.html#kontakt", "Kontakt")]
("transportboxen.html", "Transportboxen"), ("ueber-mich.html", "Über mich"), ("index.html#kontakt", "Kontakt")]
def head(title, desc):
def head(title, desc, path, robots=""):
url = f"{SITE}/{'' if path == 'index.html' else path}"
meta_robots = f'\n <meta name="robots" content="{robots}">' if robots else ""
return f'''<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{title}</title>
<meta name="description" content="{desc}">
<meta name="description" content="{desc}">{meta_robots}
<link rel="canonical" href="{url}">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="{title}">
<meta property="og:description" content="{desc}">
<meta property="og:url" content="{url}">
<meta property="og:image" content="{SITE}/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v={CSS_V}">
</head>
'''
def header(current=None):
cur = ' aria-current="page"'
links = "\n".join(f' <a href="{h}"{cur if h == current else ""}>{t}</a>' for h, t in NAV)
return f''' <header class="site-header">
return f''' <a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
{links}
</nav>
<a class="book-btn" href="{PW}"{EXT}>{I["cal"]}<span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false">{I["menu"]}</button>
</div>
</header>
'''
def contact(photo=KK[46], alt="Schwarze Schäferhündin steht aufmerksam im Wald"):
def booking(keys, title="Termin buchen.", text="Freie Termine, Kurse und der Stundenplan – direkt in meinem Buchungsportal."):
links = "\n".join(f' <a href="{BOOK[k][1]}"{EXT}><span>{BOOK[k][0]}</span>{I["ext"]}</a>' for k in keys)
return f''' <div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">{title}</h2>
<p class="big">{text}</p>
</div>
<div class="book-links">
{links}
</div>
</div>
'''
def contact(photo="hund-wald", alt="Schwarze Schäferhündin steht aufmerksam im Wald"):
go = f'<span>{I["arrow"]}</span>'
return f''' <div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="{PW}"{EXT}>{I["cal"]}<span>Termin online buchen</span>{go}</a>
<a href="{WA}" target="_blank" rel="noopener">{I["chat"]}<span>WhatsApp</span>{go}</a>
<a href="{PHONE_HREF}">{I["phone"]}<span>{PHONE}</span>{go}</a>
<a href="mailto:{MAIL}">{I["mail"]}<span>{MAIL}</span>{go}</a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="{photo}" alt="{alt}" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1">{img(photo, alt, "(max-width: 980px) 100vw, 45vw")}</div>
</div>
'''
def footer():
return f''' <footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="{CERT}" alt="{CERT_ALT}" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v={JS_V}"></script>
</body>
</html>
'''
def page_hero(img, kicker, title, text, alt):
def page_hero(photo, kicker, title, text, alt):
return f''' <section class="panel panel--photo page-hero">
<img src="{img}" alt="{alt}">
{img(photo, alt, "100vw", lazy=False)}
<span class="kicker">{kicker}</span>
<h1>{title}</h1>
<p class="big">{text}</p>
</section>
'''
def page(name, title, desc, current, body):
write(name, head(title, desc) + "<body>\n" + header(current) + ' <main class="mosaic">\n' + body + footer())
def page(name, title, desc, current, body, robots=""):
write(name, head(title, desc, name, robots) + "<body>\n" + header(current) + ' <main class="mosaic" id="inhalt">\n' + body + footer())
def write(name, html):
open(os.path.join(OUT, name), "w").write(html)
PAGES = [] # für die Sitemap
# ================================================================ Startseite
tiles = [
("hundeschule.html", "Hundeschule", "", KK[66], "Katha mit ihrem Hund auf einer Wiese im Abendlicht", None),
("ernaehrung.html", "Ernährungsberatung", "", U(IMG_FOOD, 1400), "Hund schnuppert an einem Napf mit Trockenfutter", IMG_FOOD),
("shop.html", "Shop", "", U(IMG_SHOP, 1400), "Hund in einem Laden mit Hundezubehör", IMG_SHOP),
("transportboxen.html", "Transportboxen", "Maßanfertigung fürs Auto", U(IMG_CAR, 1400), "Hund sitzt im offenen Kofferraum hinter einem Trenngitter", IMG_CAR),
("hundeschule.html", "Hundeschule", "", "katha-abendlicht", "Katha mit ihrem Hund auf einer Wiese im Abendlicht"),
("ernaehrung.html", "Ernährungs&shy;beratung", "", "futternapf", "Hund schnuppert an einem Napf mit Trockenfutter"),
("shop.html", "Shop", "", "laden", "Hund in einem Laden mit Hundezubehör"),
("transportboxen.html", "Transportboxen", "Maßanfertigung fürs Auto", "kofferraum", "Hund sitzt im offenen Kofferraum hinter einem Trenngitter"),
]
tile_html = ""
for href, name, sub, src, alt, pid in tiles:
for href, name, sub, photo, alt in tiles:
small = f"<small>{sub}</small>" if sub else ""
srcset = f' srcset="{U(pid,800)} 800w, {U(pid,1400)} 1400w, {U(pid,2000)} 2000w" sizes="(max-width: 767px) 100vw, 50vw"' if pid else ""
tile_html += f''' <a class="tile" href="{href}">
<img src="{src}"{srcset} alt="{alt}">
{img(photo, alt, "(max-width: 767px) 100vw, 50vw", lazy=False)}
<span class="tile-foot">
<span class="tile-label">{name}{small}</span>
<span class="tile-arrow">{I["arrow"]}</span>
@@ -139,17 +201,20 @@ for href, name, sub, src, alt, pid in tiles:
</a>
'''
index = head("Schmacko Napf & Hundetraining by Katha", "Hundetraining, Ernährungs- und Gesundheitsberatung, Shop und maßgefertigte Transportboxen – Schmacko Napf by Katha.") + '<body class="is-home">\n' + header() + f''' <section class="hero">
index = head("Schmacko Napf & Hundetraining by Katha",
"Hundetraining, Ernährungs- und Gesundheitsberatung, Shop und maßgefertigte Transportboxen – Schmacko Napf by Katha in Wörth a.d. Isar.",
"index.html") + '<body class="is-home">\n' + header() + f''' <section class="hero">
<nav class="tiles" aria-label="Bereiche">
<svg class="seal-joint" aria-hidden="true"><path/></svg>
<h1 class="seal"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha"></h1>
{tile_html} <a class="scroll-hint" href="#ueber-mich" aria-label="Weiter nach unten">{I["down"]}</a>
<h1 class="seal"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha" width="300" height="300"></h1>
{tile_html} <a class="scroll-hint" href="#inhalt" aria-label="Weiter nach unten">{I["down"]}</a>
</nav>
</section>
<main class="mosaic">
<div class="row row--wide-r" id="ueber-mich">
<div class="panel panel--cream reveal">
<main class="mosaic" id="inhalt">
<div class="row row--wide-r">
<a class="panel panel--cream reveal" href="ueber-mich.html">
<span class="panel-arrow panel-arrow--ink">{I["arrow"]}</span>
<span class="kicker">Über mich</span>
<h2 class="display">Hallo,<br>ich bin Katha.</h2>
<p class="big">Hundetrainerin und Ernährungsberaterin – mit Herz und Verstand. Für beide Seiten der Leine.</p>
@@ -157,12 +222,12 @@ index = head("Schmacko Napf & Hundetraining by Katha", "Hundetraining, Ernährun
<span class="fact">§ 11 TierSchG zertifiziert</span>
<span class="fact">Ernährungs- &amp; Gesundheitsberaterin</span>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="{KK[35]}" alt="Katha sitzt mit ihrer Schäferhündin Elina im Grünen" loading="lazy"></div>
</a>
<div class="panel panel--photo plain reveal d1">{img("katha-heide", "Katha sitzt mit ihrer Schäferhündin im Grünen")}</div>
</div>
<a class="panel panel--photo tall reveal" href="hundeschule.html">
<img src="{KK[51]}" alt="Schwarzer Schäferhund rennt freudig über einen Feldweg" loading="lazy">
{img("hund-rennt", "Schwarzer Schäferhund rennt freudig über einen Feldweg", "100vw")}
{ARROW_BADGE}
<span class="kicker">Hundetraining</span>
<h2 class="display">Entspannt durch<br>den Alltag.</h2>
@@ -175,10 +240,10 @@ index = head("Schmacko Napf & Hundetraining by Katha", "Hundetraining, Ernährun
</a>
<div class="row">
<div class="panel panel--sage plate-panel reveal"><img src="{BARF}" alt="Teller mit frischem Fleisch, Gemüse und Obst für die Rohfütterung" loading="lazy"></div>
<div class="panel panel--sage plate-panel reveal"><img src="{BARF}" alt="Teller mit frischem Fleisch, Gemüse und Obst für die Rohfütterung" width="900" height="900" loading="lazy"></div>
<a class="panel panel--cream reveal d1" href="ernaehrung.html">
<span class="panel-arrow" style="background:var(--ink);border-color:var(--ink)">{I["arrow"]}</span>
<span class="kicker">Ernährungsberatung</span>
<span class="panel-arrow panel-arrow--ink">{I["arrow"]}</span>
<span class="kicker">Ernährungs&shy;beratung</span>
<h2 class="display">Gesund<br>gefüttert.</h2>
<p class="big">Individuelle Futterpläne – für jedes Alter, auch bei Magen-Darm- oder Pankreas-Problemen.</p>
<div class="facts"><span class="fact">BARF</span><span class="fact">Koch-BARF</span><span class="fact">Nass- &amp; Trockenfutter</span></div>
@@ -203,27 +268,28 @@ index = head("Schmacko Napf & Hundetraining by Katha", "Hundetraining, Ernährun
<div class="row">
<a class="panel panel--photo reveal" href="shop.html">
<img src="{U(IMG_SHOP)}" alt="Hund in einem Laden mit Hundezubehör" loading="lazy">
{img("laden", "Hund in einem Laden mit Hundezubehör", "(max-width: 980px) 100vw, 50vw")}
{ARROW_BADGE}
<span class="kicker">Shop</span>
<h2 class="title">Futter, Snacks<br>&amp; Zubehör.</h2>
</a>
<a class="panel panel--photo reveal d1" href="transportboxen.html">
<img src="{U(IMG_CAR)}" alt="Hund sitzt im Kofferraum hinter einem Trenngitter" loading="lazy">
{img("kofferraum", "Hund sitzt im Kofferraum hinter einem Trenngitter", "(max-width: 980px) 100vw, 50vw")}
{ARROW_BADGE}
<span class="kicker">Maßanfertigung</span>
<h2 class="title">Transportboxen<br>fürs Auto.</h2>
</a>
</div>
{contact()}''' + footer().replace(" </main>\n", " </main>\n", 1)
{booking(["coach", "groups", "courses", "food", "cal"])}{contact()}''' + footer()
write("index.html", index)
PAGES.append("index.html")
# ================================================================ Hundetraining
page("hundeschule.html", "Hundetraining – Schmacko Napf",
"Einzeltraining, Hausbesuche und Gruppentraining im Außenbereich mit Katha, zertifizierte Hundetrainerin nach § 11 TierSchG.",
"hundeschule.html",
page_hero(KK[66], "Hundetraining", "Für beide Seiten<br>der Leine.",
page_hero("katha-abendlicht", "Hundetraining", "Für beide Seiten<br>der Leine.",
"Vertrauen, klare Kommunikation und Training, das im Alltag funktioniert.",
"Katha mit ihrem Hund auf einer Wiese im Abendlicht") + f'''
<div class="row row--wide-r">
@@ -232,17 +298,22 @@ page("hundeschule.html", "Hundetraining – Schmacko Napf",
<h2 class="title">Individuell.<br>Bei dir zu Hause.</h2>
<p class="big">Für Grundgehorsam, Unsicherheit, Leinenführigkeit oder einen neuen Hund im Haus.</p>
<div class="price-big"><strong>60 €</strong><span>pro Stunde · nach dem Erstgespräch (120 €, ca. 2 Std.)</span></div>
<div class="btn-row"><a class="btn btn--ink" href="{BOOK['coach'][1]}"{EXT}>Einzelcoaching buchen {I["ext"]}</a></div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="{KK[46]}" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1">{img("hund-wald", "Schwarze Schäferhündin steht aufmerksam im Wald")}</div>
</div>
<div class="row row--wide">
<div class="panel panel--photo plain reveal"><img src="{KK[51]}" alt="Schwarzer Schäferhund rennt über einen Feldweg" loading="lazy"></div>
<div class="panel panel--photo plain reveal">{img("hund-rennt", "Schwarzer Schäferhund rennt über einen Feldweg")}</div>
<div class="panel panel--ink reveal d1">
<span class="kicker">Gruppe &amp; Außentraining</span>
<h2 class="title">Training da, wo<br>das Leben ist.</h2>
<p class="big">In der Stadt, im Grünen, in Geschäften – mit max. 6 Mensch-Hund-Teams.</p>
<div class="price-big"><strong>18 €</strong><span>pro Mensch-Hund-Team</span></div>
<div class="btn-row">
<a class="btn btn--sage" href="{BOOK['groups'][1]}"{EXT}>Gruppenstunde buchen {I["ext"]}</a>
<a class="btn btn--line" href="{BOOK['cal'][1]}"{EXT}>Stundenplan {I["ext"]}</a>
</div>
</div>
</div>
@@ -263,18 +334,19 @@ page("hundeschule.html", "Hundetraining – Schmacko Napf",
<div class="price-rows">
<div><span>Erstgespräch Einzeltraining<small>ca. 2 Stunden · zzgl. 0,30 € / km</small></span><strong>120 €</strong></div>
<div><span>Einzeltraining<small>pro Stunde · zzgl. 0,30 € / km</small></span><strong>60 €</strong></div>
<div><span>Gruppentraining<small>pro Mensch-Hund-Team</small></span><strong>18 €</strong></div>
<div><span>Gruppentraining<small>pro Mensch-Hund-Team · max. 2 Hunde pro Halter</small></span><strong>18 €</strong></div>
<div><span>10er-Karte<small>Gruppe &amp; Einzel frei kombinierbar</small></span><strong>165 €</strong></div>
</div>
</div>
{contact(KK[35], "Katha sitzt mit ihrer Schäferhündin im Grünen")}''')
{booking(["coach", "groups", "courses", "cal"])}{contact("katha-heide", "Katha sitzt mit ihrer Schäferhündin im Grünen")}''')
PAGES.append("hundeschule.html")
# ================================================================ Ernährung
page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
"Individuelle Futterpläne und Gesundheitsberatung für Hunde jeden Alters – BARF, Koch-BARF, Nass- und Trockenfutter.",
"ernaehrung.html",
page_hero(U(IMG_FOOD, 2000), "Ernährungs- &amp; Gesundheitsberatung", "Fürsorge<br>in Napfform.",
page_hero("futternapf", "Ernährungs- &amp; Gesundheits&shy;beratung", "Fürsorge<br>in Napfform.",
"Individuelle Futterpläne – gesund, sensibel oder mit Diagnose.",
"Hund schnuppert an einem Napf mit Trockenfutter") + f'''
<div class="row">
@@ -283,8 +355,9 @@ page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
<h2 class="title">Jeder sagt<br>etwas anderes.</h2>
<p class="big">Ich bringe Klarheit in die Futter-Frage – und erstelle einen Plan, der zu deinem Hund passt.</p>
<div class="facts"><span class="fact">BARF</span><span class="fact">Teil-BARF</span><span class="fact">Koch-BARF</span><span class="fact">Nassfutter</span><span class="fact">Trockenfutter</span></div>
<img class="cert" src="{CERT}" alt="{CERT_ALT}" width="480" height="329" loading="lazy">
</div>
<div class="panel panel--sage plate-panel reveal d1"><img src="{BARF}" alt="Teller mit frischem Fleisch, Gemüse und Obst" loading="lazy"></div>
<div class="panel panel--sage plate-panel reveal d1"><img src="{BARF}" alt="Teller mit frischem Fleisch, Gemüse und Obst" width="900" height="900" loading="lazy"></div>
</div>
<div class="panel panel--ink panel--auto reveal">
@@ -316,11 +389,12 @@ page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
</div>
</div>
{contact()}''')
{booking(["food"], "Beratung buchen.", "Erstgespräch und Futterplan direkt online buchen – vor Ort, am Telefon oder online.")}{contact()}''')
PAGES.append("ernaehrung.html")
# ================================================================ Shop
page("shop.html", "Shop – Schmacko Napf", "Ausgewähltes Futter, Snacks und Zubehör für deinen Hund.", "shop.html",
page_hero(U(IMG_SHOP, 2000), "Shop", "Ausgewählt<br>mit Herz.",
page_hero("laden", "Shop", "Ausgewählt<br>mit Herz.",
"Futter, Snacks und Zubehör, hinter denen ich stehe.",
"Hund in einem Laden mit Hundezubehör") + f'''
<div class="row row--3">
@@ -334,11 +408,12 @@ page("shop.html", "Shop – Schmacko Napf", "Ausgewähltes Futter, Snacks und Zu
</div>
{contact()}''')
PAGES.append("shop.html")
# ================================================================ Transportboxen
page("transportboxen.html", "Transportboxen nach Maß – Schmacko Napf",
"Maßgefertigte Hunde-Transportboxen fürs Auto – passgenau für Fahrzeug und Hund.", "transportboxen.html",
page_hero(U(IMG_CAR, 2000), "Maßanfertigung", "Transportboxen<br>fürs Auto.",
page_hero("kofferraum", "Maßanfertigung", "Transportboxen<br>fürs Auto.",
"Passgenau für dein Fahrzeug und deinen Hund.",
"Hund sitzt im offenen Kofferraum hinter einem Trenngitter") + f'''
<div class="row row--3">
@@ -359,17 +434,132 @@ page("transportboxen.html", "Transportboxen nach Maß – Schmacko Napf",
</div>
{contact()}''')
PAGES.append("transportboxen.html")
# ================================================================ Über mich
page("ueber-mich.html", "Über mich – Schmacko Napf",
"Katha – zertifizierte Hundetrainerin nach § 11 TierSchG sowie Hunde-Ernährungs- und Gesundheitsberaterin. Ausbildungen und Weiterbildungen.",
"ueber-mich.html",
page_hero("katha-heide", "Über mich", "Hallo,<br>ich bin Katha.",
"Mein Herz gehört den Tieren – an meiner Seite meine Holländische Schäferhündin Elina.",
"Katha sitzt mit ihrer Schäferhündin im Grünen") + f'''
<div class="row row--wide-r">
<div class="panel panel--cream reveal">
<span class="kicker">Warum ich das mache</span>
<h2 class="title">Tiere sind die<br>ehrlichsten Wesen.</h2>
<p class="big">Und trotzdem werden sie oft missverstanden. Ich möchte meine Erfahrung teilen und ihre Welt ein Stück besser machen.</p>
</div>
<div class="panel panel--photo plain reveal d1">{img("hund-wald", "Schwarze Schäferhündin steht aufmerksam im Wald")}</div>
</div>
<div class="row row--wide">
<div class="panel panel--photo plain reveal">{img("hund-rennt", "Schwarzer Schäferhund rennt über einen Feldweg")}</div>
<div class="panel panel--sage reveal d1">
<span class="kicker">Wie alles begann</span>
<h2 class="title">Mit der Frage nach<br>dem richtigen Futter.</h2>
<p class="big">Für meine eigene Hündin suchte ich die beste Ernährung – daraus wurde eine Leidenschaft und schließlich mein Beruf.</p>
</div>
</div>
<div class="panel panel--ink panel--auto reveal">
<div class="quals-head">
<span class="kicker">Ausbildungen</span>
<img class="cert" src="{CERT}" alt="{CERT_ALT}" width="480" height="329" loading="lazy">
</div>
<ul class="quals">
<li><small>2021 – 2023</small><strong>Hundetrainerin</strong><span>Diane Bartlog, Hundeschule Mengkofen</span></li>
<li><small>2022 – 2023</small><strong>Hunde-Ernährungsberaterin</strong><span>Heidi Herrmann, G&amp;H Tierernährung</span></li>
<li><small>2024</small><strong>Hunde-Gesundheitsberaterin</strong><span>G&amp;H Tierernährung</span></li>
<li><small>Okt. 2024</small><strong>Erlaubnis nach § 11 TierSchG</strong><span>Veterinäramt Landshut</span></li>
</ul>
</div>
<div class="panel panel--cream panel--auto reveal">
<span class="kicker">Weiterbildungen</span>
<ul class="list-big">
<li><small>2025</small>Webinar „Pankreas – ein Drüsenorgan mit vielen Aufgaben“</li>
<li><small>2025</small>Roundtable der BIG FIVE – Problemverhalten richtig einschätzen</li>
<li><small>2024</small>Workshop „Einschätzen von 8 Malinois“</li>
<li><small>2024</small>Workshop „Arbeiten mit schwierigen Hunden &amp; Selbstschutz“</li>
<li><small>2023</small>Blutbilder verstehen · Äußere Anzeichen – innere Organe</li>
<li><small>2023</small>Blickschulung – Hunde ganzheitlich betrachtet</li>
<li><small>2023</small>Zusatzqualifikation Katzen-Ernährungsberaterin</li>
<li><small>2021</small>D.O.Q.-Test 2.0 (Hundeführerschein)</li>
</ul>
</div>
{contact("katha-abendlicht", "Katha mit ihrem Hund auf einer Wiese im Abendlicht")}''')
PAGES.append("ueber-mich.html")
# ================================================================ Impressum
page("impressum.html", "Impressum – Schmacko Napf", "Impressum von Schmacko Napf & Hundetraining by Katha.", None, f''' <div class="panel panel--cream panel--auto">
<span class="kicker">Rechtliches</span>
<h1 class="display">Impressum</h1>
<div class="legal" style="margin-top:48px">
<p><b>Angaben gemäß § 5 TMG</b>Katharina Schulz<br>Seewiese 19<br>84109 Wörth a.d. Isar</p>
<p><b>Kontakt</b>Telefon: {PHONE}<br>E-Mail: {MAIL}</p>
<p><b>Verantwortlich gemäß § 18 Abs. 2 MStV</b>Katharina Schulz, Anschrift wie oben</p>
<p><b>Fotos</b>Steffi Biller, KK-Fotografie · weitere Bilder: Unsplash</p>
<div class="legal">
<p><b>Angaben gemäß § 5 DDG</b>Katharina Schulz<br>Schmacko Napf &amp; Hundetraining by Katha<br>Seewiese 19<br>84109 Wörth a.d. Isar</p>
<p><b>Kontakt</b>Telefon: <a href="{PHONE_HREF}">{PHONE}</a><br>E-Mail: <a href="mailto:{MAIL}">{MAIL}</a></p>
<p><b>Erlaubnis und Aufsichtsbehörde</b>Erlaubnis zur gewerbsmäßigen Ausbildung von Hunden für Dritte nach § 11 Abs. 1 Nr. 8 f TierSchG, erteilt im Oktober 2024 durch das Veterinäramt Landshut.</p>
<p><b>Verantwortlich für den Inhalt nach § 18 Abs. 2 MStV</b>Katharina Schulz, Anschrift wie oben</p>
<p><b>Verbraucher&shy;streit&shy;beilegung</b>Ich bin nicht bereit und nicht verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.</p>
<p><b>Bildnachweis</b>Fotos von Katha und ihren Hunden: Steffi Biller, KK-Fotografie. Weitere Bilder: Unsplash.</p>
</div>
</div>
''')
''', robots="noindex")
PAGES.append("impressum.html")
# ================================================================ Datenschutz
page("datenschutz.html", "Datenschutz – Schmacko Napf", "Datenschutzerklärung von Schmacko Napf & Hundetraining by Katha.", None, f''' <div class="panel panel--cream panel--auto">
<span class="kicker">Rechtliches</span>
<h1 class="display">Datenschutz</h1>
<div class="legal">
<p>Der Schutz deiner Daten ist mir wichtig. Diese Website kommt ohne Cookies, ohne Tracking und ohne Inhalte von Drittanbietern aus. Schriften und Bilder liegen auf dem eigenen Server.</p>
<h2>1. Verantwortliche</h2>
<p>Katharina Schulz<br>Seewiese 19<br>84109 Wörth a.d. Isar<br>E-Mail: <a href="mailto:{MAIL}">{MAIL}</a><br>Telefon: <a href="{PHONE_HREF}">{PHONE}</a></p>
<h2>2. Aufruf der Website (Server-Logfiles)</h2>
<p>Beim Aufruf dieser Website verarbeitet der Hosting-Anbieter automatisch technische Daten, die dein Browser übermittelt: IP-Adresse, Datum und Uhrzeit, aufgerufene Seite, Referrer-URL, Browsertyp und Betriebssystem. Das ist nötig, um die Website sicher und stabil auszuliefern (Art. 6 Abs. 1 lit. f DSGVO). Die Daten werden nicht mit anderen Daten zusammengeführt und nach kurzer Zeit gelöscht. Mit dem Hosting-Anbieter besteht ein Vertrag zur Auftragsverarbeitung.</p>
<h2>3. Verschlüsselung</h2>
<p>Die Website wird über eine verschlüsselte Verbindung (HTTPS/TLS) ausgeliefert. Du erkennst das am Schloss-Symbol in der Adresszeile deines Browsers.</p>
<h2>4. Kontakt per E-Mail, Telefon oder WhatsApp</h2>
<p>Wenn du mich kontaktierst, verarbeite ich deine Angaben (z. B. Name, Kontaktdaten, Informationen zu deinem Hund), um deine Anfrage zu beantworten und gegebenenfalls einen Termin oder Vertrag durchzuführen (Art. 6 Abs. 1 lit. b DSGVO). Die Daten werden gelöscht, sobald sie nicht mehr erforderlich sind und keine gesetzlichen Aufbewahrungspflichten bestehen.</p>
<p>Der WhatsApp-Link öffnet erst nach deinem Klick die App bzw. Website von WhatsApp (WhatsApp Ireland Ltd.). Dabei gelten die Datenschutzbestimmungen von WhatsApp. Wenn du das nicht möchtest, schreib mir gern per E-Mail oder ruf an.</p>
<h2>5. Online-Terminbuchung</h2>
<p>Für Terminbuchungen nutze ich das Buchungsportal PetWorkers (schmacko-napf.petworkers.app). Erst wenn du auf „Termin buchen“ klickst, wirst du dorthin weitergeleitet. Die Daten, die du bei der Buchung angibst, verarbeite ich zur Durchführung deines Termins (Art. 6 Abs. 1 lit. b DSGVO). Für die Verarbeitung auf dem Portal gelten ergänzend die Datenschutzhinweise von PetWorkers.</p>
<h2>6. Deine Rechte</h2>
<p>Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen (Art. 21). Eine Einwilligung kannst du jederzeit für die Zukunft widerrufen. Eine formlose Nachricht an die oben genannte Adresse genügt.</p>
<p>Außerdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren, zum Beispiel beim Bayerischen Landesamt für Datenschutzaufsicht (BayLDA), Promenade 18, 91522 Ansbach.</p>
<h2>7. Stand</h2>
<p>Oktober 2026</p>
</div>
</div>
''', robots="noindex")
PAGES.append("datenschutz.html")
# ================================================================ 404
page("404.html", "Seite nicht gefunden – Schmacko Napf", "Diese Seite gibt es leider nicht.", None, f''' <div class="panel panel--ink panel--mid panel--center">
<span class="kicker">Fehler 404</span>
<h1 class="display">Hier ist leider<br>nichts zu finden.</h1>
<p class="big">Vielleicht hat ein Hund die Seite vergraben. Über die Startseite findest du alles wieder.</p>
<div class="btn-row"><a class="btn btn--sage" href="index.html">Zur Startseite {I["arrow"]}</a></div>
</div>
''', robots="noindex")
# 404 wird vom Server unter beliebigen Pfaden ausgeliefert – Links und Bilder ab der Wurzel (/…) angeben.
# Kein <base href="/">: damit würde „Zum Inhalt springen“ (#inhalt) auf die Startseite führen.
p404 = os.path.join(OUT, "404.html")
html404 = open(p404).read()
html404 = re.sub(r'srcset="([^"]+)"', lambda m: 'srcset="' + ", ".join("/" + s.strip() for s in m.group(1).split(",")) + '"', html404)
html404 = re.sub(r'\b(href|src)="(?![a-z]+:|#|/)', r'\1="/', html404)
open(p404, "w").write(html404)
# ================================================================ robots.txt & sitemap.xml
write("robots.txt", f"User-agent: *\nAllow: /\n\nSitemap: {SITE}/sitemap.xml\n")
urls = "\n".join(f" <url><loc>{SITE}/{'' if p == 'index.html' else p}</loc></url>" for p in PAGES if p not in ("impressum.html", "datenschutz.html"))
write("sitemap.xml", f'<?xml version="1.0" encoding="UTF-8"?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n{urls}\n</urlset>\n')
print("ok")
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh
# Baut das Übergabe-Paket Schmacko-Napf-Website.zip (nur die Website-Dateien + LIESMICH.txt)
set -e
cd "$(dirname "$0")/.."
TMP=$(mktemp -d)
DIR="$TMP/Schmacko-Napf-Website"
mkdir -p "$DIR"
rsync -a --exclude tools --exclude README.md --exclude .git --exclude .claude --exclude .gitignore --exclude '*.zip' --exclude .DS_Store ./ "$DIR/"
cat > "$DIR/LIESMICH.txt" <<'TXT'
Schmacko Napf & Hundetraining by Katha – Website
=================================================
Ansehen:
index.html per Doppelklick im Browser öffnen.
Veröffentlichen:
Den kompletten Inhalt dieses Ordners (inkl. der versteckten Datei .htaccess)
per FTP in das Hauptverzeichnis des Webspace laden. Fertig.
Terminbuchung:
Alle "Termin buchen"-Knöpfe führen zum Buchungsportal
https://schmacko-napf.petworkers.app
Die Seite setzt keine Cookies, nutzt kein Tracking und lädt nichts von fremden
Servern (Schrift und Bilder liegen im Ordner assets). Ein Cookie-Banner ist
deshalb nicht nötig.
Bildnachweis: Fotos von Katha und ihren Hunden – Steffi Biller, KK-Fotografie.
Weitere Bilder: Unsplash. Schrift: Questrial (SIL Open Font License).
G&H-Siegel: G&H Tierernährung, Heidi Herrmann.
TXT
rm -f Schmacko-Napf-Website.zip
(cd "$TMP" && zip -qr - Schmacko-Napf-Website) > Schmacko-Napf-Website.zip
rm -rf "$TMP"
echo "Schmacko-Napf-Website.zip erstellt ($(du -h Schmacko-Napf-Website.zip | cut -f1))"
+65
View File
@@ -0,0 +1,65 @@
"""Erzeugt aus tools/originals/ die Web-Bilder in assets/img/ (WebP, zwei Größen) sowie Icons und Vorschaubild.
python3 tools/optimize_images.py
"""
import os
from PIL import Image, ImageDraw
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SRC = os.path.join(ROOT, "tools", "originals")
OUT = os.path.join(ROOT, "assets", "img")
os.makedirs(OUT, exist_ok=True)
CREAM = (252, 250, 244)
PHOTOS = ["katha-abendlicht", "katha-heide", "hund-wald", "hund-rennt", "futternapf", "laden", "kofferraum"]
def fit(img, longest):
img = img.copy()
img.thumbnail((longest, longest), Image.LANCZOS)
return img
def save_webp(img, name, quality=78):
path = os.path.join(OUT, name)
img.save(path, "WEBP", quality=quality, method=6)
print(f"{os.path.getsize(path) / 1024:6.0f} KB {name} {img.size[0]}x{img.size[1]}")
# Fotos: groß (1800) und klein (900) für Handy / halbe Kacheln
for name in PHOTOS:
img = Image.open(os.path.join(SRC, name + ".jpg")).convert("RGB")
save_webp(fit(img, 1800), f"{name}.webp")
save_webp(fit(img, 900), f"{name}-900.webp", quality=76)
# Logo und BARF-Teller mit Transparenz
logo = Image.open(os.path.join(SRC, "logo.png")).convert("RGBA")
save_webp(fit(logo, 640), "logo.webp", quality=90)
plate = Image.open(os.path.join(SRC, "barf-teller.png")).convert("RGBA")
save_webp(fit(plate, 900), "barf-teller.webp", quality=82)
# G&H-Zertifikatssiegel: transparenten Rand abschneiden
cert = Image.open(os.path.join(SRC, "gh-siegel.png")).convert("RGBA")
cert = cert.crop(cert.getchannel("A").getbbox())
save_webp(fit(cert, 480), "gh-siegel.webp", quality=90)
# Apple-Touch-Icon: Logo auf Creme
icon = Image.new("RGB", (180, 180), CREAM)
small = fit(logo, 172)
icon.paste(small, ((180 - small.width) // 2, (180 - small.height) // 2), small)
icon.save(os.path.join(ROOT, "apple-touch-icon.png"))
# Vorschaubild für WhatsApp / Facebook (1200x630): Foto + Logo-Siegel
og = Image.open(os.path.join(SRC, "katha-abendlicht.jpg")).convert("RGB")
scale = 1200 / og.width
og = og.resize((1200, round(og.height * scale)), Image.LANCZOS)
top = max(0, (og.height - 630) // 2)
og = og.crop((0, top, 1200, top + 630))
d = 300
seal = Image.new("RGBA", (d, d), (0, 0, 0, 0))
ImageDraw.Draw(seal).ellipse((0, 0, d - 1, d - 1), fill=CREAM + (255,))
lg = fit(logo, int(d * .94))
seal.paste(lg, ((d - lg.width) // 2, (d - lg.height) // 2), lg)
og.paste(seal, (1200 - d - 60, 50), seal) # oberhalb des Fotografen-Schriftzugs
og.save(os.path.join(OUT, "vorschau.jpg"), quality=82)
print("Icons und Vorschaubild erzeugt")
Binary file not shown.

After

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

+26 -13
View File
@@ -5,30 +5,40 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Transportboxen nach Maß – Schmacko Napf</title>
<meta name="description" content="Maßgefertigte Hunde-Transportboxen fürs Auto – passgenau für Fahrzeug und Hund.">
<link rel="canonical" href="https://schmacko-napf.de/transportboxen.html">
<meta name="theme-color" content="#fcfaf4">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23194242'/%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Questrial&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/site.css">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Transportboxen nach Maß – Schmacko Napf">
<meta property="og:description" content="Maßgefertigte Hunde-Transportboxen fürs Auto – passgenau für Fahrzeug und Hund.">
<meta property="og:url" content="https://schmacko-napf.de/transportboxen.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html" aria-current="page">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic">
<main class="mosaic" id="inhalt">
<section class="panel panel--photo page-hero">
<img src="https://images.unsplash.com/photo-1771777400696-3af9b6470ff8?auto=format&fit=crop&w=2000&q=80" alt="Hund sitzt im offenen Kofferraum hinter einem Trenngitter">
<img src="assets/img/kofferraum.webp" srcset="assets/img/kofferraum-900.webp 600w, assets/img/kofferraum.webp 1200w" sizes="100vw" alt="Hund sitzt im offenen Kofferraum hinter einem Trenngitter">
<span class="kicker">Maßanfertigung</span>
<h1>Transportboxen<br>fürs Auto.</h1>
<p class="big">Passgenau für dein Fahrzeug und deinen Hund.</p>
@@ -56,29 +66,32 @@
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="https://schmacko-napf.de/wp-content/uploads/2025/01/KK-Fotografie-46.jpg" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 45vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="https://schmacko-napf.de/wp-content/uploads/2024/12/Logo-Transparent-Rechnung.png" alt="Schmacko Napf &amp; Hundetraining by Katha"></a>
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="#">Datenschutz</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie</span></div>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js"></script>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>
+125
View File
@@ -0,0 +1,125 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Über mich – Schmacko Napf</title>
<meta name="description" content="Katha – zertifizierte Hundetrainerin nach § 11 TierSchG sowie Hunde-Ernährungs- und Gesundheitsberaterin. Ausbildungen und Weiterbildungen.">
<link rel="canonical" href="https://schmacko-napf.de/ueber-mich.html">
<meta name="theme-color" content="#fcfaf4">
<meta property="og:type" content="website">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Schmacko Napf &amp; Hundetraining by Katha">
<meta property="og:title" content="Über mich – Schmacko Napf">
<meta property="og:description" content="Katha – zertifizierte Hundetrainerin nach § 11 TierSchG sowie Hunde-Ernährungs- und Gesundheitsberaterin. Ausbildungen und Weiterbildungen.">
<meta property="og:url" content="https://schmacko-napf.de/ueber-mich.html">
<meta property="og:image" content="https://schmacko-napf.de/assets/img/vorschau.jpg">
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=ee527775">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="Schmacko Napf – Startseite"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="68" height="68"></a>
<nav class="nav" aria-label="Hauptmenü">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html" aria-current="page">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
<main class="mosaic" id="inhalt">
<section class="panel panel--photo page-hero">
<img src="assets/img/katha-heide.webp" srcset="assets/img/katha-heide-900.webp 900w, assets/img/katha-heide.webp 1417w" sizes="100vw" alt="Katha sitzt mit ihrer Schäferhündin im Grünen">
<span class="kicker">Über mich</span>
<h1>Hallo,<br>ich bin Katha.</h1>
<p class="big">Mein Herz gehört den Tieren – an meiner Seite meine Holländische Schäferhündin Elina.</p>
</section>
<div class="row row--wide-r">
<div class="panel panel--cream reveal">
<span class="kicker">Warum ich das mache</span>
<h2 class="title">Tiere sind die<br>ehrlichsten Wesen.</h2>
<p class="big">Und trotzdem werden sie oft missverstanden. Ich möchte meine Erfahrung teilen und ihre Welt ein Stück besser machen.</p>
</div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 55vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
<div class="row row--wide">
<div class="panel panel--photo plain reveal"><img src="assets/img/hund-rennt.webp" srcset="assets/img/hund-rennt-900.webp 900w, assets/img/hund-rennt.webp 1417w" sizes="(max-width: 980px) 100vw, 55vw" alt="Schwarzer Schäferhund rennt über einen Feldweg" loading="lazy"></div>
<div class="panel panel--sage reveal d1">
<span class="kicker">Wie alles begann</span>
<h2 class="title">Mit der Frage nach<br>dem richtigen Futter.</h2>
<p class="big">Für meine eigene Hündin suchte ich die beste Ernährung – daraus wurde eine Leidenschaft und schließlich mein Beruf.</p>
</div>
</div>
<div class="panel panel--ink panel--auto reveal">
<div class="quals-head">
<span class="kicker">Ausbildungen</span>
<img class="cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<ul class="quals">
<li><small>2021 – 2023</small><strong>Hundetrainerin</strong><span>Diane Bartlog, Hundeschule Mengkofen</span></li>
<li><small>2022 – 2023</small><strong>Hunde-Ernährungsberaterin</strong><span>Heidi Herrmann, G&amp;H Tierernährung</span></li>
<li><small>2024</small><strong>Hunde-Gesundheitsberaterin</strong><span>G&amp;H Tierernährung</span></li>
<li><small>Okt. 2024</small><strong>Erlaubnis nach § 11 TierSchG</strong><span>Veterinäramt Landshut</span></li>
</ul>
</div>
<div class="panel panel--cream panel--auto reveal">
<span class="kicker">Weiterbildungen</span>
<ul class="list-big">
<li><small>2025</small>Webinar „Pankreas – ein Drüsenorgan mit vielen Aufgaben“</li>
<li><small>2025</small>Roundtable der BIG FIVE – Problemverhalten richtig einschätzen</li>
<li><small>2024</small>Workshop „Einschätzen von 8 Malinois“</li>
<li><small>2024</small>Workshop „Arbeiten mit schwierigen Hunden &amp; Selbstschutz“</li>
<li><small>2023</small>Blutbilder verstehen · Äußere Anzeichen – innere Organe</li>
<li><small>2023</small>Blickschulung – Hunde ganzheitlich betrachtet</li>
<li><small>2023</small>Zusatzqualifikation Katzen-Ernährungsberaterin</li>
<li><small>2021</small>D.O.Q.-Test 2.0 (Hundeführerschein)</li>
</ul>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
</div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/katha-abendlicht.webp" srcset="assets/img/katha-abendlicht-900.webp 900w, assets/img/katha-abendlicht.webp 1417w" sizes="(max-width: 980px) 100vw, 45vw" alt="Katha mit ihrem Hund auf einer Wiese im Abendlicht" loading="lazy"></div>
</div>
<footer class="site-footer">
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
<a href="ernaehrung.html">Ernährung</a>
<a href="shop.html">Shop</a>
<a href="transportboxen.html">Transportboxen</a>
<a href="ueber-mich.html">Über mich</a>
<a href="impressum.html">Impressum</a>
<a href="datenschutz.html">Datenschutz</a>
</nav>
<div class="footer-meta"><span>© 2026 Schmacko Napf &amp; Hundetraining by Katha</span><span>Fotos: Steffi Biller, KK-Fotografie · Unsplash</span></div>
</footer>
</main>
<script src="assets/site.js?v=1b827e6e"></script>
</body>
</html>