/* Stage 51: presentation only; never overrides InstantCMS permissions or field parsing. */
.poster_list { align-items: stretch; }
.poster_list > h2.poster-native-date-heading { flex: 0 0 100%; max-width: 100%; margin: 1.65rem 0 .5rem; font-weight: 700; font-size: clamp(1.1rem,2vw,1.45rem); }
.poster_list_item { display: flex; }
.poster-native-card { display:flex; flex-direction:column; width:100%; min-width:0; overflow:hidden; border:1px solid rgba(110,130,145,.18); border-radius:16px; background:#fff; box-shadow:0 5px 22px rgba(22,35,47,.06); transition: box-shadow .2s ease, transform .2s ease; }
.poster-native-card:hover {box-shadow:0 12px 32px rgba(22,35,47,.13);transform:translateY(-2px)}
.poster-native-card .category {font-size:.8rem; padding:.8rem 1.05rem 0; color:#60717a}
.poster-native-cover {aspect-ratio: 16/10; margin:0; overflow:hidden; background:#eff4f5}
.poster-native-cover a {display:block;height:100%}
.poster-native-cover img {display:block;width:100%;height:100%;object-fit:cover}
.poster-native-card-body {flex:1;padding:1.05rem;min-width:0}
.poster-native-card-body .field {margin-bottom:.65rem}
.poster-native-card-body .field.f_title h3 {font-size:clamp(1.12rem,1.5vw,1.4rem);font-weight:700;line-height:1.35;margin:0}
.poster-native-card-body .field.f_title a {color:inherit;text-decoration:none}
.poster-native-card-body .field.f_title a:hover {text-decoration:underline}
.poster-native-card .info_bar {padding:.75rem 1.05rem 1.05rem;flex-wrap:wrap;gap:.5rem}
.poster-native-card .info_bar .bar_item {margin-right:.3rem!important}
.poster-native-detail {max-width:1100px;margin-inline:auto}
.poster-native-detail > h1 {font-size:clamp(1.65rem,3vw,2.7rem);line-height:1.2;margin:1rem 0 1.35rem}
.poster-native-detail-cover {border-radius:18px;overflow:hidden;background:#eff4f5;margin-bottom:1.5rem}
.poster-native-detail-cover img {max-width:100%;height:auto;display:block;margin-inline:auto}
.poster-native-detail .icms-content-fields {line-height:1.7}
.poster-native-detail .icms-content-fields img {max-width:100%;height:auto}
.poster-native-detail .fields_group {margin:1.5rem 0}
.poster-native-detail .group_title {font-size:1.35rem;font-weight:700}
@media(max-width:767.98px) {.poster-native-card {border-radius:13px}.poster-native-card:hover {transform:none}.poster-native-detail-cover {border-radius:12px}}

/* Stage 101: public schedule for native poster content item */
.poster-native-schedule h2{font-size:clamp(1.3rem,2vw,1.65rem);font-weight:700;margin:0 0 1rem}
.poster-native-schedule-list{display:grid;gap:.75rem}
.poster-native-session{border:1px solid rgba(110,130,145,.22);border-radius:14px;padding:1rem 1.1rem;background:#fff}
.poster-native-session-top{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}
.poster-native-session-date{font-weight:700;font-size:1.05rem}
.poster-native-session-time{font-weight:500;color:#52636b}
.poster-native-session-badge{background:#e7f6f1;color:#17695c;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:700}
.poster-native-session-location{margin-top:.55rem;color:#33434c}
.poster-native-session-address{display:block;color:#62737a;font-size:.92rem;margin-top:.15rem}
@media(max-width:575.98px){.poster-native-session{padding:.85rem;border-radius:12px}}
.poster-native-event-mode{margin:.25rem 0 1rem;color:#455760}

/* Stage 106: honor field width without forcing horizontal scroll on mobile. */
.poster-native-detail .poster-native-schedule-field{max-width:100%;min-width:0;box-sizing:border-box;}
.poster-native-detail .poster-native-schedule{min-width:0;max-width:100%;overflow-wrap:anywhere;}
.poster-native-detail .poster-native-schedule-list{min-width:0;max-width:100%;}
.poster-native-detail .poster-native-session{min-width:0;max-width:100%;box-sizing:border-box;}
.poster-native-detail .poster-native-session-top>*{min-width:0;}
@media(max-width:575.98px){.poster-native-detail .poster-native-schedule-field{width:100%!important;display:block;} .poster-native-detail .poster-native-session-top{align-items:flex-start;}}
