/* Compact, readable spacing for the shared product and service pages. */
#soft, #soft:not(.club-page) { padding-top: 28px; padding-bottom: 24px; }
.home-hero { padding: 36px 0 20px; }
.home-page .home-section { padding: 30px 0; }
.home-section-intro { margin-bottom: 22px; }
.home-grid { gap: 20px; }
.home-card { padding: 22px; }
.home-card-photo { width: calc(100% + 44px); margin: -22px -22px 18px; }
.home-card > p:last-of-type { margin-bottom: 16px; }
.home-platforms { margin-top: 28px; padding-top: 24px; gap: 24px; }
.home-news { padding: 20px; margin-top: 24px; gap: 18px; }
.home-about-card > div { padding: 20px; }
.home-page .home-custom { display: flex; align-items: center; gap: 20px; max-width: none; margin-top: 24px; }
.home-custom p { flex: 1; margin: 0; }
.home-custom .btn { flex-shrink: 0; }
.home-demo-invite { padding: 22px; gap: 24px; }
.home-page .home-final { padding-top: 0; padding-bottom: 24px; }
.home-page #clients { padding-top: 20px; padding-bottom: 24px; }
.club-hook-hero { margin-bottom: 28px; }
.club-statistics { margin: 24px 0 28px; }
.club-statistics-list, .home-statistics-strip ul { padding: 22px 24px; gap: 22px; }
.club-audience { margin: 28px 0 24px; }
.club-features { gap: 20px; margin-bottom: 28px; }
.club-feature-body { padding: 20px; }
.club-hook-page .club-feature h4 { margin-bottom: 12px; line-height: 1.35; }
.club-feature p { line-height: 1.6; }
.club-info-grid { gap: 24px; padding: 8px 0 20px; }
.club-demo-invite { margin: 8px 0 24px; padding: 22px; gap: 24px; }
#club-clients, #taf-clients { padding: 28px 0; }
.section-header > p { padding-bottom: 18px; margin-bottom: 0; }
#contact { padding: 28px 0 32px; }
#contact .contact-info { margin-bottom: 22px; }
#contact .contact-info i { font-size: 28px; margin-bottom: 8px; }
#contact .contact-info h3 { margin-bottom: 8px; }
#contact .contact-info .contact-address, #contact .contact-info .contact-phone, #contact .contact-info .contact-email { margin-bottom: 12px; padding: 0 12px; }
#footer .footer-top { padding-top: 36px; }
.pos-hero,
.mapos-hero,
.smetko-hero,
.fi-hero,
.ma-hero,
.ld-hero,
.prod-hero,
.taf-hero,
.sv-hero,
.gym-hero,
.tickets-hero { margin-top: 24px; margin-bottom: 28px; }
.pos-highlights,
.mapos-highlights,
.smetko-highlights,
.fi-highlights,
.ma-highlights,
.ld-highlights,
.prod-highlights,
.taf-highlights,
.sv-highlights,
.gym-highlights,
.tickets-highlights,
.solutions-highlights { padding: 22px 24px; margin: 24px 0 28px; gap: 22px; }
.pos-audience,
.mapos-audience,
.smetko-audience,
.fi-audience,
.ma-audience,
.ld-audience,
.prod-audience,
.taf-audience,
.sv-audience,
.gym-audience,
.tickets-audience { margin: 28px 0; }
.pos-section-intro,
.mapos-section-intro,
.smetko-section-intro,
.fi-section-intro,
.ma-section-intro,
.ld-section-intro,
.prod-section-intro,
.taf-section-intro,
.sv-section-intro,
.gym-section-intro,
.tickets-section-intro,
.solutions-section-intro { margin-bottom: 22px; }
.pos-feature-grid,
.mapos-feature-grid,
.smetko-feature-grid,
.fi-feature-grid,
.ma-feature-grid,
.ld-feature-grid,
.prod-feature-grid,
.taf-feature-grid,
.sv-feature-grid,
.gym-feature-grid,
.tickets-feature-grid,
.solutions-grid { gap: 20px; }
.pos-feature,
.mapos-feature,
.smetko-feature,
.fi-feature,
.ma-feature,
.ld-feature,
.prod-feature,
.taf-feature,
.sv-feature,
.gym-feature,
.tickets-feature,
.solutions-card { padding: 20px; }
.pos-feature-icon,
.mapos-feature-icon,
.smetko-feature-icon,
.fi-feature-icon,
.ma-feature-icon,
.ld-feature-icon,
.prod-feature-icon,
.taf-feature-icon,
.sv-feature-icon,
.gym-feature-icon,
.tickets-feature-icon,
.solutions-card-icon { font-size: 30px; margin-bottom: 12px; }
.pos-feature h3,
.mapos-feature h3,
.smetko-feature h3,
.fi-feature h3,
.ma-feature h3,
.ld-feature h3,
.prod-feature h3,
.taf-feature h3,
.sv-feature h3,
.gym-feature h3,
.tickets-feature h3 { margin-bottom: 8px; }
.pos-feature h4,
.mapos-feature h4,
.smetko-feature h4,
.fi-feature h4,
.ma-feature h4,
.ld-feature h4,
.prod-feature h4,
.taf-feature h4,
.sv-feature h4,
.gym-feature h4,
.tickets-feature h4 { font-size: 19px; line-height: 1.35; margin-bottom: 12px; }
.pos-feature p,
.mapos-feature p,
.smetko-feature p,
.fi-feature p,
.ma-feature p,
.ld-feature p,
.prod-feature p,
.taf-feature p,
.sv-feature p,
.gym-feature p,
.tickets-feature p { line-height: 1.6; }
.pos-modules,
.mapos-modules,
.smetko-modules,
.fi-modules,
.ma-modules,
.ld-modules,
.prod-modules,
.taf-modules,
.sv-modules,
.gym-modules,
.tickets-modules { margin: 32px 0; }
.pos-module summary,
.mapos-module summary,
.smetko-module summary,
.fi-module summary,
.ma-module summary,
.ld-module summary,
.prod-module summary,
.taf-module summary,
.sv-module summary,
.gym-module summary,
.tickets-module summary { padding: 14px 16px; }
.pos-info-grid,
.mapos-info-grid,
.smetko-info-grid,
.fi-info-grid,
.ma-info-grid,
.ld-info-grid,
.prod-info-grid,
.taf-info-grid,
.sv-info-grid,
.gym-info-grid,
.tickets-info-grid { gap: 24px; padding: 8px 0 20px; }
.pos-note,
.mapos-note,
.smetko-note,
.fi-note,
.ma-note,
.ld-note,
.prod-note,
.taf-note,
.sv-note,
.gym-note,
.tickets-note { padding: 16px 20px; margin-top: 20px; }
.pos-demo-invite,
.mapos-demo-invite,
.smetko-demo-invite,
.fi-demo-invite,
.ma-demo-invite,
.ld-demo-invite,
.prod-demo-invite,
.taf-demo-invite,
.sv-demo-invite,
.gym-demo-invite,
.tickets-demo-invite,
.solutions-demo-invite { padding: 22px; gap: 24px; }
.solutions-demo-invite { margin: 28px 0; }
.solutions-implementation { margin-top: 30px; }
.solutions-card > p:last-of-type { margin-bottom: 16px; }
.development-page,
.support-page,
.network-page,
.repair-page,
.business-page,
.efaktura-page { padding-top: 30px; padding-bottom: 16px; }
.development-section,
.support-section,
.network-section,
.repair-section,
.business-section,
.efaktura-section { margin-top: 30px; margin-bottom: 30px; }
.development-section-intro,
.support-section-intro,
.network-section-intro,
.repair-section-intro,
.business-section-intro,
.efaktura-section-intro { margin-bottom: 22px; }
.development-grid,
.support-grid,
.network-grid,
.repair-grid,
.business-grid,
.efaktura-grid { gap: 20px; }
.development-card,
.support-card,
.network-card,
.repair-card,
.business-card,
.efaktura-card,
.development-start-card { padding: 20px; }
.development-icon,
.support-icon,
.network-icon,
.repair-icon,
.business-icon,
.efaktura-icon { font-size: 30px; margin-bottom: 12px; }
.development-invite,
.support-invite,
.network-invite,
.repair-invite,
.business-invite,
.efaktura-invite { padding: 22px; gap: 24px; }
.development-steps li,
.support-steps li,
.network-steps li,
.repair-steps li,
.business-steps li,
.efaktura-steps li,
.solutions-steps li { padding: 20px; }

@media (max-width: 767px) {
  .home-page .home-custom { flex-direction: column; align-items: flex-start; gap: 14px; }
  #contact .contact-info > div { margin-bottom: 8px; }
  #contact .contact-info > div:last-child { margin-bottom: 0; }
}
@media (max-width: 575px) {
  .home-hero { padding-top: 24px; }
  .home-page .home-section { padding-top: 24px; padding-bottom: 24px; }
  .home-page .home-final { padding-top: 0; padding-bottom: 18px; }
  .home-page #clients { padding-top: 18px; }
  .home-statistics-strip ul, .club-statistics-list { padding: 20px; gap: 20px 16px; }
  #contact { padding-top: 22px; padding-bottom: 28px; }
}
