/*
 * Stichting EGO – theme additions on top of app.css (the design system compiled from the original site).
 * Contents: utilities missing from app.css, pop-ups, animations, text formatting, form styling.
 */

/* ---------- Utilities used by WordPress templates ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.ego-skip-link:focus{position:fixed!important;top:.5rem;left:.5rem;z-index:100;background:#0e6253;color:#fff;padding:.6rem 1rem;border-radius:.5rem;font-weight:600}
.aspect-\[16\/9\]{aspect-ratio:16/9}
.h-40{height:10rem}.w-40{width:10rem}.h-auto{height:auto}.mr-auto{margin-right:auto}
.py-24{padding-top:6rem;padding-bottom:6rem}
.text-6xl{font-size:3.75rem;line-height:1}
.underline{text-decoration-line:underline}
@media (min-width:40rem){.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:text-7xl{font-size:4.5rem;line-height:1}}
[hidden]{display:none!important}
.ego-bg-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
html{scroll-padding-top:120px}
.min-h-screen>main{min-width:0}

/* ---------- Pop-ups ---------- */
.ego-modal{display:flex}
.ego-modal .ego-modal-panel{opacity:0;transform:translateY(20px) scale(.95);transition:opacity .25s ease,transform .25s ease}
.ego-modal.is-open .ego-modal-panel{opacity:1;transform:none}
.ego-modal>[data-ego-close]{opacity:0;transition:opacity .2s ease}
.ego-modal.is-open>[data-ego-close]{opacity:1}
html.ego-locked{overflow:hidden}
.ego-pop{animation:ego-pop .12s ease-out}
.ego-slide-down{animation:ego-slide .15s ease-out}
@keyframes ego-pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
@keyframes ego-slide{from{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:none}}

/* ---------- Scroll reveal (replaces Framer Motion) ---------- */
.ego-js [data-reveal]{opacity:0;transition:opacity .6s ease,transform .6s ease;transition-delay:var(--ego-delay,0ms);will-change:opacity,transform}
.ego-js [data-reveal="up"]{transform:translateY(24px)}
.ego-js [data-reveal="left"]{transform:translateX(-30px)}
.ego-js [data-reveal="right"]{transform:translateX(30px)}
.ego-js [data-reveal="zoom"]{transform:scale(.95)}
.ego-js [data-reveal].is-visible{opacity:1;transform:none}
.ego-gallery-item{opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease,box-shadow .3s ease;transition-delay:var(--ego-delay,0ms)}
.ego-gallery-item.is-shown{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ego-js [data-reveal],.ego-gallery-item{opacity:1!important;transform:none!important;transition:none!important}.animate-ping,.animate-pulse{animation:none}}

/* ---------- Text written in the editor ---------- */
.ego-rich>p{margin-top:0}
.ego-rich a{color:#0e6253;text-decoration:underline}
.ego-rich ul{list-style:disc;padding-left:1.25rem}
.ego-rich ol{list-style:decimal;padding-left:1.25rem}
.ego-rich-programs strong,.ego-rich-programs b{color:#c5761a;font-weight:700}
.ego-rich-programs ul{display:flex;flex-direction:column;gap:.5rem;color:#4b5563}
.ego-rich-programs li{padding-left:.25rem;font-weight:500;color:#1f2937}
.ego-rich-programs ul+p{padding-top:.5rem}

.ego-prose{color:#4b5563;font-size:1rem;line-height:1.75}
.ego-prose>*+*{margin-top:1.25em}
.ego-prose h2,.ego-prose h3,.ego-prose h4{color:#030712;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-top:2em}
.ego-prose h2{font-size:1.75rem}.ego-prose h3{font-size:1.375rem}.ego-prose h4{font-size:1.125rem}
.ego-prose a{color:#0e6253;text-decoration:underline;text-underline-offset:2px}
.ego-prose a:hover{color:#0a4d41}
.ego-prose ul{list-style:disc;padding-left:1.5rem}.ego-prose ol{list-style:decimal;padding-left:1.5rem}
.ego-prose li+li{margin-top:.4em}
.ego-prose blockquote{border-left:3px solid #0e6253;padding-left:1rem;font-style:italic;color:#374151}
.ego-prose img{border-radius:1rem;height:auto}
.ego-prose figcaption{font-size:.8rem;color:#6b7280;margin-top:.5rem;text-align:center}
.ego-prose .alignwide{max-width:none}
.ego-prose .wp-block-button__link{background:#0e6253;color:#fff;border-radius:9999px;padding:.75rem 1.75rem;font-weight:600;text-decoration:none}
.ego-prose input[type=text],.ego-prose input[type=email],.ego-prose textarea{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#faf8f5}

/* Pagination */
.ego-pagination .nav-links{display:flex;justify-content:center;gap:.5rem}
.ego-pagination .page-numbers{width:2rem;height:2rem;border-radius:.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#374151}
.ego-pagination .page-numbers:hover{background:#f3f4f6}
.ego-pagination .page-numbers.current{background:#0e6253;color:#fff}

/* ---------- Forms (Contact Form 7) ---------- */
.ego-admin-note{font-size:.75rem;font-weight:600;color:#c5761a;background:#fff7ed;border:1px dashed #f59e0b;border-radius:.5rem;padding:.75rem 1rem}
.ego-cf7{text-align:left}
.ego-cf7 .wpcf7-form-control-wrap{display:block}
.ego-cf7 input[type=text],.ego-cf7 input[type=email],.ego-cf7 input[type=tel],.ego-cf7 select,.ego-cf7 textarea{width:100%;font:inherit;font-size:.875rem;color:#111827;border:1px solid #e5e7eb;border-radius:.5rem;transition:all .15s ease;-webkit-appearance:none;appearance:none}
.ego-cf7 select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem!important}
.ego-cf7 ::placeholder{color:#9ca3af}
.ego-cf7 input:focus,.ego-cf7 select:focus,.ego-cf7 textarea:focus{outline:none;border-color:#0e6253;background-color:#fff}
.ego-cf7 textarea{resize:none}
.ego-cf-label{display:block;color:#374151}
.ego-cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ego-cf-grid--sm{grid-template-columns:1fr;gap:1rem}
@media (min-width:40rem){.ego-cf-grid--sm{grid-template-columns:1fr 1fr}}
.ego-cf7 .ego-cf-submit{cursor:pointer;color:#fff;border:0;font:inherit;font-weight:600;transition:all .2s ease}
.ego-cf7 .ego-cf-submit:active{transform:scale(.99)}
.ego-cf7 .wpcf7-not-valid-tip{display:block;color:#dc2626;font-size:.75rem;margin-top:.25rem}
.ego-cf7 .wpcf7-not-valid{border-color:#fca5a5!important}
.ego-cf7 .wpcf7-spinner{display:none}
.ego-cf7.submitting .ego-cf-submit{opacity:.7;cursor:wait}
.ego-cf7 .wpcf7-response-output{margin:1rem 0 0;font-size:.8125rem;border-radius:.75rem;padding:.75rem 1rem}
.ego-cf7 .wpcf7-response-output:empty{display:none}
.ego-cf7.invalid .wpcf7-response-output,.ego-cf7.unaccepted .wpcf7-response-output,.ego-cf7.failed .wpcf7-response-output,.ego-cf7.spam .wpcf7-response-output{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
/* Success: hide the fields and show the thank-you message, as on the original site. */
.ego-cf7.sent>*:not(.wpcf7-response-output){display:none}
.ego-cf7.sent .wpcf7-response-output{background:#e6f4f1;border:1px solid rgba(14,98,83,.3);color:#0e6253;text-align:center;font-size:.9375rem;font-weight:600;padding:1.5rem 1.5rem 1.5rem;margin:0}
.ego-cf7.sent .wpcf7-response-output::before{content:"";display:block;width:2.5rem;height:2.5rem;margin:0 auto .5rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e6253' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}

/* Contact section form */
.ego-cf7--contact .ego-cf-field{margin-bottom:1.25rem}
.ego-cf7--contact .ego-cf-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}
.ego-cf7--contact input,.ego-cf7--contact textarea{padding:.75rem 1rem;background-color:#faf8f5}
.ego-cf7--contact .ego-cf-submit{width:100%;background:#0e6253;padding:.875rem 1rem;border-radius:.5rem;font-size:.875rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ego-cf7--contact .ego-cf-submit:hover{background:#0a4d41}

/* Pop-up forms */
.ego-cf7--enroll>.ego-cf-field,.ego-cf7--enroll>.ego-cf-grid,.ego-cf7--volunteer>.ego-cf-field,.ego-cf7--volunteer>.ego-cf-grid,.ego-cf7--partner>.ego-cf-field,.ego-cf7--partner>.ego-cf-grid{margin-bottom:1rem}
.ego-cf7--enroll .ego-cf-label,.ego-cf7--volunteer .ego-cf-label{font-size:.75rem;font-weight:700;text-transform:uppercase;margin-bottom:.25rem}
.ego-cf7--partner .ego-cf-label{font-size:.75rem;font-weight:600;margin-bottom:.25rem}
.ego-cf7--enroll input,.ego-cf7--enroll select,.ego-cf7--volunteer input,.ego-cf7--volunteer textarea,.ego-cf7--partner input,.ego-cf7--partner select,.ego-cf7--partner textarea{padding:.625rem .875rem;background-color:#f9fafb}
.ego-cf7--enroll .ego-cf-submit,.ego-cf7--volunteer .ego-cf-submit{width:100%;margin-top:.5rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ego-cf7--enroll .ego-cf-submit{background:#e78b2f}.ego-cf7--enroll .ego-cf-submit:hover{background:#d97706}
.ego-cf7--volunteer .ego-cf-submit{background:#0e6253}.ego-cf7--volunteer .ego-cf-submit:hover{background:#0a4d41}
.ego-cf-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:.5rem}
.ego-cf-cancel{padding:.625rem 1rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;color:#4b5563;background:none;border:0;cursor:pointer}
.ego-cf-cancel:hover{background:#f3f4f6}
.ego-cf7--partner .ego-cf-submit{padding:.625rem 1.5rem;border-radius:.5rem;font-size:.8125rem;background:#0e6253}
.ego-cf7--partner .ego-cf-submit:hover{background:#0b4d41}

/* E-mail sign-up banners */
.ego-cf7--newsletter .ego-cf-inline{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.ego-cf7--newsletter .wpcf7-form-control-wrap{width:100%}
.ego-cf7--newsletter input[type=email]{background:#fff;border:0;border-radius:9999px;padding:.75rem 1rem;font-size:.8125rem;color:#111827}
.ego-cf7--newsletter .ego-cf-submit{width:100%;border-radius:9999px;padding:.75rem 1.5rem;font-size:.8125rem;white-space:nowrap;flex-shrink:0}
.ego-subscribe--split .ego-cf-submit{background:#c5761a;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ego-subscribe--split .ego-cf-submit:hover{background:#b06713}
.ego-subscribe--split input[type=email]:focus{box-shadow:0 0 0 2px #c5761a}
.ego-subscribe--pill .ego-cf-submit{background:#c97a1e;font-weight:700;box-shadow:0 4px 6px rgba(0,0,0,.1)}
.ego-subscribe--pill .ego-cf-submit:hover{background:#b06716}
.ego-subscribe .wpcf7-response-output{color:#fff}
.ego-subscribe .ego-cf7.sent .wpcf7-response-output{background:rgba(255,255,255,.95);color:#111827;border:0;border-radius:9999px;padding:.875rem 1.5rem;font-size:.8125rem;font-weight:500}
.ego-subscribe .ego-cf7.sent .wpcf7-response-output::before{display:none}
@media (min-width:40rem){
	.ego-cf7--newsletter .ego-cf-inline{flex-direction:row;gap:.5rem}
	.ego-subscribe--split .ego-cf-inline{gap:.5rem}
	.ego-subscribe--split input[type=email]{border-radius:9999px 0 0 9999px}
	.ego-subscribe--split .ego-cf-submit{width:auto;border-radius:0 9999px 9999px 0}
	.ego-subscribe--pill .ego-cf-inline{gap:0;background:#fff;border-radius:9999px;padding:.375rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
	.ego-subscribe--pill input[type=email]{background:transparent;padding:.625rem 1.25rem}
	.ego-subscribe--pill .ego-cf-submit{width:auto}
}
@media (min-width:40rem){.ego-cf7--newsletter input[type=email],.ego-cf7--newsletter .ego-cf-submit{font-size:.875rem}}
