/*
 Theme Name: Royal Marriage
 Theme URI: https://royalmarriage.nl
 Author: Dennis de Graaf
 Description: One-page landingspagina voor de Royal Marriage huwelijkscursus.
 Version: 1.1
 License: GNU General Public License v2 or later
 Text Domain: royal-marriage
*/

/* Kleuren */
/* Goud #c9a24b */
/* Donker goud/bruin: #8b6c3a */
/* Warm bruin: #4a3624 */
/* Diep bruin: #5a3b1a */

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: #f7f3ec;
    color: #4a3624;
}

a {
    color: #c9a24b;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    color: #8b6c3a;
}

/* HEADER */

.site-header {
    background: linear-gradient(135deg, #1a2340, #4d3b73);
    color: #f8f0de;
    padding: 40px 20px 35px;
    text-align: center;
}

.site-header .logo img {
    max-width: 340px;   /* groter logo */
    height: auto;
    display: block;
    margin: 0 auto 10px;
}

.site-title {
    font-size: 2.2rem;
    margin: 0;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #f8f0de;
}

.site-subtitle {
    margin-top: 10px;
    font-size: 1rem;
    opacity: 0.95;
    color: #f8f0de;
}

/* HERO */

.hero {
    padding: 40px 20px 20px;
    text-align: center;
}

.hero h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    color: #5a3b1a;
}

.hero p {
    max-width: 700px;
    margin: 0 auto 10px;
    color: #634531;
}

.hero-highlight {
    font-weight: 600;
    margin-top: 10px;
    color: #c9a24b;
}

/* SECTIONS */

.section {
    padding: 40px 20px;
    max-width: 900px;
    margin: 0 auto;
    background-color: #fff;
    margin-bottom: 20px;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.04);
}

.section h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.4rem;
    color: #5a3b1a;
}

.program-list,
.topics-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.program-list li,
.topics-list li {
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}

.program-list li:last-child,
.topics-list li:last-child {
    border-bottom: none;
}

/* BADGE */

.badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.8rem;
    background-color: #f3e4c5;
    color: #8b6c3a;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* FORMULIER */

.form-section {
    border-top: 3px solid #f3e4c5;
}

.rm-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    margin-top: 15px;
}

.rm-form .full-width {
    grid-column: 1 / -1;
}

.rm-form label {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 4px;
    font-weight: 600;
    color: #5a3b1a;
}

.rm-form input[type="text"],
.rm-form input[type="email"],
.rm-form input[type="tel"],
.rm-form textarea,
.rm-form select {
    width: 100%;
    padding: 9px 10px;
    border-radius: 6px;
    border: 1px solid #d7c5a5;
    font-size: 0.95rem;
    box-sizing: border-box;
    color: #4a3624;
}

.rm-form textarea {
    min-height: 90px;
    resize: vertical;
}

.rm-form .checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.9rem;
}

.rm-form .checkbox-label input[type="checkbox"] {
    margin-top: 3px;
}

.rm-form button[type="submit"] {
    padding: 10px 18px;
    border-radius: 999px;
    border: none;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    background: linear-gradient(135deg, #8b6c3a, #c9a24b);
    color: #fff;
    transition: transform 0.05s ease, box-shadow 0.05s ease;
}

.rm-form button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(0,0,0,0.15);
}

/* MELDINGEN */

.rm-message {
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 0.9rem;
}

.rm-message.success {
    background-color: #e6f9ec;
    border: 1px solid #7abf83;
    color: #2d6a3f;
}

.rm-message.error {
    background-color: #fde4e4;
    border: 1px solid #f19999;
    color: #8c2424;
}

/* FOOTER */

.site-footer {
    text-align: center;
    padding: 20px;
    font-size: 0.85rem;
    color: #7f6e5a;
}

/* RESPONSIVE */

@media (max-width: 768px) {
    .rm-form {
        grid-template-columns: 1fr;
    }

    .site-header .logo img {
        max-width: 260px;
    }
}
