/* --- Volledige style.css (inclusief footer fix en formulier transparantie) --- */

/* Sectie Styling & Uitlijning */
.content-section { 
    padding: 120px 20px 80px; 
    position: relative; 
    min-height: 100vh; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    border-top: 4px solid var(--champagne); 
    box-shadow: 0 -15px 30px rgba(0,0,0,0.7); 
    z-index: 2; 
}
#home { border-top: none; box-shadow: none; z-index: 1; }

.bg-light { background-color: #F4F1EA; }
.container { max-width: 1100px; margin: 0 auto; position: relative; z-index: 3; width: 100%; }
.text-center { text-align: center; }
.mt-30 { margin-top: 30px; }
.mt-50 { margin-top: 50px; }
.intro-text { font-size: 1.2em; max-width: 800px; margin: 0 auto 40px; color: var(--antraciet); }

/* Goudfolie Effect voor Accentletters */
.grote-boek-accent { 
    font-family: 'Great Vibes', cursive; 
    font-size: 2.5em; margin-bottom: -15px; display: block; text-align: center; 
    z-index: 2; position: relative;
    background: linear-gradient(to bottom, #FFF1C5 0%, #E6C27A 30%, #B8860B 60%, #FFF1C5 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.3));
}

/* Sfeervol Tekstkader voor Introducties */
.intro-box {
    background: rgba(92, 45, 115, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(230, 194, 122, 0.6);
    padding: 30px 40px;
    border-radius: 8px;
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
    box-shadow: 0 15px 30px rgba(0,0,0,0.3);
}
.intro-box p {
    color: #f0f0f0;
    font-size: 1.1em;
    line-height: 1.7;
    margin-bottom: 15px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.intro-box p:last-child {
    margin-bottom: 0;
    color: var(--champagne);
    font-style: italic;
    font-size: 0.95em;
}

/* Elegante Gouden Scheidingslijn (Divider) */
.divider-gold { display: flex; align-items: center; justify-content: center; margin: 15px auto 35px; gap: 15px; z-index: 2; position: relative; width: 100%; }
.divider-gold::before, .divider-gold::after { content: ''; width: 60px; height: 2px; background-color: var(--champagne); box-shadow: 0 1px 3px rgba(0,0,0,0.3); }

/* Glim-effect voor de Lelie */
@keyframes glim-lelie {
    0% { text-shadow: 0 0 5px rgba(230, 194, 122, 0.2); }
    50% { text-shadow: 0 0 15px rgba(230, 194, 122, 1), 0 0 25px rgba(230, 194, 122, 0.6); }
    100% { text-shadow: 0 0 5px rgba(230, 194, 122, 0.2); }
}
.divider-icon { font-size: 1.8em; color: var(--champagne); line-height: 1; font-family: "Times New Roman", serif; animation: glim-lelie 3s infinite alternate; }

/* Sierlijke Gouden Vinkjes Lijst */
.sierlijke-lijst { list-style: none; padding: 0; margin: 0; text-align: left; }
.sierlijke-lijst li { position: relative; padding-left: 35px; margin-bottom: 15px; }
.sierlijke-lijst li::before { content: '\2713'; position: absolute; left: 0; top: -2px; color: var(--champagne); font-size: 1.3em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.1); }

/* Grid Lay-outs */
.grid-2-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.text-block { background: var(--wit); padding: 30px; border-radius: 4px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); border-top: 3px solid var(--koningspaars-licht); position: relative; }
.border-box { border: 1px solid rgba(230, 194, 122, 0.4); }

/* Prijzen Tabel Luxe Opmaak */
.table-container { max-width: 700px; margin: 0 auto 30px; background: var(--wit); border-radius: 4px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); overflow: hidden; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 20px; text-align: left; border-bottom: 1px solid #eee; }
th { background-color: var(--bordeaux); color: var(--champagne); font-family: 'Playfair Display', serif; font-size: 1.1em; letter-spacing: 1px; }
tr:hover td { background-color: rgba(230, 194, 122, 0.1); }

/* Fluweel & Goud Formulieren (Met melkglas transparantie) */
.luxe-form { 
    position: relative; z-index: 1; 
    background: linear-gradient(135deg, rgba(92, 45, 115, 0.75) 0%, rgba(58, 28, 74, 0.85) 100%); 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px);
    padding: 40px; border-radius: 8px; max-width: 700px; margin: 0 auto; 
    border: 1px solid rgba(230, 194, 122, 0.4); 
    box-shadow: 0 15px 40px rgba(0,0,0,0.3); 
} 
.luxe-form h1 { color: var(--champagne) !important; }
.luxe-form h2 { color: var(--champagne) !important; border-bottom-color: rgba(230, 194, 122, 0.3); }

.form-groep { margin-bottom: 30px; text-align: left; position: relative; }
.form-groep label { display: block; margin-bottom: 8px; font-family: 'Playfair Display', serif; color: var(--champagne); font-size: 1.1em; letter-spacing: 0.5px; }

/* De 'onderstreepte' invulvelden */
.form-groep input, .form-groep textarea, .form-groep select { 
    width: 100%; 
    padding: 12px 15px 12px 35px; 
    border: none; 
    border-bottom: 1px solid rgba(230, 194, 122, 0.4); 
    border-radius: 4px 4px 0 0; 
    font-family: 'Lato', sans-serif; font-size: 1.05em; transition: all 0.3s ease; 
    background-color: rgba(255, 255, 255, 0.04); 
    color: var(--wit); 
}
.form-groep input:focus, .form-groep textarea:focus, .form-groep select:focus { 
    outline: none; border-bottom: 2px solid var(--champagne); background-color: rgba(255, 255, 255, 0.08); 
}
.form-groep input::placeholder, .form-groep textarea::placeholder { color: rgba(255,255,255,0.3); }

/* Dropdown opties leesbaar maken (donkere achtergrond, donkere tekst) */
.form-groep select option {
    background-color: var(--wit);
    color: var(--antraciet);
}

/* SVG Icoontjes in de invulvelden */
input[name="naam"], input[name="boeking_naam"], input[name="kind_naam[]"] { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23E6C27A" viewBox="0 0 16 16"><path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/></svg>'); background-repeat: no-repeat; background-position: 10px center; }
input[name="email"], input[name="boeking_email"] { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23E6C27A" viewBox="0 0 16 16"><path d="M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555zM0 4.697v7.104l5.803-3.558L0 4.697zM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757zm3.436-.586L16 11.801V4.697l-5.803 3.546z"/></svg>'); background-repeat: no-repeat; background-position: 10px center; }
input[name="telefoon"], input[name="boeking_telefoon"] { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23E6C27A" viewBox="0 0 16 16"><path d="M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328z"/></svg>'); background-repeat: no-repeat; background-position: 10px center; }
input[name="adres"], input[name="boeking_adres"] { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23E6C27A" viewBox="0 0 16 16"><path d="M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5z"/></svg>'); background-repeat: no-repeat; background-position: 10px center; }
input[name="datum_tijd"], select[name="boeking_datum"] { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23E6C27A" viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/></svg>'); background-repeat: no-repeat; background-position: 10px center; }

/* Velden zonder icoon padding resetten */
input[name="postcode"], input[name="woonplaats"], input[name="cadeaus_verstopt"], input[name="kind_leeftijd[]"], textarea, select { padding-left: 15px; }
select[name="boeking_datum"] { padding-left: 35px; }

/* Footer fix (paarse achtergrond) */
footer { 
    background-color: var(--koningspaars); 
    color: var(--champagne); 
    text-align: center; 
    padding: 40px 20px; 
    font-family: 'Playfair Display', serif; 
    border-top: 4px solid var(--champagne); 
}

/* Mobiele Responsiviteit Fixes */
@media (max-width: 900px) {
    .grid-2-col { grid-template-columns: 1fr; gap: 30px; }
    .content-section { padding: 100px 15px 60px; min-height: auto; }
}
@media (max-width: 600px) {
    .luxe-form { padding: 25px 15px; }
    .intro-box { padding: 25px 20px; }
}

/* --- reCAPTCHA Styling & Verbergen Badge --- */
.grecaptcha-badge { display: none !important; }
.recaptcha-text { font-size: 0.85em; color: rgba(255,255,255,0.5); text-align: center; margin-top: 15px; margin-bottom: 20px; line-height: 1.4; }
.recaptcha-text a { color: var(--champagne); text-decoration: none; }
.recaptcha-text a:hover { text-decoration: underline; }
