/* Reset some default styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Raleway', sans-serif;
    background: #F3AFA7; /* Page Background: Pink */
    margin: 0;
    padding: 0;
}

.container {
    width: 60%;
    max-width: 800px;
    margin: 5% auto;
    background: #FFEDE9; /* "Ons wit" for the main container */
    padding: 2em;
    border-radius: 15px; /* Rounded Corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

h1 {
    text-align: center;
    color: #7F2B42; /* Bordeaux for Main Title */
    font-family: 'Cormorant Garamond', serif;
    font-size: 45px;
    font-style: italic;
    line-height: 50px;
    margin-bottom: 1em;
}

#quiz {
    margin-top: 2em;
}

/* Progress Bar */
#progress {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5em;
}

.progress-circle {
    width: 15px;
    height: 15px;
    background-color: #FFEDE9; /* "Ons wit" */
    margin: 0 5px;
    border: 2px solid #DA757B; /* Medium pink/red for borders */
    border-radius: 50%;
}

.progress-circle.completed {
    background-color: #DA757B; /* Medium pink/red when completed */
    border: none;
}

.progress-circle.current {
    background-color: #7F2B42; /* Bordeaux for current step */
    border: none;
}

/* Topic Titles */
.topic-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 35px;
    font-style: italic;
    color: #7F2B42; /* Bordeaux */
    margin-bottom: 1em;
    line-height: 45px;
}

/* Questions */
.question-wrapper {
    margin-bottom: 1.5em;
}

.question {
    font-family: 'Raleway', sans-serif;
    font-size: 18px;
    color: #7F2B42; /* Bordeaux for question text */
    margin-bottom: 0.5em;
    font-style: italic;
    line-height: 25px;
}

/* Options */
.options {
    list-style-type: none;
    padding: 0;
}

.options li {
    margin-bottom: 0.5em;
    font-size: 18px; /* Body Text */
}

.options label {
    font-family: 'Raleway', sans-serif;
    font-size: 18px;
    color: #7F2B42; /* Bordeaux for Yes/No labels */
    cursor: pointer;
    position: relative;
    padding-left: 25px;
    display: inline-block;
    line-height: 25px;
}

/* Custom Radio Buttons */
.options input[type="radio"] {
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    opacity: 0;
    cursor: pointer;
}

.options input[type="radio"] + span {
    position: absolute;
    left: 0;
    top: 0;
    height: 16px;
    width: 16px;
    background-color: #FFEDE9; /* "Ons wit" */
    border: 2px solid #7F2B42; /* Bordeaux for radio border */
    border-radius: 50%;
}

.options input[type="radio"]:checked + span {
    background-color: #7F2B42; /* Bordeaux when checked */
}

.options label span:after {
    content: "";
    position: absolute;
    display: none;
}

.options input[type="radio"]:checked + span:after {
    display: block;
}

.options label span:after {
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}

/* Buttons & Interactive Elements */
.navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 2em;
}

button {
    border: none;
    padding: 0.8em 2em;
    cursor: pointer;
    font-family: 'Raleway', sans-serif;
    font-size: 18px; /* CTA Button Text */
    font-weight: 700; /* Bold for CTA */
    border-radius: 10px; /* Rounded Corners */
    transition: background-color 0.3s, color 0.3s;
}

/* Next Button ("Volgende") */
.next-btn {
    background-color: #7F2B42; /* Bordeaux */
    color: #FFFFFF; /* White text */
}

.next-btn:hover {
    background-color: #EEC1A2; /* Lighter shade on hover */
}

/* Back Button ("Terug") */
.back-btn {
    background-color: #F3AFA7; /* Pink */
    color: #7F2B42; /* Bordeaux or dark text */
}

.back-btn:hover {
    background-color: #DA757B; /* Medium pink/red on hover */
}

/* 
   Form Fields on "Jouw Gegevens"
   Consistent line underneath 
*/
.email-form label {
    font-family: 'Raleway', sans-serif;
    font-size: 18px; /* Body Text */
    color: #7F2B42; /* Bordeaux */
    margin-bottom: 0.5em;
    display: block;
}

.email-form input[type="text"],
.email-form input[type="email"] {
    width: 100%;
    padding: 0.5em 0;
    font-size: 18px; /* Body Text */
    border: none;
    border-bottom: 2px solid #7F2B42; /* Underline in Bordeaux */
    background: transparent;
    outline: none;
    color: #7F2B42; /* Bordeaux for text */
    margin-bottom: 1em; /* some space below each field */
}

/* Checkbox Groups */
.email-form .checkbox-group {
    margin-bottom: 1em;
}

.email-form .checkbox-group input[type="checkbox"] {
    margin-right: 0.5em;
    accent-color: #7F2B42; /* Bordeaux for checkboxes */
}

.email-form .checkbox-group label {
    font-family: 'Raleway', sans-serif;
    font-size: 18px; /* Body Text */
    color: #7F2B42; /* Bordeaux */
}

/* Error Messages */
.email-form .error {
    color: red;
    font-size: 18px; /* Body Text */
    margin-bottom: 1em;
}

/* 'Meer details' Buttons */
.detailsBtn {
    background-color: #DA757B; /* Medium pink/red */
    color: #FFFFFF; /* White text */
    border: none;
    padding: 0.5em 1.5em;
    cursor: pointer;
    font-family: 'Raleway', sans-serif;
    font-size: 18px; /* CTA Button Text */
    font-weight: 700; /* Bold */
    border-radius: 10px; /* Rounded Corners */
    transition: background-color 0.3s, color 0.3s;
    margin-top: 1em;
}

.detailsBtn:hover {
    background-color: #7F2B42; /* Bordeaux on hover */
}

/* Result Topics */
.result-topic {
    margin-top: 1em;
    font-family: 'Raleway', sans-serif;
    font-size: 20px; /* Bullet-List Text */
    color: #7F2B42; /* Bordeaux */
    text-align: left;
    font-style: italic;
    padding-bottom: 0.5em;
    line-height: 30px;
}

/* Result Details */
.result-detail {
    text-align: left;
    margin-top: 1em;
    display: none; /* Hidden by default */
}

.result-detail iframe {
    border-radius: 10px; /* Rounded Corners for Videos */
}

/* Final Result Text */
#result {
    text-align: center; /* Center all content within the result container */
}

#result p {
    font-family: 'Raleway', sans-serif;
    font-size: 18px; /* Body Text */
    color: #7F2B42; /* Bordeaux */
    line-height: 25px;
    margin-top: 1em;
}

/* New Descriptive Paragraph Styling */
.result-description {
    font-family: 'Raleway', sans-serif;
    font-size: 18px; /* Body Text */
    color: #7F2B42; /* Bordeaux */
    line-height: 25px;
    margin-top: 1em;
    text-align: center; /* Center the descriptive text */
}

/* Optional: Style for the results title */
.result-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 25px;
    color: #7F2B42;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    text-align: center; /* Ensure the title is centered */
}

/* Optional: Style for the hormone list */
.hormone-list {
    list-style-type: disc;
    padding-left: 20px; /* Add some padding for bullet points */
    font-family: 'Raleway', sans-serif;
    font-size: 20px;
    color: #7F2B42;
    margin-bottom: 1em;
    
    display: inline-block; /* Make the list shrink to its content */
    text-align: left; /* Align text within list items to the left */
}

/* Optional: Style for the video container if needed */
.video-container {
    margin-bottom: 1.5em;
}


/* Decorative Quote (if used) */
.decorative-quote {
    font-family: 'Amsterdam Four', sans-serif;
    font-size: 60px;
    font-style: italic;
    line-height: 80px;
    color: #7F2B42; /* Bordeaux */
    text-align: center;
    margin: 2em 0;
}

/* Introductory Title */
.intro-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 35px;
    color: #7F2B42; /* Bordeaux */
    text-align: center;
    margin-bottom: 1em;
    font-style: italic;
}

/* Introductory Text */
.intro-text {
    font-family: 'Raleway', sans-serif;
    font-size: 18px;
    color: #7F2B42; /* Bordeaux */
    line-height: 25px;
    text-align: center;
    margin-bottom: 2em;
}

/* Topic Comment */
.topic-comment {
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    color: #7F2B42; /* Bordeaux */
    line-height: 22px;
    font-style: italic;
    margin-bottom: 1.5em;
}

/* Responsive Adjustments */
@media screen and (max-width: 800px) {
    .container {
        width: 70%;
    }
}

@media screen and (max-width: 600px) {
    .container {
        width: 90%;
        padding: 1.5em;
    }
}

@media screen and (max-width: 400px) {
    .container {
        width: 95%;
        margin: 2.5% auto;
        padding: 1em;
    }
}
