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>
This commit is contained in:
NotPika69andClaude Opus 5.5 committed 2026-10-04 10:53:55 +02:00
1 parent 2a751eeac9
commit e368a0b2cc
47 files changed
+803 -170

No files matched your search

+3
View File
@@ -9,3 +9,6 @@
__pycache__/
*.log
node_modules/
# Übergabe-Paket
*.zip
+18
View File
@@ -0,0 +1,18 @@
# Für Apache-Webspace (z. B. IONOS, Strato, All-Inkl). Auf anderen Servern wird die Datei ignoriert.
ErrorDocument 404 /404.html
<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>
+66
View File
@@ -0,0 +1,66 @@
<!doctype html>
<html lang="de">
<head>
<base href="/">
<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=c5604f45">
</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>
<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>
</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=4a2c8d49"></script>
</body>
</html>
+25 -13
View File
@@ -1,18 +1,23 @@
# 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/` |
## Lokal ansehen
@@ -20,16 +25,23 @@ 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/
```
## 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.
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: 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

+58 -1
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 */
@@ -33,6 +51,15 @@ h1, h2, h3 { font-weight: 400; line-height: 1.05; letter-spacing: -.025em; margi
p { margin: 0; }
svg { flex: none; }
/* 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; }
/* ===== Header: Logo und Menü als zwei schwebende Elemente ===== */
.site-header {
position: sticky; top: 0; z-index: 50;
@@ -332,6 +359,8 @@ 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); }
/* Kurze Fakten als Pillen */
.facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.fact {
@@ -372,6 +401,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; }
@@ -445,7 +497,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; }
@@ -478,6 +532,9 @@ 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; }
+86
View File
@@ -0,0 +1,86 @@
<!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=c5604f45">
</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>
<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. 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>6. 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>
</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=4a2c8d49"></script>
</body>
</html>
+23 -13
View File
@@ -5,30 +5,39 @@
<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?v=c9d7b72e">
<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=c5604f45">
</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>
<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">
<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; Gesundheitsberatung</span>
<h1>Fürsorge<br>in Napfform.</h1>
<p class="big">Individuelle Futterpläne – gesund, sensibel oder mit Diagnose.</p>
@@ -41,7 +50,7 @@
<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>
</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">
@@ -83,11 +92,11 @@
<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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -95,10 +104,11 @@
<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?v=4a2c8d49"></script>
+25 -15
View File
@@ -5,30 +5,39 @@
<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?v=c9d7b72e">
<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=c5604f45">
</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>
<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>
@@ -41,11 +50,11 @@
<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>
<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>
@@ -71,7 +80,7 @@
<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>
@@ -86,11 +95,11 @@
<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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -98,10 +107,11 @@
<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?v=4a2c8d49"></script>
+28 -15
View File
@@ -5,41 +5,53 @@
<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?v=c9d7b72e">
<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=c5604f45">
</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>
<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>Verbraucherstreitbeilegung</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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -47,10 +59,11 @@
<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?v=4a2c8d49"></script>
+38 -27
View File
@@ -4,23 +4,32 @@
<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?v=c9d7b72e">
<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=c5604f45">
</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>
<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>
@@ -29,42 +38,43 @@
<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-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 +82,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,9 +100,9 @@
</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="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ährungsberatung</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>
@@ -118,13 +128,13 @@
<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>
@@ -141,11 +151,11 @@
<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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -153,10 +163,11 @@
<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?v=4a2c8d49"></script>
+4
View File
@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://schmacko-napf.de/sitemap.xml
+22 -12
View File
@@ -5,30 +5,39 @@
<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?v=c9d7b72e">
<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=c5604f45">
</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>
<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>
@@ -54,11 +63,11 @@
<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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -66,10 +75,11 @@
<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?v=4a2c8d49"></script>
+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>
+196 -62
View File
@@ -1,19 +1,28 @@
"""Quelle aller Seiten. Inhalte hier ändern, dann:
python3 tools/build_pages.py
"""
import hashlib, os
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")
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"
LOGO = "assets/img/logo.webp"
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"
@@ -38,21 +47,30 @@ I = {
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">
<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>
'''
@@ -60,9 +78,10 @@ def head(title, desc):
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>
@@ -71,7 +90,7 @@ def header(current=None):
</header>
'''
def contact(photo=KK[46], alt="Schwarze Schäferhündin steht aufmerksam im Wald"):
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">
@@ -83,14 +102,14 @@ def contact(photo=KK[46], alt="Schwarze Schäferhündin steht aufmerksam im Wald
<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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -98,10 +117,11 @@ def footer():
<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?v={JS_V}"></script>
@@ -109,34 +129,35 @@ def footer():
</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ährungsberatung", "", "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>
@@ -144,17 +165,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>
@@ -162,12 +186,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>
@@ -180,9 +204,9 @@ 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="panel-arrow panel-arrow--ink">{I["arrow"]}</span>
<span class="kicker">Ernährungsberatung</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>
@@ -208,27 +232,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)
{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">
@@ -238,11 +263,11 @@ page("hundeschule.html", "Hundetraining – Schmacko Napf",
<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>
<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>
@@ -268,18 +293,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")}''')
{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; Gesundheitsberatung", "Fürsorge<br>in Napfform.",
"Individuelle Futterpläne – gesund, sensibel oder mit Diagnose.",
"Hund schnuppert an einem Napf mit Trockenfutter") + f'''
<div class="row">
@@ -289,7 +315,7 @@ page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
<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>
</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">
@@ -322,10 +348,11 @@ page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
</div>
{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">
@@ -339,11 +366,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">
@@ -364,17 +392,123 @@ 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">
<span class="kicker">Ausbildungen</span>
<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>Verbraucherstreitbeilegung</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. 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>6. 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 relativ zur Wurzel auflösen
p404 = os.path.join(OUT, "404.html")
html404 = open(p404).read().replace("<head>", '<head>\n <base href="/">', 1)
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")
+60
View File
@@ -0,0 +1,60 @@
"""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)
# 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: 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

+22 -12
View File
@@ -5,30 +5,39 @@
<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?v=c9d7b72e">
<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=c5604f45">
</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>
<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>
@@ -61,11 +70,11 @@
<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>
</div>
<nav class="footer-links" aria-label="Footer">
@@ -73,10 +82,11 @@
<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?v=4a2c8d49"></script>
+119
View File
@@ -0,0 +1,119 @@
<!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=c5604f45">
</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>
<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">
<span class="kicker">Ausbildungen</span>
<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 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>
</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=4a2c8d49"></script>
</body>
</html>