.fs-events-page { min-width:0; padding-bottom:2rem; color:#29232d; }
.fs-events-hero { display:flex; gap:1.25rem; align-items:center; padding:clamp(1.3rem,3vw,2.3rem); background:linear-gradient(125deg,#fff,#f9f1fc); border:1px solid #e3d3eb; border-radius:16px; margin-bottom:1.5rem; }
.fs-events-icon { display:grid; place-items:center; flex:0 0 64px; width:64px; height:64px; border-radius:20px; color:#7b1fa2; background:#efddf7; }
.fs-events-icon svg { width:32px; height:32px; }
.fs-events-hero h1 { margin:0 0 .6rem; color:#34233d; font-size:clamp(1.4rem,2.5vw,2rem); line-height:1.25; }
.fs-events-hero p { margin:0; color:#62566a; max-width:65ch; line-height:1.65; }
.fs-events-feature { background:#fff; border:1px solid #e3d3eb; border-radius:16px; overflow:hidden; box-shadow:0 8px 28px #48205d09; }
.fs-events-feature-header { padding:1.15rem 1.5rem; border-bottom:1px solid #eee5f2; background:#fdfafd; }
.fs-events-feature-header h2 { margin:0; font-size:1.05rem; color:#7b1fa2; }
.fs-events-feature-body { padding:1.5rem; }
.fs-events-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:start; gap:1.75rem; }
.fs-events-poster { margin:0; min-width:0; text-align:center; }
.fs-events-poster img { display:block; width:100%; max-height:850px; object-fit:contain; border-radius:10px; background:#f8f5fa; }
.fs-events-poster figcaption { margin-top:.8rem; font-size:.9rem; }
.fs-events-copy { min-width:0; overflow-wrap:anywhere; line-height:1.75; }
.fs-events-copy > h3 { font-size:1.15rem; color:#34233d; margin:0 0 1rem; }
.fs-events-rich h2,.fs-events-rich h3,.fs-events-rich h4 { color:#34233d; line-height:1.4; margin:1.2rem 0 .6rem; }
.fs-events-rich h2 { font-size:1.35rem; }.fs-events-rich h3 { font-size:1.2rem; }.fs-events-rich h4 { font-size:1.05rem; }
.fs-events-rich > :first-child { margin-top:0; }.fs-events-rich > :last-child { margin-bottom:0; }
.fs-events-rich blockquote { border-left:3px solid #d1abe0; padding:.7rem 1rem; margin:1rem 0; background:#faf4fc; }
.fs-events-rich pre { white-space:pre-wrap; overflow-wrap:anywhere; }.fs-events-rich ul,.fs-events-rich ol { padding-left:1.4rem; }
.fs-events-page a { color:#7b1fa2; }.fs-events-page a:hover { color:#50126b; }.fs-events-page a:focus-visible { outline:3px solid #a964c6; outline-offset:4px; border-radius:3px; }
.fs-events-language { padding:.8rem 1rem; margin:0 0 1.25rem; border-radius:8px; background:#f7f1fb; color:#685374; font-size:.9rem; }
.fs-events-empty { text-align:center; padding:clamp(2rem,5vw,4rem) 1.5rem; background:#fff; border:1px solid #e3d3eb; border-radius:16px; }
.fs-events-empty .fs-events-icon { margin:0 auto 1.25rem; }.fs-events-empty h2 { font-size:1.35rem; color:#34233d; }.fs-events-empty p { max-width:55ch; margin:1rem auto; color:#62566a; line-height:1.7; }
.fs-events-back { display:inline-block; margin-top:1.4rem; font-size:.95rem; }
.fs-events-page .fs-events-back.button { color:#fff; white-space:normal; }
@media(max-width:1100px){.fs-events-grid { grid-template-columns:minmax(0,1fr); }}
@media(max-width:575.98px){.fs-events-hero { flex-direction:column; align-items:flex-start; gap:1rem; }.fs-events-icon { width:52px; height:52px; flex-basis:52px; border-radius:15px; }.fs-events-feature-body { padding:1rem; }.fs-events-feature-header { padding:1rem; }}
.fs-events-section { margin:1.8rem 0; }
.fs-events-section > h2,.fs-events-entry > h2 { font-size:1.35rem; margin-bottom:1rem; color:#34233d; }
.fs-events-list,.fs-events-admin-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.fs-events-list-card { overflow:hidden; min-width:0; border:1px solid #e3d3eb; border-radius:14px; background:#fff; }
.fs-events-cover { display:block; width:100%; height:230px; object-fit:contain; background:#f7f1fb; }
.fs-events-list-copy { padding:1.25rem; overflow-wrap:anywhere; }.fs-events-list-copy h3 { font-size:1.25rem; color:#34233d; }
.fs-events-deadline { font-size:.88rem; color:#62566a; margin:.7rem 0; }.fs-events-archive { display:grid; gap:1.25rem; }
.fs-events-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.fs-events-photo { padding:1rem; background:#fff; border:1px solid #e3d3eb; border-radius:12px; min-width:0; overflow-wrap:anywhere; }
.fs-events-photo img { display:block; width:100%; height:230px; object-fit:contain; background:#f7f1fb; border-radius:8px; margin-bottom:.8rem; }
.fs-events-photo h3 { font-size:1.05rem; line-height:1.5; margin:0 0 .75rem; }.fs-events-photo form { margin-top:.75rem; }
.fs-events-likes { display:inline-block; color:#7b1fa2; font-weight:600; margin-bottom:.4rem; }
.fs-events-entry,.fs-events-rules { margin:1.5rem 0; background:#fff; border:1px solid #e3d3eb; border-radius:14px; padding:1.4rem; }
.fs-events-rules summary,.fs-events-admin-language summary { cursor:pointer; font-weight:600; }.fs-events-rules p { margin:1rem 0 0; line-height:1.75; }
.fs-events-own { display:block; max-width:100%; width:240px; max-height:240px; object-fit:contain; margin:1rem 0; }
.fs-events-consent { display:flex; align-items:flex-start; gap:.7rem; margin:1rem 0; line-height:1.6; }.fs-events-consent input { margin-top:.35rem; flex:0 0 18px; width:18px; height:18px; }
.fs-events-pages { display:flex; gap:1.5rem; justify-content:space-between; margin:1rem 0; }.fs-events-reserved { border:1px dashed #cbb7d6; border-radius:12px; padding:1.2rem; color:#62566a; margin-top:1.5rem; }.fs-events-reserved h2 { font-size:1rem; }.fs-events-reserved p { margin:0; }
.fs-events-admin-language { border:1px solid #dee2e6; border-radius:8px; padding:1rem; margin:.8rem 0; }.fs-events-admin { min-width:0; }.fs-events-admin .fs-events-photo { color:#29232d; }.fs-events-admin .fs-events-gallery { margin-top:1rem; }
@media(max-width:1100px){.fs-events-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }.fs-events-list { grid-template-columns:minmax(0,1fr); }}
@media(max-width:575.98px){.fs-events-gallery,.fs-events-admin-list { grid-template-columns:minmax(0,1fr); }.fs-events-entry,.fs-events-rules { padding:1rem; }.fs-events-cover { height:190px; }.fs-events-admin .fs-events-photo img { height:210px; }}
