/* Scoped components: no remote fonts or libraries. The website theme provides its general styling. */
.ofe-contact,.ofe-login,.ofe-events,.ofe-event-details { --ofe-ink:#253c31; --ofe-paper:#fffdf9; --ofe-line:#dddcd0; color:var(--ofe-ink); font-family:'Segoe UI',Arial,sans-serif; line-height:1.65; }
.ofe-contact,.ofe-login { padding:clamp(22px,4vw,38px); border:1px solid var(--ofe-line); border-radius:24px; background:var(--ofe-paper); }
.ofe-contact h2,.ofe-login h2,.ofe-event-card h2 { font-family:'Palatino Linotype','Book Antiqua',Georgia,serif; font-size:clamp(30px,4vw,42px); font-weight:400; line-height:1.15; margin:0 0 18px; }
.ofe-contact p,.ofe-login p { margin:0 0 24px; }
.ofe-contact-form label,.ofe-login label { display:block; font-size:14px; font-weight:500; margin-bottom:20px; }
.ofe-contact-form input,.ofe-contact-form textarea,.ofe-contact-form select,.ofe-login input:not([type=checkbox]):not([type=submit]) { display:block; width:100%; box-sizing:border-box; margin-top:8px; padding:13px 14px; border:1px solid var(--ofe-line); border-radius:10px; background:#f8f7ef; color:var(--ofe-ink); font:inherit; }
.ofe-contact-form textarea { resize:vertical; }
.ofe-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ofe-button,.ofe-login input[type=submit] { display:inline-flex; align-items:center; justify-content:center; gap:25px; min-height:52px; padding:14px 25px; box-sizing:border-box; border:0; border-radius:35px; background:#4b6b46; color:#fff; text-decoration:none; font:600 14px/1.5 'Segoe UI',Arial,sans-serif; cursor:pointer; }
.ofe-button:hover,.ofe-login input[type=submit]:hover { background:#344f31; color:#fff; }
.ofe-button:disabled { opacity:.6; cursor:wait; }
.ofe-contact-form :focus-visible,.ofe-login :focus-visible,.ofe-events a:focus-visible { outline:3px solid #d29151; outline-offset:4px; }
.ofe-contact .ofe-fineprint { font-size:12px; }
.ofe-contact .ofe-fineprint a { text-decoration:underline; }
.ofe-contact .ofe-form-status { margin:20px 0 0; font-size:14px; overflow-wrap:anywhere; }
.ofe-contact .ofe-error { color:#923d2c; }
.ofe-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ofe-events { display:grid; gap:30px; }
.ofe-event-card { display:grid; grid-template-columns:1fr 1.1fr; border:1px solid var(--ofe-line); border-radius:22px; overflow:hidden; background:var(--ofe-paper); }
.ofe-event-image img { display:block; width:100%; height:100%; min-height:320px; object-fit:cover; }
.ofe-event-copy { padding:clamp(24px,4vw,42px); min-width:0; }
.ofe-event-copy>p { margin:20px 0; }
.ofe-no-image { grid-template-columns:1fr; }
.ofe-facts { margin:25px 0; }
.ofe-facts>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:18px; padding:13px 0; border-bottom:1px solid var(--ofe-line); }
.ofe-facts dt { font-size:13px; }
.ofe-facts dd { margin:0; font-size:15px; overflow-wrap:anywhere; }
.ofe-event-details { margin-top:30px; }
.ofe-event-details>p { white-space:normal; margin:24px 0; }
.ofe-notice { padding:18px 22px; border:1px solid var(--ofe-line); border-radius:14px; }
@media(max-width:760px) { .ofe-event-card { grid-template-columns:1fr; } .ofe-event-image img { max-height:320px; } }
@media(max-width:520px) { .ofe-form-row { grid-template-columns:1fr; gap:0; } .ofe-facts>div { grid-template-columns:80px minmax(0,1fr); gap:12px; } }
