.service-page { max-width: 960px; margin: 0 auto; }
.service-page > .lead { max-width: 720px; }
.service-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.25rem 0; }
.service-actions .btn { white-space: normal; text-align: center; }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 2rem 0; }
.service-grid .card { margin: 0; min-width: 0; }
.service-grid a { overflow-wrap: anywhere; }
.service-grid h2 { margin-top: 0; }
.service-note { padding: 1.25rem 1.5rem; border-left: 3px solid var(--color-primary); background: var(--color-surface, #f5f4f1); margin: 1.75rem 0; }
.service-note > :first-child { margin-top: 0; }
.service-note > :last-child { margin-bottom: 0; }
.service-price { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--color-border, #ddd); }
.service-price h2 { margin: 0 0 .5rem; font-size: 1.3rem; }
.service-price p { margin: .25rem 0; }
.service-price__amount { text-align: right; font-size: 1.25rem; white-space: nowrap; }
.service-price__amount small { display: block; font-size: .9rem; font-weight: normal; }
.event-list--compact { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 2rem 0; }
.event-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem; padding: 1.5rem; border: 1px solid var(--color-border, #ddd); border-radius: 12px; }
.event-summary h2 { margin: .4rem 0; font-size: 1.4rem; }
.event-summary p { margin: .35rem 0; }
.event-summary__date { font-weight: 600; color: var(--color-primary); }
.event-summary__booking { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: .5rem; }
.event-summary__price { font-size: 1.2rem; }
#prihlaska, #napiste-nam { scroll-margin-top: 6.5rem; }
.event-detail__location-img { max-height: 320px; object-fit: cover; }
@media (max-width: 640px) {
  .service-grid, .event-summary { grid-template-columns: 1fr; }
  .event-summary { padding: 1.15rem; gap: .75rem; }
  .event-summary__booking { align-items: flex-start; }
  .event-summary__booking .btn { width: 100%; text-align: center; }
  .service-price { grid-template-columns: 1fr; gap: .5rem; }
  .service-price__amount { text-align: left; }
}
