@font-face {
    font-family: 'AllTogetherSerifBold';
    src: url('assets/fonts/AllTogetherSerifW05-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'AllTogetherSansRegular';
    src: url('assets/fonts/AllTogetherSansW05-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background-color: #FFD700; /* M&M's vibrant yellow */
    color: #5A1F06; /* M&M's brown accent */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: auto; /* Allow body height to adapt to content */
    padding: 20px 0;
    margin: 0;
}

.container {
    width: 100%;
    max-width: 360px;
    text-align: center;
    background-color: #FFD700;
    margin-bottom: 20px; /* Add space between sections */
}

.logo {
    width: 40%;
    max-width: 150px;
    margin: 0 auto 20px;
}

h1 {
    font-family: AllTogetherSerifBold;
    font-size: 2em;
    margin-bottom: 20px;
    color: #5A1F06;
}

/* Form field styling */
form input[type="text"],
form input[type="email"] {
    font-family: AllTogetherSansRegular;
    width: 90%;
    max-width: 300px;
    padding: 12px;
    margin: 10px 0;
    border: none;
    border-radius: 20px;
    font-size: 1em;
    text-align: left;
    font-weight: bold;
    color: #5A1F06;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

input::placeholder {
    font-family: AllTogetherSerifBold;
    color: #5A1F06;
    text-align: left;
}

/* Styling the switch container */
.switch-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-family: AllTogetherSansRegular;
    font-size: 1em;
    color: #5A1F06;
    line-height: 1.5;
    margin: 20px 0;
}

/* Styling the switch */
/* Styling the switch */
.switch {
    position: relative;
    display: inline-block;
    width: 50px; /* Width of the toggle track */
    height: 24px; /* Height of the toggle track */
    cursor: pointer;
}

/* Hide the default checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider (background of the switch) */
.slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent; /* Transparent background */
    border: 2px solid #5A1F06; /* Brand brown border for the entire toggle */
    border-radius: 24px; /* Fully rounded slider */
    transition: 0.4s;
    display: flex;
    align-items: center; /* Vertically centers the handle */
    justify-content: flex-start; /* Align handle to the left */
    padding: 0; /* Remove any padding for precise alignment */
}

/* The lentil (toggle handle) */
.slider:before {
    content: "";
    height: 20px; /* Slightly smaller than the track height */
    width: 20px; /* Ensure it remains a circle */
    background-color: transparent; /* Transparent inside */
    border: 2px solid #5A1F06; /* Brand brown border */
    border-radius: 50%; /* Fully rounded */
    transition: 0.4s;
    /* transform: translateX(2px); Start aligned with the left border */
    margin-left: -2px;
}

/* Checked state for the toggle */
.switch input:checked + .slider {
    background-color: #5A1F06; /* Brand brown background when checked */
}

.switch input:checked + .slider:before {
    transform: translateX(26px); /* Move the lentil to the right */
    background-color: white; /* White inside when checked */
    border: none; /* Remove border in checked state */
}


/* Checkbox container */
.checkbox-container {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 20px 0;
}

.checkbox-container input[type="checkbox"] {
    margin-top: 5px;
    transform: scale(1.2);
}

.checkbox-container label p {
    font-family: AllTogetherSansRegular;
    font-size: 0.9em;
    color: #5A1F06;
    text-align: left;
    line-height: 1.5;
}



/* Container for the checkbox and label text */
/* Container for the checkbox and label text */
.checkbox-container {
    display: flex;
    align-items: flex-start;
    margin: 20px 0;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px; /* Space between the checkbox and "YES!" */
    font-family: AllTogetherSansRegular;
    font-size: 0.9em;
    color: #5A1F06;
    line-height: 1.5;
    text-align: left;
}

/* Hide the default checkbox */
.checkbox-label input[type="checkbox"] {
    display: none;
}

/* Custom checkbox styling */
.custom-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #5A1F06; /* Brand brown border */
    border-radius: 4px;
    background-color: transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    flex-shrink: 0;
}

/* Checked state for custom checkbox */
.checkbox-label input[type="checkbox"]:checked + .custom-checkbox {
    background-color: #5A1F06; /* Brand brown background when checked */
}

.checkbox-label input[type="checkbox"]:checked + .custom-checkbox::after {
    content: '✔'; /* Unicode tick mark */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white; /* White tick mark */
    font-size: 14px;
    font-weight: bold;
}

/* Styling for the label text */
.label-text {
    display: inline-block;
    text-align: left;
    line-height: 1.5;
    font-family: AllTogetherSansRegular; font-family: AllTogetherSansRegular;
    font-size: 0.9em;
    color: #5A1F06;
}

.label-text strong {
    font-weight: bold;
    color: #5A1F06; /* Highlight "YES!" */
}



/* Privacy and consent text */
form p {
    font-family: AllTogetherSansRegular;
    font-size: 0.9em;
    color: #5A1F06;
    text-align: left;
    margin: 20px 0;
    line-height: 1.5;
}

form p a {
    color: #5A1F06;
    text-decoration: underline;
    font-weight: bold;
}

a {
    color: #5A1F06;
    text-decoration: underline;
    font-weight: bold;
}

/* Submit button styling */
.submit-button {
    width: 90%;
    max-width: 300px;
    padding: 12px;
    background-color: #5A1F06;
    color: white;
    border: none;
    border-radius: 20px;
    font-size: 1em;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s;
}

.submit-button:hover {
    background-color: #3A2418;
}

/* Adjust characters image */
.characters {
    width: 80%;
    max-width: 300px;
    margin: 20px auto;
}
