/* Shared public hierarchy; booking widgets retain their independent stylesheet. */
.event-card-author { display:flex; align-items:center; gap:7px; margin:4px 0; font-size:12px; color:var(--text); line-height:1.4; }
.event-card-author img { width:24px; height:24px; border-radius:50%; object-fit:cover; flex:none; }
.event-card-mode { display:inline-flex; margin:6px 0; padding:4px 8px; border-radius:8px; color:var(--brand-dark); background:var(--brand-soft); font-size:12px; line-height:1.4; }
.event-card-foot { flex-wrap:wrap; gap:8px 12px; }
.event-card-people { font-size:12px; }
.unified-discovery .event-card, .unified-discovery .place-card { align-self:start; height:auto; }
.event-card-desc { line-height:1.5; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.place-card--catalog .tariff-minima { margin-block:8px; }
.place-card--catalog .tariff-minima small { line-height:1.45; }
.place-schedule-group { border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.place-schedule-group .schedule-card { border:0; margin:0; border-radius:0; }
.schedule-more { border-top:1px solid var(--border); padding:10px 14px; }
.schedule-more summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:650; color:var(--brand); }
.schedule-more summary::before { content:none; }
.schedule-date-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:8px; padding-block:8px; }
.schedule-date-grid a { min-height:44px; padding:10px; border:1px solid var(--border); border-radius:9px; font-size:13px; background:var(--card); }
.place-section-nav { flex-wrap:wrap; }
.place-section, #place-contacts, #going-plan { scroll-margin-top:90px; }
.organizer-back { display:inline-flex; align-items:center; gap:6px; min-height:44px; }
.organizer-back .ui-icon { width:18px; height:18px; }
.form-completeness-note { padding:12px; background:var(--brand-soft); border-radius:12px; }
.event-page .event-cover { height:260px; min-height:0; max-height:260px; object-fit:cover; }
.event-seo-context p { margin-block:4px; }
.visit-intent-form > .field { margin-block:12px; }
.visit-intent-extra { margin-block:12px; }
.visit-intent-dialog .privacy-note { margin-bottom:8px; }
.event-page .event-rich-description p:empty { display:none; }
.service-ux :is(a,button,summary):focus-visible, .schedule-date-grid a:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
@media(max-width:767px) {
  .page-hero.page-hero--catalog-home { min-height:160px; padding:10px 0; }
  .page-hero--catalog-home .page-hero__art { height:100%; opacity:.38; }
  .page-hero--catalog-home .page-hero__panel { padding:14px; }
  .page-hero--catalog-home .page-hero__title { font-size:24px; }
  .page-hero--catalog-home .page-hero__subtitle { font-size:13px; line-height:1.45; }
  .page-hero--catalog-home .page-hero__actions { margin-top:8px; }
  .discovery-scopes { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; padding-block:3px; }
  .discovery-scopes a { flex:0 0 auto; width:auto; white-space:nowrap; }
  .unified-discovery-form.places-search { padding:12px; gap:8px; }
  .event-card-cover-empty { height:100px; }
  .event-page .event-cover { height:140px; max-height:140px; }
  .event-page.section, .organizer-profile.section { padding-top:16px; }
  .event-title { font-size:23px; }
  .event-page .event-head { margin-top:12px; }
  .place-schedule .schedule-card { display:grid; padding:12px; grid-template-columns:42px minmax(0,1fr); gap:8px 12px; }
  .place-schedule .schedule-card-body { min-width:0; }
  .place-schedule .schedule-card-action { grid-column:2; justify-self:start; }
  .place-schedule .schedule-card-date { width:42px; min-width:42px; }
  .schedule-date-grid { grid-template-columns:1fr; max-height:360px; overflow:auto; }
  .organizer-profile-header { gap:12px; }
  .organizer-profile-avatar { width:72px; height:72px; }
  .organizer-profile h1 { font-size:26px; }
}
