/* Aanvullingen op het Statamic-ontwerp (app.css blijft ongewijzigd). */
.form-melding { margin: 0 0 18px; padding: 10px 14px; border-radius: 6px; font-weight: 600; }
.form-melding.ok { background: rgba(255, 255, 255, .92); color: #15803d; }
.form-melding.fout { background: rgba(255, 255, 255, .92); color: #b91c1c; }

/* Homepage: foto rechts in de banner. Vast 3:2-kader, zodat een andere foto (bewerkmodus) de banner niet hoger maakt. */
.banner-foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; box-shadow: 0 0 30px rgba(0, 0, 0, .1); }
@media (max-width: 991.98px) { .banner-foto { margin-top: 60px; } } /* compenseert margin-bottom:-45px van .banner-content */
@media (max-width: 767.98px) { .banner-foto { margin-top: 10px; } }

/* Homepage: de lege zeshoek bij "Advies" geeft op de telefoon ~500px wit (het thema verbergt daar de gele strepen). */
@media (max-width: 767.98px) { .about-img-wrap { display: none; } }

/* Fotovergroting (.popup-image): Magnific Popup 1.2.0 (MIT; dezelfde CSS als 1.1.0). Het thema laadt de JS, maar de CSS ontbrak.
   Alleen de image-popup met gallery; hydrotec.js zet de Nederlandse teksten. Afwijkingen van het origineel:
   sluitknop 44x44 rechtsboven (origineel: balk over de volle breedte) en een oranje focusrand. */
.mfp-bg { position: fixed; top: 0; left: 0; z-index: 1042; width: 100%; height: 100%; overflow: hidden; background: #0b0b0b; opacity: .8; }
.mfp-wrap { position: fixed; top: 0; left: 0; z-index: 1043; width: 100%; height: 100%; outline: none !important; -webkit-backface-visibility: hidden; }
.mfp-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 0 8px; box-sizing: border-box; text-align: center; }
.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; }
.mfp-content { position: relative; z-index: 1045; display: inline-block; margin: 0 auto; vertical-align: middle; text-align: left; }
.mfp-image-holder .mfp-content { max-width: 100%; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: zoom-out; }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }
.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter { -webkit-user-select: none; user-select: none; }
.mfp-loading.mfp-figure, .mfp-s-ready .mfp-preloader, .mfp-s-error .mfp-content { display: none; }
.mfp-preloader { position: absolute; top: 50%; left: 8px; right: 8px; z-index: 1044; width: auto; margin-top: -.8em; color: #ccc; text-align: center; }
button.mfp-close, button.mfp-arrow { display: block; z-index: 1046; overflow: visible; padding: 0; border: 0; background: transparent; box-shadow: none; cursor: pointer; -webkit-appearance: none; touch-action: manipulation; }
.mfp-close { position: absolute; top: 0; right: 0; width: 44px; height: 44px; line-height: 44px; color: #fff; font-family: Arial, Baskerville, monospace; font-size: 28px; font-style: normal; text-align: center; text-decoration: none; opacity: .65; }
.mfp-close:hover, .mfp-close:focus { opacity: 1; }
.mfp-close:active { top: 1px; }
.mfp-arrow { position: absolute; top: 50%; width: 90px; height: 110px; margin: -55px 0 0; padding: 0; opacity: .65; -webkit-tap-highlight-color: transparent; }
.mfp-arrow:active { margin-top: -54px; }
.mfp-arrow:hover, .mfp-arrow:focus { opacity: 1; }
.mfp-arrow:before, .mfp-arrow:after { content: ''; position: absolute; top: 0; left: 0; display: block; width: 0; height: 0; margin-top: 35px; margin-left: 35px; border: medium inset transparent; }
.mfp-arrow:after { top: 8px; border-top-width: 13px; border-bottom-width: 13px; }
.mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: .7; }
.mfp-arrow-left { left: 0; }
.mfp-arrow-left:after { margin-left: 31px; border-right: 17px solid #fff; }
.mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3f3f3f; }
.mfp-arrow-right { right: 0; }
.mfp-arrow-right:after { margin-left: 39px; border-left: 17px solid #fff; }
.mfp-arrow-right:before { border-left: 27px solid #3f3f3f; }
.mfp-close:focus-visible, .mfp-arrow:focus-visible { outline: 3px solid #F7A400; outline-offset: -3px; }
.popup-image:focus-visible { outline: 3px solid #F7A400; outline-offset: 3px; } /* het thema zet a:focus op outline:none */
img.mfp-img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; padding: 40px 0; line-height: 0; box-sizing: border-box; }
.mfp-figure { line-height: 0; }
.mfp-figure:after { content: ''; position: absolute; top: 40px; right: 0; bottom: 40px; left: 0; z-index: -1; display: block; background: #444; box-shadow: 0 0 8px rgba(0, 0, 0, .6); }
.mfp-figure figure { margin: 0; }
.mfp-bottom-bar { position: absolute; top: 100%; left: 0; width: 100%; margin-top: -36px; cursor: auto; }
.mfp-title { padding-right: 36px; color: #f3f3f3; line-height: 18px; text-align: left; word-wrap: break-word; }
.mfp-counter { position: absolute; top: 0; right: 0; color: #ccc; font-size: 12px; line-height: 18px; white-space: nowrap; }
@media (max-width: 900px) {
    .mfp-arrow { transform: scale(.75); }
    .mfp-arrow-left { transform-origin: 0; }
    .mfp-arrow-right { transform-origin: 100%; }
    .mfp-container { padding-left: 6px; padding-right: 6px; }
}

/* Aanvraagformulier op Contact en Offerte (opmaak van het thema: contact__form-wrap), in de tekstkolom. */
.aanvraag-form { margin: 40px 0 0; }
/* Na versturen springt de pagina naar het formulier; de vaste menubalk mag de melding dan niet afdekken. */
#aanvraag, #terugbellen { scroll-margin-top: 120px; }
.aanvraag-form .title { font-size: 26px; }
/* Hoger dan de themaregel (.contact__form-wrap form .form-grp textarea zet de hoogte vast op 130px). */
.aanvraag-form form .form-grp textarea { min-height: 150px; max-height: 480px; resize: vertical; }
.aanvraag-form .form-grp input:focus, .aanvraag-form .form-grp textarea:focus { outline: 2px solid #1d4e9c; outline-offset: 1px; }
.aanvraag-form .btn { margin-top: 6px; }
.aanvraag-form .form-melding { border: 1px solid currentColor; }
.aanvraag-form .aanvraag-privacy { margin: 18px 0 0; font-size: 14px; }

/* Voet: "Website door Dunnink IT" rechts in de onderste balk (op de telefoon onder het copyright). */
.maker-credit { margin: 0; font-size: 14px; text-align: right; }
.maker-credit a { display: inline-flex; align-items: center; gap: 8px; color: inherit; opacity: .8; transition: opacity .2s; }
.maker-credit a:hover, .maker-credit a:focus-visible { opacity: 1; }
.maker-credit img { display: block; width: auto; height: 22px; }
@media (max-width: 991.98px) { .maker-credit { margin-top: 14px; text-align: center; } } /* net als het copyright erboven */
