/* Libre Franklin Regular */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

/* Libre Franklin Bold */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}
/* Libre Franklin Thin */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Thin.ttf") format("truetype");
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-ThinItalic.ttf") format("truetype");
    font-weight: 100;
    font-style: italic;
}

/* Libre Franklin Extra Light */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-ExtraLight.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-ExtraLightItalic.ttf") format("truetype");
    font-weight: 200;
    font-style: italic;
}

/* Libre Franklin Light */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-LightItalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
}

/* Libre Franklin Regular */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Italic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
}

/* Libre Franklin Medium */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-MediumItalic.ttf") format("truetype");
    font-weight: 500;
    font-style: italic;
}

/* Libre Franklin Semi Bold */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-SemiBoldItalic.ttf") format("truetype");
    font-weight: 600;
    font-style: italic;
}

/* Libre Franklin Bold */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-BoldItalic.ttf") format("truetype");
    font-weight: 700;
    font-style: italic;
}

/* Libre Franklin Extra Bold */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-ExtraBoldItalic.ttf") format("truetype");
    font-weight: 800;
    font-style: italic;
}

/* Libre Franklin Black */
@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: "Libre Franklin";
    src: url("./fonts/LibreFranklin-BlackItalic.ttf") format("truetype");
    font-weight: 900;
    font-style: italic;
}

/* Allgemeine Stile */
* {
    padding: 0;
    margin: 0;
    text-decoration: none;
    margin: 0 auto;
    border-radius: 5px;
}
html {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Verhindert horizontalen Scrollbalken */
}
body,
label,
input {
    color: #444;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Verhindert horizontalen Scrollbalken */
}



/* Links */
a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Textelemente */
a,
p,
h1,
h2,
h3,
h4,
input {
    font-family:  "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
}
/* Schriftfarbe für die Menülinks */
.navbar .nav-links li a {
    color: rgb(38, 38, 38); /* Schriftfarbe */
    text-decoration: none; /* Entfernt eventuelle Unterstreichung */
    
}

/* Optional: Hover-Effekt für die Links */
.navbar .nav-links li a:hover {
    color: rgb(185, 0, 0); /* Farbe bei Hover */
    text-decoration: underline; /* Unterstreichen beim Hover */
}
/* Tabellen */
table.t1,
table.t2,
.bestellte_ware45 {
    display: none;
}

table {
    border: 1px solid black;
    margin: 0 auto; /* Zentriert die Tabelle horizontal */
    /* border-collapse: collapse;  Verhindert doppelte Rahmen */
}




table.t3,
table.t4 {
    /* max-width: 600px; */
    font-size: medium;
    /* table-layout: auto; */
}

table th,
table td {
    border: 1px solid black;
    padding: 8px; /* Fügt Innenabstand für bessere Lesbarkeit hinzu */
    white-space: nowrap; /* Verhindert Zeilenumbrüche innerhalb der Zellen */
}

table th {
    background-color: #a41420;
    color: #fff;
    text-align: right;
}

table td {
    text-align: left;
    
}
.t3 th {
    width: 50%; /* Die Breite der ersten Spalte kann angepasst werden */
}


table tr:nth-child(even) {
    background-color: #f2f2f2;
}

th label,
td input {
    /* display: block; */ /* Stellt sicher, dass die Elemente die volle Breite einnehmen */
    /* width: 100%;  */   /* Lässt `input`-Felder die volle Breite des Containers einnehmen */
    /* box-sizing: border-box;  */ /* Beinhaltet Padding und Border in der Breite */
}



/* form div {
    margin-bottom: 15px;  Abstand zwischen den Eingabefeldern 
} */

/* form label {
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
} */

form input[type="text"],
form input[type="email"],
form input[type="tel"] {
    
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box; /* Padding und Border in der Breite einbeziehen */
    width: 100%;
    padding: 0;          
    text-align: left;   
}


textarea {
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 100%;
}

/* Artikel */
.artikel {
    border: 1px solid black;
}

.artikel img {
    display: block;
    margin: auto;
}

.artikel h3,
.artikel h4,
.artikel p {
}

/* Warenkorb */
.warenkorb {
    text-align: center;
    margin-top: 16px;
}

.warenkorb table {
    margin: 0 auto;
}

.warenkorb th,
.warenkorb td {
    padding: 8px;
}

/* Slider */
.slide {
    position: relative;
    text-align: center;
    margin: 0;
}

.slide img {
    max-width: 100%;
    height: auto;
    margin: 20px 5px 5px 20px;
}

/* .slide .caption {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 5px;
    font-size: 8px;
    color: #fff;
    background-color: #00000070;
    padding: 10px;
    text-align: center;
}
*/

/* Buttons */
button,
input[type="submit"] {
    background-color: #333;
    color: white;
    padding: 10px;
    font-size: 18px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

button:hover,
input[type="submit"]:hover {
    background-color: #555;
}

/* Footer */
.footer-left {
    font-size: 16px;
}

.footer-left a {
    color: white;
    margin-right: 10px;
}

.footer-right {
    display: flex;
    gap: 15px;
}

.footer-right img {
    width: 30px;
    height: 30px;
}

.footer p {
    text-align: center;
    margin-top: 10px;
    font-size: 14px;
    color: #fff;
}

/* Bestellvorgang */
.bestellvorgang {
    margin: 2%;
    display: grid;
    grid-template-columns: auto;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

.bestellvorgang > *,
.bestellvorgang2 > * {

    text-align: center;
    padding: 5px;
}
.event-link p a{
    color: #fff;
}


/* Kontaktformular */
.anzahl form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 100px;
    margin: 0 auto;
    text-align: left;
}

.anzahl h4:nth-of-type(2){
    font-size: 2em;
}

label {
    color: #ffffff;
    font-weight: bold;
}
label h3 {
    color: #444;
}

.artikel-liste-phone {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px; /* Abstand zwischen den Artikeln */
}
.artikel {
    width: 300px;
    min-height: 350px; /* Mindesthöhe für gleiche Größe */
    max-width: 100%; /* Stellt sicher, dass es nicht zu breit wird */
    
    padding: 5px;
    margin: 5px auto;
    height: auto;
    background-color: #f9f9f9;
}

/* Einzelnes Artikel-Element */
.artikel-item {
    display: flex;
    flex-direction: column;
    width: calc(33.333% - 20px); /* 3 Artikel pro Zeile am Desktop */
    border: 1px solid #ccc;
    padding: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

/* Thumbnail-Styling */
.artikel-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Artikel-Information */
.artikel-info p {
    margin: 10px 0;
    font-size: 14px;
}

/* Anzahl-Formulare */
.artikel-anzahl {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
}

.artikel-anzahl form button {
    padding: 5px 10px;
    font-size: 16px;
}

.seite-artikelauswahl .bestellvorgang .artikel p:last-of-type {
  display: none;
}

datenschutz-hinweis {
    white-space: nowrap; /* Verhindert Zeilenumbrüche */
    font-size: 16px;     /* Optional: Schriftgröße einstellen */
    margin: 10px 0;      /* Optional: Abstände einstellen */
}

.datenschutz-hinweis a {
    color: #007BFF;      /* Optional: Link-Farbe */
    text-decoration: none; /* Optional: Link-Unterstreichung entfernen */
}

.datenschutz-hinweis a:hover {
    text-decoration: underline; /* Optional: Unterstreichung beim Hover */
}
.datenschutz-container {
    display: contents;
}

.datenschutz-container input[type="checkbox"] {
    width: 20px; /* Größe der Checkbox anpassen */
    height: 20px;
    margin: 20px;
}

.datenschutz-container label h3 {
    margin: 0;
    font-size: 16px; /* Schriftgröße des Textes */  
}


.datenschutz-container .datenschutz-flex {
    display: flex;
    align-items: center;
    gap: 10px; /* Abstand zwischen Checkbox und Text */
    padding: 8px;
}

.datenschutz-flex input[type="checkbox"] {
    margin: 0;
}

.datenschutz-flex p {
    margin: 0; /* Entfernt den Standard-Margin von <p> */
    color: #000; /* Optional: Textfarbe auf Schwarz setzen */
}
/* Media Queries für 800px und kleiner */
@media screen and (max-width: 800px) {

/* Logo-Container zentrieren */
.c1 {
    width: 100%;
    display: inline-grid;
    justify-content: center; /* Zentriert das Logo horizontal */
    align-items: center;     /* Zentriert das Logo vertikal (falls nötig) */
    margin: 0 auto;
    padding: 10px 0;         /* Optional: Fügt etwas vertikalen Abstand hinzu */
    }

/* PNG-Logo */
.c1 img {
    max-width: 150px;    /* Optional: Begrenze die maximale Breite des Logos */
    height: auto;        /* Erhält das Seitenverhältnis des Logos */
    display: inline-block; /* Stellt sicher, dass das Bild korrekt dargestellt wird */
    }

    /* Zentriert und entfernt Margin/Padding für äußere divs */
    .bestellvorgang,
    .c2,
    .c3,
    .slider,
    .artikel-liste-phone
    {
        margin: 5px;
        padding: 5px;
        max-width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    .artikel {
        display: inline-block;
    }

    /* Bild und Button im Artikel mittig platzieren */
    .artikel img {
    max-width: 100px;
    height: auto;
    margin: 0 auto 15px;
    }
    .artikel-liste {
        flex-direction: column;
        align-items: center;
    }

    .artikel-item {
        max-width: 100%;
        display: contents;
    }

    /* Pulldown-Menü-Anpassungen */
    .c6 select {
        width: 100%;
        max-width: 300px; /* Begrenzte Breite für bessere Darstellung */
        margin: 0 auto;   /* Zentriert das Pulldown-Menü */
        display: flex;
    }

    /* Slider-Anpassungen */
    .slider {
        width: 100%;
        padding: 0;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        overflow: hidden;
    }

    .slider .slide {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        display: flex;
        justify-content: center;
    }
    .slide img{
        margin: 0;
    }
    .slider .slide img {
        width: 100%; /* Bild nimmt die volle Breite des Containers ein */
        max-width: 100%; /* Verhindert, dass das Bild zu groß wird */
        height: auto;
        display: flex;
    }
/*
    
    .slider .caption {
        font-size: 12px;
        text-align: center;
        margin-top: 5px;
        padding: 5px;
        background-color: rgba(0, 0, 0, 0.6);
        color: #fff;
        border-radius: 5px;
        width: 90%;
        box-sizing: border-box;
    }
*/  
.slider .slide a .caption h3 {
    margin: 0 0 0.30em 0;
}

    /* Allgemeine Button-Anpassungen */
    button,
    input[type="submit"],
    a {
        
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 0px;
        
    }
    .button-container, .artikel h3{
        margin: 5px;
    }

    form input[type="text"],
    form input[type="email"],
    form input[type="tel"] {
        max-width: 100%; /* Eingabefelder passen sich der Bildschirmbreite an */
    }

    /* Tabelle scrollbar machen */
    table.t4 {
        width: 100%;
        border-collapse: collapse;
        display: block; /* Macht die Tabelle zu einem Blockelement */
        overflow-x: auto; /* Horizontales Scrollen ermöglichen */
        white-space: nowrap; /* Verhindert Zeilenumbrüche innerhalb der Tabelle */
    }

    /* Tabellenzellen anpassen */
    table.t4 th,
    table.t4 td {
        padding: 8px; /* Platz zwischen Inhalt und Rahmen */
        text-align: left; /* Text linksbündig */
        min-width: 120px; /* Mindestbreite für jede Spalte */
        box-sizing: border-box;
    }

    /* Optional: Zentrierung der Tabelle */
    .bestellte_ware {
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden; /* Verhindert Überschuss */
        padding: 5px;
    }

}
    /* Media Query für Smartphones */
@media screen and (max-width: 798px) {
    /* Tabelle vollständig sichtbar machen */
    seite-bestellformular_kontak table.t4 {
        display: none;
    }
    .bestellte_ware45 {
        display:block;
    }
    
    table.t45 {
        width: 100%;
        border: none;
        overflow-x: auto; /* Ermöglicht horizontales Scrollen, falls nötig */
    }

    /* Zeilen und Zellen untereinander darstellen */
    table.t45 tr {
        display: flex;
        flex-direction: column;
        margin-bottom: 10px; /* Abstand zwischen den Zeilen */
    }

    table.t45 th,
    table.t45 td {
        display: block; /* Zellen als Blockelemente darstellen */
        width: 100%;
        box-sizing: border-box;
        text-align: left; /* Links ausgerichtet */
        padding: 8px; /* Platz zwischen Inhalt und Rahmen */
        border: 1px solid #ccc; /* Optionaler Rahmen für Klarheit */
    }

    /* Input-Felder anpassen */
    table.t45 input[type="text"],
    table.t45 input[type="email"],
    table.t45 input[type="tel"] {
        width: 100%; /* Eingabefelder füllen die volle Breite */
        padding: 8px;
        box-sizing: border-box; /* Padding wird in die Breite einbezogen */
    }

   /* Datenschutz-Container anpassen */
   .datenschutz-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 8px;
}

.datenschutz-flex {
    display: flex;
    align-items: center;
    gap: 10px; /* Abstand zwischen Checkbox und Text */
}

.datenschutz-hinweis p {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}

/* Checkbox anpassen */
.datenschutz-flex input[type="checkbox"] {
    width: 20px;
    height: 20px;
}

/* Submit-Button anpassen */
.submit-container {
    text-align: center;
    padding: 10px;
}

.submit-container input[type="submit"] {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    box-sizing: border-box;
    background-color: #444;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.submit-container input[type="submit"]:hover {
    background-color: #555;
}
}

