.sult-public-event-wrap{max-width:1180px;margin:34px auto;padding:0 18px;box-sizing:border-box;color:#14213d}.sult-public-event-hero,.sult-public-event-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 8px 28px rgba(15,35,70,.08);overflow:hidden;margin-bottom:18px}.sult-public-event-image{display:block;width:100%;max-height:500px;object-fit:cover}.sult-public-event-hero-body{padding:28px}.sult-public-event-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.08;margin:16px 0 10px}.sult-public-event-lead{font-size:19px;color:#526176}.sult-public-event-when{font-size:18px}.sult-public-event-badges{display:flex;gap:8px;flex-wrap:wrap}.sult-public-event-badge{display:inline-block;background:#eef4ff;padding:6px 11px;border-radius:999px;font-weight:800;font-size:13px}.sult-public-event-badge.is-live{background:#dcfce7;color:#166534}.sult-public-event-badge.is-alert{background:#fee2e2;color:#991b1b}.sult-public-event-badge.is-warning{background:#fef3c7;color:#92400e}.sult-public-event-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.sult-public-event-actions a,.sult-public-event-share a{display:inline-block;background:#e8edf4;color:#0b2347;text-decoration:none;border-radius:9px;padding:11px 15px;font-weight:800}.sult-public-event-actions a.is-primary{background:#f59e0b;color:#111}.sult-public-event-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.sult-public-event-card{padding:24px}.sult-public-event-card h2{margin-top:0}.sult-public-event-card a{color:#0b4fa3}.sult-public-event-people{display:grid;gap:10px}.sult-public-event-person{padding:12px;border-radius:10px;background:#f8fafc}.sult-public-event-person span{display:block;color:#64748b;margin-top:3px}.sult-public-event-share{display:flex;flex-wrap:wrap;gap:8px}.sult-public-event-card ul{padding-left:20px}.sult-public-event-card li{margin-bottom:10px}.sult-public-event-card li small{display:block;color:#64748b}.sult-public-event-admin{background:#eff6ff}@media(max-width:780px){.sult-public-event-grid{grid-template-columns:1fr}.sult-public-event-wrap{margin-top:18px}.sult-public-event-hero-body,.sult-public-event-card{padding:19px}}

/* v11.5.1 – public event action colours, map and venue timeline */
.sult-public-event-actions a.is-navigation{background:#2563eb;color:#fff}
.sult-public-event-actions a.is-navigation:hover{background:#1d4ed8;color:#fff}
.sult-public-event-actions a.is-calendar{background:#0f766e;color:#fff}
.sult-public-event-actions a.is-calendar:hover{background:#115e59;color:#fff}
.sult-public-event-actions a.is-ticket{background:#f59e0b;color:#111827}
.sult-public-event-actions a.is-registration{background:#7c3aed;color:#fff}
.sult-public-event-share a.is-facebook{background:#1877f2;color:#fff}
.sult-public-event-share a.is-whatsapp{background:#25d366;color:#073b1d}
.sult-public-event-share a.is-email{background:#334155;color:#fff}
.sult-public-event-actions a,.sult-public-event-share a{transition:transform .15s ease,filter .15s ease,background-color .15s ease}
.sult-public-event-actions a:hover,.sult-public-event-share a:hover{transform:translateY(-1px);filter:brightness(.96)}

.sult-public-event-map-card,.sult-public-event-venue-events{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 8px 28px rgba(15,35,70,.08);overflow:hidden;margin:18px 0;padding:24px}
.sult-public-event-map-card iframe{display:block;width:100%;height:430px;border:0;border-radius:14px;background:#e2e8f0}
.sult-public-event-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.sult-public-event-section-heading h2{margin:3px 0 0;font-size:clamp(24px,3vw,34px);line-height:1.15}
.sult-public-event-section-heading p{max-width:520px;margin:0;color:#64748b;text-align:right}
.sult-public-event-eyebrow{display:block;color:#b45309;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}
.sult-public-event-map-link{display:inline-flex;align-items:center;background:#2563eb;color:#fff!important;text-decoration:none;padding:10px 14px;border-radius:9px;font-weight:800;white-space:nowrap}

.sult-public-event-timeline{display:grid;gap:20px}
.sult-public-event-timegroup{display:block}
.sult-public-event-timegroup-label{position:static;border-radius:11px;padding:11px 13px;font-weight:900;text-align:center;background:#e2e8f0;color:#334155}
.sult-public-event-timegroup-label.is-today{background:#dcfce7;color:#166534}
.sult-public-event-timegroup-label.is-tomorrow{background:#dbeafe;color:#1e40af}
.sult-public-event-timegroup-label.is-this-week{background:#fef3c7;color:#92400e}
.sult-public-event-timegroup-label.is-next-week{background:#ede9fe;color:#6d28d9}
.sult-public-event-timegroup-label.is-month{background:#f1f5f9;color:#334155}
.sult-public-event-simple-list{border:1px solid #e2e8f0;border-radius:13px;overflow:hidden;background:#fff}
.sult-public-event-list-row{display:grid;grid-template-columns:145px 150px minmax(0,1fr) 38px;align-items:center;gap:14px;padding:13px 15px;border-bottom:1px solid #edf2f7}
.sult-public-event-list-row:last-child{border-bottom:0}
.sult-public-event-list-row:hover{background:#f8fafc}
.sult-public-event-list-row.is-current{background:#fff7ed;box-shadow:inset 4px 0 0 #f59e0b}
.sult-public-event-list-date strong{display:block;color:#0f172a}
.sult-public-event-list-date span{display:block;color:#64748b;margin-top:2px}
.sult-public-event-list-main{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.sult-public-event-list-main h3{font-size:16px;line-height:1.35;margin:0;min-width:0}
.sult-public-event-list-main h3 a{color:#0b2347;text-decoration:none}
.sult-public-event-list-price{white-space:nowrap;font-weight:900;color:#92400e;background:#fef3c7;border-radius:999px;padding:5px 9px;font-size:13px}
.sult-public-event-current-tag{display:inline-block;margin-left:8px;background:#f59e0b;color:#111827;border-radius:999px;padding:3px 7px;font-size:11px;vertical-align:middle}
.sult-public-event-list-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0b2347;color:#fff!important;text-decoration:none;font-size:18px;font-weight:900}

@media(max-width:780px){
 .sult-public-event-section-heading{align-items:flex-start;flex-direction:column;gap:10px}
 .sult-public-event-section-heading p{text-align:left}
 .sult-public-event-map-card,.sult-public-event-venue-events{padding:18px}
 .sult-public-event-map-card iframe{height:320px}
 .sult-public-event-timegroup{grid-template-columns:1fr}
 .sult-public-event-timegroup-label{position:static;text-align:left}
 .sult-public-event-list-row{grid-template-columns:130px minmax(0,1fr) 34px}
 .sult-public-event-list-date{grid-column:1/2}
 .sult-public-event-list-main{grid-column:1/2;align-items:flex-start;flex-direction:column}
 .sult-public-event-list-arrow{grid-column:2;grid-row:1/3}
}

/* v11.5.7 – clearer event calendar rows on phones */
@media(max-width:780px){
 .sult-public-event-venue-events{padding:14px;border-radius:14px}
 .sult-public-event-calendar-heading{margin-bottom:12px}
 .sult-public-event-calendar-heading h2{font-size:24px}
 .sult-public-event-timeline{gap:16px}
 .sult-public-event-timegroup{gap:8px}
 .sult-public-event-timegroup-label{padding:9px 11px;border-radius:9px;font-size:14px}
 .sult-public-event-simple-list{border-radius:11px}
 .sult-public-event-list-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-template-areas:
   "date arrow"
   "main arrow";gap:5px 10px;padding:11px 12px;align-items:center}
 .sult-public-event-list-date{grid-area:date;display:flex;align-items:baseline;gap:7px;min-width:0}
 .sult-public-event-list-date strong{font-size:13px;white-space:nowrap}
 .sult-public-event-list-date span{font-size:12px;margin:0;color:#475569;white-space:nowrap}
 .sult-public-event-list-main{grid-area:main;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%}
 .sult-public-event-list-main h3{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
 .sult-public-event-list-main h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .sult-public-event-list-price{font-size:11px;padding:4px 7px;align-self:start}
 .sult-public-event-current-tag{display:block;width:max-content;margin:4px 0 0;font-size:10px}
 .sult-public-event-list-arrow{grid-area:arrow;width:32px;height:32px;font-size:16px}
}
@media(max-width:430px){
 .sult-public-event-venue-events{padding:11px}
 .sult-public-event-list-row{padding:10px}
 .sult-public-event-list-date{display:block}
 .sult-public-event-list-date span{display:block;margin-top:2px}
 .sult-public-event-list-main{grid-template-columns:1fr}
 .sult-public-event-list-price{justify-self:start}
}

/* v11.6.0: roolikohtainen osallistujanäkymä */
.sult-public-event-people-group{margin:0 0 18px}
.sult-public-event-people-group:last-child{margin-bottom:0}
.sult-public-event-people-group h3{margin:0 0 9px;font-size:16px;color:#0d274d}
.sult-public-event-people-group-karaoke{border-left:4px solid #8b5cf6;padding-left:12px}
.sult-public-event-people-group-hosts{border-left:4px solid #f59e0b;padding-left:12px}
.sult-public-event-people-group-speakers{border-left:4px solid #0ea5e9;padding-left:12px}
@media (max-width:640px){.sult-public-event-people-group h3{font-size:15px}.sult-public-event-person{padding:9px 10px}}

@media(max-width:850px){.sult-public-event-timegroup-label{align-self:start}.sult-public-event-list-row>.sult-public-event-timegroup-label{grid-column:1}}
@media(max-width:620px){.sult-public-event-list-row>.sult-public-event-timegroup-label{grid-area:label;width:auto;text-align:left}.sult-public-event-list-date{grid-area:date}.sult-public-event-list-main{grid-area:main}.sult-public-event-list-arrow{grid-area:arrow}}

/* v11.7.5 – aikaryhmä näkyy jokaisella tapahtumarivillä myös mobiilissa */
@media(max-width:780px){
 .sult-public-event-list-row{
  grid-template-columns:minmax(0,1fr) 34px;
  grid-template-areas:
   "label arrow"
   "date arrow"
   "main arrow";
 }
 .sult-public-event-list-row>.sult-public-event-timegroup-label{grid-area:label;justify-self:start;width:auto;text-align:left;padding:7px 10px;font-size:12px}
 .sult-public-event-list-date{grid-area:date;grid-column:auto}
 .sult-public-event-list-main{grid-area:main;grid-column:auto}
 .sult-public-event-list-arrow{grid-area:arrow;grid-column:auto;grid-row:auto}
}

.sult-public-event-ended{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:18px 22px;border:2px solid #9b2c2c;border-radius:14px;background:#fff0f0;color:#6f1d1d;box-shadow:0 8px 24px rgba(111,29,29,.08)}
.sult-public-event-ended strong{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.1;white-space:nowrap}
.sult-public-event-ended span{font-size:1rem;line-height:1.45}
.sult-public-event-badge.is-past{background:#7f1d1d;color:#fff;border-color:#7f1d1d}
@media(max-width:640px){.sult-public-event-ended{align-items:flex-start;flex-direction:column;gap:6px}.sult-public-event-ended strong{white-space:normal}}

/* v15.3.0 – tapahtumapaikan perityt matkailupalvelut */
.sult-public-event-source-note{margin-top:-4px;color:#64748b;font-size:13px}.sult-public-event-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 18px;margin:12px 0 0;padding:0!important;list-style:none}.sult-public-event-service-list li{position:relative;margin:0!important;padding:8px 10px 8px 30px;border-radius:9px;background:#f8fafc}.sult-public-event-service-list li:before{content:'✓';position:absolute;left:10px;color:#15803d;font-weight:900}
