 .fp-events-container {
     max-width: 1200px;
     margin: 40px auto;
     padding: 0 20px;
     font-family: inherit;
 }

 .fp-events-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
     gap: 30px;
     margin-bottom: 40px;
 }

 .fp-event-card {
     background: #fff;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     display: flex;
     flex-direction: column;
     position: relative;
 }

 .fp-event-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
 }

 .fp-event-content {
     padding: 25px;
     flex-grow: 1;
 }

 .fp-event-title,
 .fp-event-title a {
     margin: 0 0 15px 0;
     font-size: 1.5rem;
     color: #1a1a1a;
     font-weight: 700;
     text-decoration: none;
 }

 .fp-event-title a:hover {
     color: #7209b7;
 }

 /* Растягиваем ссылку на всю карточку для SEO */
 .fp-event-link::after {
     content: '';
     position: absolute;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     z-index: 10;
 }

 .fp-event-meta {
     margin-bottom: 20px;
     color: #666;
     font-size: 0.95rem;
 }

 .fp-event-meta p {
     margin: 8px 0;
     display: flex;
     align-items: center;
 }

 .fp-event-meta strong {
     color: #333;
     margin-right: 8px;
 }

 .fp-event-map-container {
     height: 200px;
     width: 100%;
     background: #f0f0f0;
     position: relative;
 }

 .fp-load-more-wrapper {
     text-align: center;
 }

 #fp-load-more {
     background: #7209b7;
     color: #fff;
     border: none;
     padding: 15px 40px;
     font-size: 1rem;
     font-weight: 600;
     border-radius: 50px;
     cursor: pointer;
     transition: background 0.3s ease, transform 0.2s active;
     box-shadow: 0 4px 15px rgba(114, 9, 183, 0.3);
 }

 #fp-load-more:hover {
     background: #560bad;
 }

 #fp-load-more:disabled {
     background: #ccc;
     cursor: wait;
     box-shadow: none;
 }

 .fp-error-message {
     color: #d32f2f;
     padding: 15px;
     margin: 10px 0;
     background: #ffebee;
     border-radius: 8px;
     text-align: center;
 }

 @media (max-width: 480px) {
     .fp-events-grid {
         grid-template-columns: 1fr;
     }
 }

 /* Стили для одиночной страницы события */
 .fp-single-event-details {
     margin-bottom: 30px;
     padding: 24px;
     background: #ffffff;
     border-radius: 12px;
     border: 1px solid #e0e0e0;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
 }

 .fp-event-meta-single {
     margin-bottom: 25px;
     display: flex;
     flex-wrap: wrap;
     gap: 30px;
     border-bottom: 1px solid #f0f0f0;
     padding-bottom: 20px;
 }

 .fp-single-event-details .fp-meta-item {
     display: flex;
     align-items: center;
     gap: 10px;
     margin: 0;
     font-size: 1.05rem;
     color: #444;
 }

 .fp-meta-item .dashicons {
     color: #7b2cbf;
     font-size: 22px;
     width: 22px;
     height: 22px;
 }

 .fp-event-description-title h4 {
     margin: 25px 0 15px;
     color: #222;
     font-size: 1.3rem;
     position: relative;
     padding-bottom: 8px;
 }

 .fp-event-description-title h4::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 40px;
     height: 3px;
     background: #7b2cbf;
     border-radius: 2px;
 }

 @media (max-width: 600px) {
     .fp-event-meta-single {
         flex-direction: column;
         gap: 15px;
     }
 }