.public-image-field{margin:16px 0;padding:15px;border:1px solid #cbd8cc;border-radius:10px;background:#f7faf7}
.public-image-field>label{display:block;margin-bottom:8px}
.public-image-field input[type=file]{display:block;max-width:100%;margin-top:10px}
.public-image-field small{display:block;margin-top:8px}
.public-image-preview{display:block;width:min(100%,280px);height:155px;object-fit:cover;border-radius:9px;margin:10px 0}
@media(max-width:760px){.hero-emblem.has-custom-image{display:grid;width:100%;height:180px;max-width:340px;border-radius:14px;margin-top:8px}.hero-emblem.has-custom-image img{width:100%;height:100%;object-fit:cover;border-radius:14px}}
.instagram-feature { display: inline-flex; align-items: center; gap: 9px; border: 2px solid currentColor; border-radius: 10px; padding: 10px 13px; font-weight: 800; white-space: nowrap; }
.instagram-feature img { width: 23px; height: 23px; object-fit: contain; }
#instagramTop:empty { display: none; }
.public-push { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; border-top: 1px solid #d4d8d4; }
.public-push p { max-width: 700px; }
#publicPushButton { border: 0; border-radius: 9px; background: #202326; color: #fff; font: 700 1rem Arial, sans-serif; padding: 15px 20px; cursor: pointer; min-width: 250px; }
#publicPushButton:disabled { opacity: .65; cursor: not-allowed; }
#publicPushHint { max-width: 300px; font-size: .85rem; }
@media(max-width:760px){.site-header nav .instagram-feature{display:inline-flex!important}.site-header nav{align-items:center}.instagram-feature{padding:8px}.instagram-feature img{width:22px;height:22px}.public-push{grid-template-columns:1fr}#publicPushButton{width:100%}}
.public-calendar-link{display:inline-flex;margin-top:12px;padding:10px 14px;border:1px solid currentColor;border-radius:8px;font-weight:800;text-decoration:none}
.helper-needed{display:block;width:max-content;max-width:100%;padding:5px 9px;margin-top:8px;border-radius:7px;background:#ffefd0;color:#593900;font-size:.83rem}

/* Öffentliche Termine: lesbare Karten statt schmaler Textspalten. */
.social-top[hidden]{display:none}
.social-top{background:var(--theme-paper,#fff);border-bottom:1px solid #d9ded9}
.social-top-inner{max-width:1280px;margin:auto;padding:11px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.social-top-label{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.social-top-links{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.social-top .social-link{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-size:.9rem;line-height:1.2}
.social-top .instagram-feature{border-width:1px}
.social-top .social-icon{width:20px;height:20px;object-fit:contain}
body:not(.display-mode) .event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
body:not(.display-mode) .public-event{display:flex;flex-direction:column;gap:17px;padding:23px;min-width:0}
.public-event-summary{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:18px;width:100%}
.public-event-content{min-width:0}
body:not(.display-mode) .public-event h3{font-size:clamp(1.3rem,1.8vw,1.65rem);line-height:1.25;margin:5px 0 9px;overflow-wrap:anywhere}
body:not(.display-mode) .event-meta{font-size:1rem;line-height:1.5;margin:0}
body:not(.display-mode) .event-description{font-size:.95rem;line-height:1.5;margin:12px 0 0}
.public-event-image-link{display:flex;flex-direction:column;align-items:center;width:100%;padding:12px;border:1px solid #e0e4df;border-radius:11px;background:#f7f8f6;color:var(--theme-primary,#1c663b);text-decoration:none;cursor:zoom-in}
body:not(.display-mode) .public-event-image{display:block;width:100%;height:auto;max-height:390px;object-fit:contain;border-radius:5px;align-self:center}
.public-event-helper-area{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:14px 0 0;border-top:1px solid #e2e7e2}
.public-event-helper-info{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.public-event-helper-area .helper-needed{margin:0;padding:7px 10px;font-size:.9rem}
.public-event-helper-area .event-helper{display:inline-flex;align-items:center;min-height:42px;margin:0;padding:10px 14px;border-radius:8px;background:var(--theme-primary,#1c663b);color:#fff!important;text-decoration:none;font-size:.96rem;line-height:1.2}
@media(max-width:950px){body:not(.display-mode) .event-grid{grid-template-columns:1fr}}
@media(max-width:540px){.social-top-inner{align-items:flex-start;gap:8px}.social-top-label{width:100%}.social-top-links{gap:7px}.social-top .social-link{font-size:.84rem;padding:7px 10px}body:not(.display-mode) .public-event{padding:17px;gap:15px}.public-event-summary{grid-template-columns:65px minmax(0,1fr);gap:12px}body:not(.display-mode) .public-event h3{font-size:1.25rem}body:not(.display-mode) .event-meta{font-size:.94rem}.public-event-helper-area{gap:10px}}
body.display-mode .public-event-summary{flex:1;min-width:0}
body.display-mode .public-event-image-link{width:10vw;max-width:170px;flex:none;padding:0;border:0;background:transparent}
body.display-mode .public-event-image{width:100%;height:8vw;max-height:130px;object-fit:contain}
body.display-mode .public-event-helper-area{width:auto;padding:0;border:0}
body:not(.display-mode) .public-event-content,body:not(.display-mode) .event-meta,body:not(.display-mode) .event-description{min-width:0;overflow-wrap:anywhere}
body:not(.display-mode) .public-event-helper-info,body:not(.display-mode) .public-event-helper-area{min-width:0}
@media(max-width:540px){body:not(.display-mode) .public-event-helper-area{flex-wrap:wrap}.public-event-helper-area .event-helper{max-width:100%;overflow-wrap:anywhere}}

/* Auf dem Handy sind Termine früher sichtbar, ohne die Vereinskennung zu verlieren. */
@media(max-width:540px){.hero{padding:30px 24px}.hero h1{font-size:clamp(2rem,9vw,2.4rem);line-height:1.08;margin:8px 0}.hero p{font-size:1.03rem;margin:10px 0}.hero-button{margin-top:6px}.section{padding-top:42px;padding-bottom:42px}.public-calendar-link,.public-event-helper-area .event-helper{min-height:44px;align-items:center}}
