/* Body-Styling */
body {
    font-family: Arial, sans-serif;
    background-color: #f8f8f8;
    color: #7c7c7c;
    margin:0px;

   
}

/* Links generell */
a {
    text-decoration: none; /* Entfernt die Unterstreichung */
    color: #7c7c7c; /* Setzt die Farbe auf die Standard-Textfarbe statt Blau */
    transition: color 0.3s ease; /* Sanfter Farbübergang bei Hover */
}

a:hover {
    color: #f2ac90; /* Ändert die Farbe beim Hover auf eine Orange-Tongebung wie bei Buttons */
}

/* Header */
header {
    background-color: #2c3e50;
    color: white;
    text-align: center;
    font-weight: bold;
    padding: 27px 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Navigation */
nav {
    margin:0px 0;
}

nav a {
    color: white; /* Weiß für Nav-Links */
    text-decoration: none; /* Keine Unterstreichung */
    font-size: 18px;
    padding: 8px 12px;
    border-radius: 5px;
    transition: background-color 0.3s;
    display: inline-block;
}

nav a:hover {
    background-color: rgba(255, 255, 255, 0.1); /* Leichter Hintergrund beim Hover */
    color: white; /* Farbe bleibt weiß */
}

/* Allgemeines Button-Styling */
button {
   
    align-items: center;
    padding: 10px 20px;
    background: #2c3e50;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-bottom: 20px;
  
}

button:hover {
    background: #f2ac90;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
}

button:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Formularelemente */
input, select {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    height: 50px;
    padding: 15px;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.anmeld_form2 {
    padding: 50px;
}
      


/* Container */
.maincontainer {
    padding: 50px;
}

.container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.products, .order-list {
    flex: 1;
    width: 100%;
}

/* Tabellen */
table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

th, td {
    text-align: left;
    padding: 10px;
}

th {
    background-color: #f4f4f4;
    font-weight: bold;
}

/* Checkboxen */
.checkbox-container {
    display: flex;
    gap: 10px;
}

.checkbox-inline {
    display: inline-block;
    margin-right: 10px;
}

.checkbox {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #555;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
    vertical-align: middle;
}

/* Kunde_div und Beste_box */
.kunde_div {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 46%;
    font-size: 12px;
    border-bottom: 1px solid #000;
}

.kunde_id {
    font-size: 25px;
    padding: 14px 33px 13px 14px;
    background: #ffc24e;
    text-align: justify;
}

#beste_box {
    width: 100%;
    background: #e3e3e3;
    padding: 21px;
}

/* Paginierung */
.pagination {
    text-align: center;
    margin-top: 20px;
}

.pagination a,
.pagination .pagination-info {
    padding: 10px 20px;
    margin: 0 5px;
    font-size: 16px;
    text-decoration: none;
    color: #fff;
    background-color: #2c3e50;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    display: inline-block;
}

.pagination a:hover {
    background-color: #2c3e50;
    color: #fff; /* Farbe bleibt weiß beim Hover */
}

/* Toggle-Details */
.toggle-details {
    cursor: pointer;
    background-color: #fff;
    padding: 10px 15px;
    border-radius: 5px;
    font-size: 16px;
    margin-bottom: 10px;
    border: 1px solid #000;
    transition: background-color 0.3s ease;
}

.toggle-details:hover {
    background-color: #f1f1f1;
}

.groupname {
    font-size: 25px;
}

/* Canvas */
canvas {
    margin-top: 20px;
    border: 1px solid #000;
    width: 100%;
    max-width: 320px;
}

/* Smartphone-spezifisches CSS (max-width: 768px) */
@media only screen and (max-width: 768px) {
    body {
        font-size: 14px;
    }

    header {
        font-size: 14px;
        padding: 10px;
    }

    nav {
        margin: 0px;
    }

    nav a {
        font-size: 14px;
        margin: 0 10px;
        padding: 6px 10px;
        color: white; /* Weiß bleibt erhalten */
    }

    nav a:hover {
        background-color: rgba(255, 255, 255, 0.1);
        color: white; /* Weiß beim Hover */
    }

    .maincontainer {
        padding: 10px;
      
        padding-top: 50px;
    }

    .anmeld_form2 {
        padding: 20px;
    }

    input, select {
        font-size: 16px;
        padding: 10px;
        height: 45px;
    }

    .container {
        flex-direction: column;
    }

    table {
        display: block;
        overflow-x: auto;
    }

    th, td {
        padding: 8px;
    }

    .checkbox-container {
        flex-direction: column;
        gap: 5px;
    }

    .kunde_div {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        transform: none;
    }

    .kunde_id {
        font-size: 18px;
        padding: 10px;
    }

    .groupname {
        font-size: 20px;
    }

    button {
        padding: 10px;
        height: 40px;
    }

    .pagination a,
    .pagination .pagination-info {
        padding: 8px 15px;
        font-size: 14px;
        color: #fff; /* Weiß bleibt erhalten */
    }



    .toggle-details {
        font-size: 14px;
        padding: 8px 12px;
    }

    canvas {
        max-width: 100%;
        height: 150px;
    }

    /* Links auf Smartphones */
    a {
        color: #7c7c7c; /* Kein Blau, bleibt Grau */
    }

    a:hover {
        color: #f2ac90; /* Orange beim Hover */
    }
}

/* Kleinere Smartphones (max-width: 480px) */
@media only screen and (max-width: 480px) {
    body {
        font-size: 12px;
    }
    header {
        background-color: #2c3e50;
        color: white;
        text-align: center;
        font-weight: bold;
        padding: 27px 0;
        width: 100%;
        z-index: 1000;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        font-size: 12px;
    }


    nav a {
        font-size: 12px;
        color: white; /* Weiß bleibt erhalten */
    }

    nav a:hover {
        background-color: rgba(255, 255, 255, 0.1);
        color: white; /* Weiß beim Hover */
    }

    .maincontainer {
        padding: 10px;
    }

    .anmeld_form2 {
        padding: 10px;
    }

    input, select {
        font-size: 14px;
        padding: 8px;
    }

    th, td {
        font-size: 12px;
        padding: 5px;
    }

    .kunde_id {
        font-size: 16px;
    }

    button {
        padding: 8px;
    }

    .pagination a,
    .pagination .pagination-info {
        padding: 8px 15px;
        font-size: 12px;
        color: #fff; /* Weiß bleibt erhalten */
    }

    .pagination a:hover {
        background-color: #2c3e50;
        color: #fff; /* Weiß beim Hover */
    }

    /* Links auf kleineren Smartphones */
    a {
        color: #7c7c7c; /* Kein Blau, bleibt Grau */
        text-decoration: underline;
    }

    a:hover {
        color: #f2ac90; /* Orange beim Hover */
    }
}

/* Basis-Styling für die Produkt-Tabelle */
#productTable {
    width: 100%;
    border-collapse: collapse;
}

#productTable th, #productTable td {
    padding: 10px;
    text-align: left;
    font-size: 16px; /* Standard-Schriftgröße für Desktop */
}

/* Styling für Gruppennamen */
.groupname {
    font-size: 25px; /* Standard für Desktop */
    font-weight: bold;
}

/* Styling für Produktbeschreibung (ℹ Symbol) */
#productTable td span {
    font-size: 35px; /* Standard für Desktop */
}

/* Smartphone-Anpassungen für Produkt-Tabelle (max-width: 768px) */
@media only screen and (max-width: 768px) {
    #productTable th, #productTable td {
        font-size: 14px; /* Kleinere Schriftgröße für Smartphones */
        padding: 8px; /* Weniger Padding */
    }

    .groupname {
        font-size: 20px; /* Kleinere Gruppennamen */
    }

    #productTable td span {
        font-size: 25px; /* Kleineres Info-Symbol */
    }

    #productTable button {
        font-size: 14px; /* Kleinere Schrift für Buttons */
        padding: 6px 10px; /* Kompakter Button */
    }
    header {
        background-color: #2c3e50;
        color: white;
        text-align: center;
        font-weight: bold;
        padding: 27px 0;
        width: 100%;
        z-index: 1000;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        font-size: 12px;
    }

}

/* Noch kleinere Smartphones für Produkt-Tabelle (max-width: 480px) */
@media only screen and (max-width: 480px) {
    #productTable th, #productTable td {
        font-size: 12px; /* Noch kleinere Schriftgröße */
        padding: 5px; /* Minimales Padding */
    }

    .groupname {
        font-size: 18px; /* Noch kleinere Gruppennamen */
    }

    #productTable td span {
        font-size: 20px; /* Noch kleineres Info-Symbol */
    }

    #productTable button {
        font-size: 12px; /* Noch kleinere Schrift für Buttons */
        padding: 4px 8px; /* Noch kompakterer Button */
    }
}