/*
 * Toni 2026
 * Nur die neueren Sachen etwas ausführlicher kommentiert
 */

:root {
    --creme: #f3ead8;
    --hell: #fbf6eb;
    --gruen: #17613b;
    --dunkel: #10462c;
    --schwarz: #000000;
    --rot: #b7352d;
    --text: #292621;
    --linie: #29262124;
    --max: 1180px;
}


/* ---------------------------------------------------------
   GRUNDLAGEN
   --------------------------------------------------------- */

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    min-height: 100%;
    margin: 0;
    overflow-x: hidden;

    background: var(--creme);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
}

a {
    color: inherit;
}


/* ---------------------------------------------------------
   SEITENAUFBAU
   --------------------------------------------------------- */

/*
 * Früher gedanklich:
 * Tabelle mit Kopf / Inhalt / Fuß
 */
.seite {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.kopf,
.hauptinhalt {
    width: min(calc(100% - 40px), var(--max));
    margin: 0 auto;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.kopf {
    padding: 24px 0 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    border-bottom: 1px solid var(--linie);
}

.logo {
    display: block;
    flex: 0 0 auto;
    text-decoration: none;
}

.logo img {
    display: block;
    width: 240px;
    max-width: 100%;
    height: auto;
}


/* ---------------------------------------------------------
   NAVIGATION
   --------------------------------------------------------- */

.navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 18px;
}

.navigation a {
    color: var(--dunkel);
    text-decoration: none;
    font-weight: 700;
}

.navigation a:hover,
.navigation a[aria-current="page"] {
    color: var(--rot);
}


/* ---------------------------------------------------------
   HAUPTINHALT
   --------------------------------------------------------- */

.hauptinhalt {
    flex: 1;
}


/* ---------------------------------------------------------
   HERO
   Toni links, Text rechts
   Früher ungefähr zwei <td>
   --------------------------------------------------------- */

.hero {
    padding: 54px 0 34px;

    display: flex;
    align-items: center;
    gap: clamp(28px, 6vw, 90px);
}

.toni-bild {
    flex: 0 1 42%;
    min-width: 260px;
    text-align: center;
}

.toni-name {
    white-space: nowrap;
}

.toni-bild img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 620px;
    margin: 0 auto;
}

.hero-text {
    flex: 1 1 58%;
}


/* ---------------------------------------------------------
   TYPOGRAFIE
   --------------------------------------------------------- */

.klein {
    margin: 0 0 8px;

    color: var(--rot);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
}

h1 {
    margin: 0 0 18px;

    color: var(--dunkel);
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.02;
}

h2 {
    margin: 0 0 1px;
    color: var(--schwarz);
    font-size: 24px;
    line-height: 1.2;
}

.intro {
    margin: 0;
    max-width: 700px;

    font-size: clamp(18px, 2vw, 23px);
}


/* ---------------------------------------------------------
   KACHELN
   Grid = fünf gleich breite Spalten
   --------------------------------------------------------- */

.kacheln {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;
    padding: 12px 0 58px;
}

.kachel {
    min-height: 155px;
    padding: 22px;

    display: flex;
    flex-direction: column;
    gap: 9px;

    border: 1px solid var(--linie);
    border-radius: 18px;

    background: var(--hell);
    text-decoration: none;
}

.kachel strong {
    color: var(--dunkel);
    font-size: 18px;
}

.kachel span {
    font-size: 14px;
}

.kachel.hilfe {
    background: var(--gruen);
    color: #fff;
}

.kachel.hilfe strong {
    color: #fff;
}


.kachel-breit {
    grid-column: 1 / -1;
}

/* ---------------------------------------------------------
   CONTENT-SEITEN
   --------------------------------------------------------- */

.content-seite {
    max-width: 900px;
    padding: 58px 0 70px;
}

.content-seite h1 {
    font-size: clamp(36px, 5vw, 60px);
}

.content-text {
    padding: 24px;

    border: 1px solid var(--linie);
    border-radius: 18px;

    background: var(--hell);
    font-size: 18px;
}

.zurueck a {
    color: var(--gruen);
    font-weight: 700;
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.fuss {
    padding: 22px max(20px, calc((100% - var(--max)) / 2));

    display: flex;
    justify-content: space-between;
    gap: 20px;

    background: var(--dunkel);
    color: #ffffffe0;
    font-size: 13px;
}

.footer-links {
    display: flex;
    gap: 10px;
}

.fuss a {
    color: #fff;
}


/* =========================================================
   MOBIL
   Früher: /mww/
   Heute: gleiches HTML, nur andere Darstellung
   ========================================================= */

@media (max-width: 800px) {
	
    .kopf,
    .hauptinhalt {
        width: min(calc(100% - 28px), var(--max));
    }

    .kopf {
        padding-top: 16px;

        flex-direction: column;
    }

    .logo img {
        width: 210px;
    }

    .navigation {
        justify-content: center;
        font-size: 14px;
    }

    .hero {
    padding-top: 28px;

    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
}

.toni-bild {
    flex: 0 0 38%;
    min-width: 0;
    text-align: center;
}

.toni-bild img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
}

.hero-text {
    flex: 1 1 62%;
    min-width: 0;
    text-align: left;
}

.hero-text h1 {
    font-size: clamp(27px, 7.5vw, 38px);
    margin-bottom: 12px;
}

.intro {
    font-size: 15px;
    line-height: 1.45;
}

    .kacheln {
        grid-template-columns: 1fr;
        padding-bottom: 36px;
    }

    .kachel {
        min-height: 0;
        padding: 18px;
    }

    .fuss {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 801px) and (max-width: 1100px) {

    .kacheln {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* Baustellenseiten */

.baustelle {
    text-align: center;
    padding: 20px 0 30px;
}

.baustellen-toni {
    display: block;
    width: min(100%, 480px);
    height: auto;
    margin: 0 auto 20px;
}

@media (max-width: 800px) {
    .baustellen-toni {
        width: min(100%, 480px);
    }
}

.baustelle p {
    margin: 0;
    font-size: 20px;
    line-height: 1.5;
}

/* ---------------------------------------------------------
   Kontaktformular
   --------------------------------------------------------- */

.kontaktformular {
    max-width: 700px;
    margin-top: 28px;
}

.formular-feld {
    margin-bottom: 18px;
}

.formular-feld label {
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
}

.formular-feld input,
.formular-feld textarea {
    display: block;
    width: 100%;
    padding: 11px 12px;

    border: 1px solid var(--linie);
    border-radius: 6px;

    background: var(--hell);
    color: var(--text);

    font: inherit;
}

.formular-feld textarea {
    min-height: 160px;
    resize: vertical;
}

.formular-feld input:focus,
.formular-feld textarea:focus {
    outline: 2px solid var(--gruen);
    outline-offset: 2px;
}

.formular-hinweis {
    margin: 8px 0 20px;
    font-size: 14px;
    line-height: 1.5;
}

.kontaktformular button {
    padding: 11px 20px;

    border: 0;
    border-radius: 6px;

    background: var(--gruen);
    color: #fff;

    font: inherit;
    font-weight: bold;
    cursor: pointer;
}

.kontaktformular button:hover {
    background: var(--dunkel);
}

.formular-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


/* Sprachauswahl im Kopfbereich */
.kopf-rechts {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 10px;
    min-width: 0;
}
.sprachauswahl {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
}
.sprache-aktiv, .sprache-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    color: var(--dunkel);
}
.sprache-aktiv { border-bottom: none; }
.sprachauswahl img {
    display: block;
    width: 24px;
    height: 18px;
    object-fit: cover;
    border: 1px solid var(--linie);
}
@media (max-width: 800px) {
    .kopf-rechts { width: 100%; align-items: center; }
    .sprachauswahl { align-self: flex-end; }
}

/* Toni Startseite: italienischer Comic-Stil, nur auf der Startseite */
.toni-startseite .hero{position:relative;isolation:isolate;margin:30px 0 24px;padding:35px 42px 30px;border:3px solid #e8c99b;border-radius:30px;background:radial-gradient(circle at 85% 15%,#fff8e5 0,#ffe9c5 48%,#f8dfb5 100%);box-shadow:0 10px 0 #dfc49c;overflow:hidden}
.toni-startseite .hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background-image:radial-gradient(#a77843 0.7px,transparent 0.7px);background-size:13px 13px;pointer-events:none}
.toni-startseite .toni-bild{align-self:flex-end;flex-basis:38%}
.toni-startseite .toni-bild img{max-height:410px;filter:drop-shadow(7px 9px 0 #e9b66b)}
.toni-startseite .hero-text{flex-basis:62%}
.toni-startseite .hero-text .klein{display:inline-block;background:#b82920;color:white;padding:8px 20px;transform:rotate(-3deg);border-radius:5px;font-size:15px;box-shadow:3px 4px 0 #8c251b}
.toni-startseite .hero h1{font-family:Georgia,serif;font-style:italic;font-weight:900;letter-spacing:-.045em;font-size:clamp(40px,5.5vw,75px);line-height:1.08;color:#14512d;text-shadow:3px 3px 0 #fff9e9,5px 5px 0 #d8c4a1}
.toni-startseite .hero .intro{font-size:clamp(18px,2vw,25px);font-weight:700;color:#302719}
.toni-start-kacheln{gap:22px;padding-top:22px}
.toni-start-kacheln .kachel{position:relative;min-height:190px;justify-content:center;overflow:hidden;padding:30px 32px;border:3px solid #e5cba3;border-radius:25px;background:#fff8e9;box-shadow:0 7px 0 #e5cba3;transition:transform .18s,box-shadow .18s}
.toni-start-kacheln .kachel:nth-child(3n+2){background:#eaf5e7;border-color:#bfd6b8;box-shadow:0 7px 0 #bfd6b8}
.toni-start-kacheln .kachel:nth-child(3n){background:#fff0e8;border-color:#edc7b8;box-shadow:0 7px 0 #edc7b8}
.toni-start-kacheln .kachel::before{content:"🍕";position:absolute;right:18px;top:8px;font-size:64px;opacity:.22;transform:rotate(12deg)}
.toni-start-kacheln .kachel:nth-child(5n+2)::before{content:"📍"}
.toni-start-kacheln .kachel:nth-child(5n+3)::before{content:"👨‍🍳"}
.toni-start-kacheln .kachel:nth-child(5n+4)::before{content:"❤️"}
.toni-start-kacheln .kachel:nth-child(5n+5)::before{content:"💬"}
.toni-start-kacheln .kachel strong{position:relative;z-index:1;font-family:Georgia,serif;font-size:clamp(23px,2.6vw,34px);line-height:1.15;color:#14512d}
.toni-start-kacheln .kachel span{position:relative;z-index:1;font-size:16px;line-height:1.5}
.toni-start-kacheln .kachel.hilfe{background:#15542f;border-color:#0b3c22;box-shadow:0 7px 0 #0b3c22;color:white}
.toni-start-kacheln .kachel.hilfe strong{color:white}
.toni-start-kacheln .kachel:hover,.toni-start-kacheln .kachel:focus-visible{transform:translateY(-4px);box-shadow:0 11px 0 #d5b98e}
@media(max-width:800px){.toni-startseite .hero{padding:22px 18px;margin:18px 0 18px;gap:12px}.toni-startseite .toni-bild{flex-basis:35%}.toni-startseite .hero-text{flex-basis:65%}.toni-startseite .hero h1{font-size:clamp(28px,6vw,44px)}.toni-startseite .hero .intro{font-size:15px}.toni-start-kacheln{gap:16px}.toni-start-kacheln .kachel{min-height:140px;padding:24px}.toni-start-kacheln .kachel strong{font-size:25px}}
@media(max-width:460px){.toni-startseite .hero{align-items:center}.toni-startseite .toni-bild{flex-basis:33%}.toni-startseite .hero-text{flex-basis:67%}.toni-startseite .hero-text .klein{font-size:10px;padding:5px 8px}.toni-startseite .hero h1{font-size:clamp(25px,7vw,34px)}}

/* Gemeinsamer Toni-Look für vorhandene Inhaltsseiten */
.content-seite{max-width:960px;padding-top:42px}
.content-seite>.klein{display:inline-block;padding:7px 17px;border-radius:5px;background:#b82920;color:#fff;transform:rotate(-2deg);box-shadow:3px 4px 0 #8c251b;margin-bottom:17px}
.content-seite>h1{font-family:Georgia,serif;font-style:italic;letter-spacing:-.035em;color:#14512d;text-shadow:2px 3px 0 #fff9e9}
.content-seite>.content-text{border:3px solid #e7cda7;border-radius:26px;background:#fff8e9;box-shadow:0 7px 0 #e5cba3;padding:clamp(20px,3vw,36px)}
.content-seite .zurueck{margin-top:30px}
.content-seite .zurueck a{display:inline-block;padding:10px 18px;border:2px solid #175536;border-radius:13px;background:#eaf5e7;color:#14512d;text-decoration:none;font-weight:800;box-shadow:0 4px 0 #bcd4b5}
.content-seite .zurueck a:hover,.content-seite .zurueck a:focus-visible{background:#d7ebd0}
.content-seite .standortliste{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.content-seite .standortliste li{padding:13px 16px 13px 44px;position:relative;background:#f1f8eb;border:2px solid #d5e7c8;border-radius:14px;font-weight:700;color:#164c30}
.content-seite .standortliste li::before{content:"📍";position:absolute;left:12px;top:11px}
.content-seite .standorte-motto{filter:drop-shadow(3px 5px 0 #ecd6b3)}
.content-seite .kontaktformular{max-width:none}
.content-seite .formular-feld input,.content-seite .formular-feld textarea{border:2px solid #ddc9a8;border-radius:13px;background:#fffdf8;padding:13px 15px}
.content-seite .kontaktformular button{padding:14px 25px;border:2px solid #0c4026;border-radius:14px;background:#17613b;box-shadow:0 5px 0 #0c4026;font-size:17px}
.content-seite .kontaktformular button:hover{background:#10462c;transform:translateY(-2px)}
.content-seite .formular-erfolg{padding:18px;border-radius:16px;background:#eaf5e7;border:2px solid #c6dfc0}
.content-seite .formular-fehler{padding:18px;border-radius:16px;background:#fff0e8;border:2px solid #edc7b8}
@media(max-width:600px){.content-seite{padding-top:30px}.content-seite>.content-text{padding:18px;border-radius:19px}.content-seite .standortliste li{font-size:16px}}

/* Navigationskaestchen */
.navigation{gap:8px;align-items:center}
.navigation a{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1.5px solid #d6c8ae;border-radius:9px;background:#fff9ec;transition:background .15s,border-color .15s,color .15s}
.navigation a:hover,.navigation a:focus-visible{background:#fce7e1;border-color:var(--rot);color:var(--rot)}
.navigation a[aria-current="page"]{border-color:var(--rot);color:var(--rot);background:#fff3ee}
@media(max-width:600px){.navigation{gap:6px}.navigation a{padding:7px 10px;font-size:13px}}
@media(max-width:800px){.kopf-rechts{align-items:center}.sprachauswahl{align-self:center;justify-content:center;flex-wrap:wrap}}
