/* Zorgt ervoor dat html en body de volledige hoogte van het scherm innemen */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* Body als flex-container met kolomrichting */
body {
    display: flex;
    flex-direction: column;
    background-color: #F1FAEE;
    font-family: 'Scope One', serif;
}

/* Main vult de resterende ruimte zodat de footer naar beneden komt */
main {
    flex: 1;
}

/* Navbar-styling */
/*.navbar {*/
/*    background-color: #1D3557;*/
/*    height: 5vw;*/
/*    display: flex;*/
/*    flex-direction: row;*/
/*    padding-left: 1vw;*/
/*}*/


/*nav {*/
/*    display: flex;*/
/*    align-items: center; !* Centreert items verticaal *!*/
/*    margin-left: auto;*/
/*    margin-right: 3vw;*/
/*}*/

.navbar {
    background-color: #1D3557;
    height: 5vw;
    display: flex;
    align-items: center;
    padding: 0 3vw;
}

.navbar nav {
    margin-left: auto;
    display: flex;
    gap: 20px;
}

.navbar nav a {
    position: relative;
    color: #fff;
    text-decoration: none;
    padding: 5px 0;
    transition: color 0.3s ease;
}

.navbar nav a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: #fff;
    transition: width 0.3s ease;
}

.navbar nav a:hover::after {
    width: 100%;
}


a {
    color: white;
    padding: 1vw;
    text-decoration: none;
}

.navbar img {
    height: 3vw;
    padding: 1vw;
    margin-bottom: 1vw;
    margin-right: 1vw;
}

/* Header styling */
header img {
    height: auto;
    width: 99vw;
    display: block; /* Zorgt ervoor dat de afbeelding als een block-element werkt */
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    opacity: 70%;
}

.home-header {
    position: relative; /* Zorgt ervoor dat de absolute positionering van de titel binnen de header werkt */
    text-align: center;
}

.home-header .main-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: black;
    z-index: 2;
    font-size: 3vw;
}

/* Main content styling */
/* Let op: de vaste hoogte is hier verwijderd zodat de inhoud zich kan uitbreiden */
.home-main {
    margin-top: 5vw;
    font-size: 1.5vw;
}

.target-container {
    display: flex;
    flex-direction: row;
    margin-left: 2vw;

}

h2 {
    font-size: 2vw;
    border-bottom: 2px solid black;
    width: 22vw;
    padding-bottom: 0.5vw; /* Adds space between text and border */

}

.product {
    width: 13vw;
}


.home-main button {
    background-color: #bee3db;
    color: #000;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-family: 'Scope One', serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    width: 20vw;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.home-main button:hover {
    background-color: #aacfc8;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}


/* Afbeeldingen in main */
.home-main img {
    width: 40vw;
    margin: 4vw;
    display: block;
    object-fit: cover;
    /* Clip-path voor een golfachtige vorm */
    clip-path: polygon(
            0% 10%,
            10% 0%,
            90% 0%,
            100% 10%,
            100% 90%,
            90% 100%,
            10% 100%,
            0% 90%
    );
    transition: clip-path 0.4s ease;
}

.product-container img {
    width: 13vw;
}

.product-container{
    background-color: #BEE3DB;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    padding: 5vw;


}

.product-show {
    font-style: italic;
}


.container {
    width: auto;
    height: 30vw;
    margin: 2vw;
    padding: 3vw ;
    background-color: #F1FAEE;
}

/* Footer-styling */
footer {
    background-color: #1D3557;
    color: white;
    padding: 1vw;
    text-align: center;
}

@keyframes fadeInSmooth {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*product pagina*/
/** {*/
/*    margin: 0;*/
/*}*/

.product-header {
    background-color: #BEE3DB;
    text-align: center;
    padding: 5vw 10vw 5vw 5vw;
    font-size: 1.3rem;
    font-family: 'Scope One', serif;
}

.product-info {
    padding-bottom: 2vw;
}

.product-main {
    background-color: #F1FAEE;
    padding: 2vw 0 2vw 2vw;
}

.instruction-container p {
    padding: 2px 0;
    font-size: 1.3rem;
}

.speech-to-text {
    display: flex;
    flex-direction: column;
    padding: 2vw 0 2vw 0;
}

.btn {
    display: flex;
    gap: 2vw;
    padding-bottom: 2vw;
}

#start-btn, #clear-btn, #recordBtn {
    padding: 1vw 2vw;
    background-color: #BEE3DB;
    border-radius: 15px;
    font-size: 1rem;
    font-weight: bold;
    border-style: hidden;
}

#start-btn:hover, #clear-btn:hover, #recordBtn:hover {
    background-color: #1D3557;
    color: white;
}

#transcript {
    background-color: #FFFFFF;
    width: 40%;
    height: 200px;
}

/*contact pagina*/
/** {*/
/*    margin: 0;*/
/*}*/

/*body {*/
/*    background-color: #BEE3DB;*/
/*}*/

.contact-main {
    display: flex;
    justify-content: space-between;
    gap: 10vw;
    margin: 0 10vw;
    padding: 2vw 0;
    background-color: #F1FAEE;
    border-radius: 20px;
}

.contact-container {
    flex: 2;
}

.contact-container p {
    padding: 3vw 2vw;
    font-size: 1.5rem;
}

.contact {
    flex: 1;
}

.contact h1 {
    padding-left: 2vw;
    font-size: 2rem;
}

.contact p {
    padding-left: 2vw;
    font-size: 1.3rem;
    font-weight: 500;
    padding-top: 1.5vw;
    border-left: black 2px solid;

}

.speech-to-text-container h2{
    width: 8vw;
}


/*media queries*/

/* Media query voor tablets (max-width: 768px) */
@media screen and (max-width: 768px) {
    .navbar {
        height: 7vw;          /* Iets grotere hoogte voor meer ruimte */
        padding: 0 2vw;
    }
    .navbar nav {
        gap: 15px;            /* Verminderde ruimte tussen de links */
    }
    .navbar nav a {
        padding: 4px 0;
        font-size: 0.9rem;    /* Iets kleinere tekst */
    }
    header img {
        width: 100vw;         /* Zorgt dat de headerafbeelding de volledige breedte beslaat */
    }
    .home-header .main-title {
        font-size: 4vw;       /* Past de titelgrootte aan */
    }
    .home-main {
        margin-top: 7vw;      /* Iets meer marge boven de main-content */
        font-size: 1.8vw;
    }
    .home-main button {
        width: 35vw;          /* Past de breedte van de knop aan */
        font-size: 1rem;
    }
}

/* Media query voor mobiele telefoons (max-width: 480px) */
@media screen and (max-width: 480px) {
    .navbar {
        height: auto;             /* Laat de navbar automatisch hoogte bepalen */
        flex-direction: column;   /* Stapelt de inhoud onder elkaar */
        padding: 1vw;
    }
    .navbar nav {
        margin: 1vw 0;
        flex-direction: column;   /* Nav links onder elkaar */
        gap: 10px;
        align-items: center;
    }
    .navbar nav a {
        padding: 5px;
        font-size: 1rem;
    }
    header img {
        width: 100vw;
    }
    .home-header .main-title {
        font-size: 6vw;
    }
    .home-main {
        margin-top: 10vw;
        font-size: 3vw;
    }
    /* Zorg dat container- en productelementen op mobiele schermen goed schalen */
    .target-container,
    .product-container {
        flex-direction: column;
        align-items: center;
    }
    .product,
    .container {
        width: 90vw;
    }
    .home-main button {
        width: 80vw;
        padding: 10px 20px;
        font-size: 1rem;
    }
}
/* Rustige, yoga-geïnspireerde achtergrond */
body {
    background: linear-gradient(135deg, #F1FAEE, #A8DADC);
}

/* Styling voor het loginformulier */
main form {
    background-color: rgba(255, 255, 255, 0.85);
    border-radius: 8px;
    max-width: 400px;
    margin: 5vh auto;
    padding: 2rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
}

/* Labels binnen het formulier */
main form label {
    font-weight: bold;
    color: #1D3557;
    display: block;
    margin-bottom: 0.5rem;
}

/* Invoervelden styling */
main form input[type="text"],
main form input[type="password"] {
    width: 90%;
    padding: 0.75rem;
    margin: 0.5rem auto;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
    display: block;
}

/* Foutmeldingen (error messages) styling */
main form span {
    color: #E63946;
    font-size: 0.9rem;
    display: block;
    margin-top: 0.25rem;
}

/* Submit-knop styling */
main form input[type="submit"] {
    background-color: #1D3557;
    color: #fff;
    border: none;
    padding: 0.75rem;
    font-size: 1rem;
    border-radius: 4px;
    cursor: pointer;
    width: 95%;
    margin: 1rem auto;
    display: block;
    transition: background-color 0.3s ease;
}

main form input[type="submit"]:hover {
    background-color: #457B9D;
}

/* Registratielink styling */
main form a {
    text-decoration: none;
    font-size: 0.9rem;
    color: #1D3557;
    transition: color 0.3s ease;
}

main form a:hover {
    color: #457B9D;
}

/* Toggle wachtwoord knop (wordt door JS toegevoegd) */
.toggle-password {
    background: none;
    border: none;
    cursor: pointer;
    color: #1D3557;
    font-size: 0.9rem;
    margin-left: 10px;
}
