/* ============================================================
   Anikin Fund — The Events Calendar override
   Подключается только на страницах TEC (архив/одиночное
   мероприятие), см. inc/events.php. Переиспользует токены :root из
   style.css (цвета/шрифты/тени/радиус) — без хардкода, чтобы не
   разъехалось при смене палитры темы. style.css гарантированно загружен
   раньше (зависимость 'af-style' в inc/events.php).
============================================================ */

.tribe-events-calendar-list__event-row.af-event-card__row{
  list-style:none;
  margin:0 0 18px;
}

.af-event-card{
  display:flex !important;
  gap:18px;
  align-items:stretch;
  background:var(--white);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:18px !important;
  transition:box-shadow .2s var(--ease),transform .2s var(--ease);
}
.af-event-card:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}

/* --- дата-бейдж --- */
.af-event-card__date-tag{
  flex:0 0 60px;
  width:60px;height:60px;
  border-radius:var(--radius);
  background:linear-gradient(150deg,var(--navy-800),var(--blue-600));
  color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.af-event-card__date-time{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--display);text-align:center;
}
.af-event-card__date-weekday{
  font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;opacity:.8;line-height:1.2;
}
.af-event-card__date-day{
  font-size:1.35rem;font-weight:700;line-height:1.1;
}

/* --- обложка --- */
.af-event-card__media{
  flex:0 0 180px;
  width:180px;
  border-radius:calc(var(--radius) - 2px);
  overflow:hidden;
  background:linear-gradient(150deg,var(--navy-800),var(--blue-600));
  display:flex;align-items:center;justify-content:center;
}
.af-event-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.af-event-card__media-placeholder{
  width:100%;height:100%;min-height:110px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;opacity:.5;
}
.af-event-card__media-placeholder svg{width:34px;height:34px}

/* --- тело карточки --- */
.af-event-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.af-event-card__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:22px}

.af-event-card__title,.tribe-events-calendar-list__event-title{
  margin:0;font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.3;
}
.af-event-card .tribe-events-calendar-list__event-title-link{color:var(--ink);text-decoration:none}
.af-event-card .tribe-events-calendar-list__event-title-link:hover{color:var(--blue-600)}

.af-event-card__meta{display:flex;flex-direction:column;gap:4px;font-size:.86rem;color:var(--soft)}
.af-event-card__meta address{font-style:normal}
.af-event-card__meta .tribe-events-calendar-list__event-datetime-wrapper,
.af-event-card__meta .tribe-events-calendar-list__event-venue{margin:0;padding:0}

/* --- иконки у даты/места (без override шаблонов, чисто CSS ::before) --- */
.af-event-card__meta .tribe-events-calendar-list__event-datetime-wrapper,
.af-event-card__meta .tribe-events-calendar-list__event-venue{
  display:flex;align-items:flex-start;gap:6px;
}
.af-event-card__meta .tribe-events-calendar-list__event-datetime-wrapper::before,
.af-event-card__meta .tribe-events-calendar-list__event-venue::before{
  content:"";flex:0 0 14px;width:14px;height:14px;margin-top:2px;
  background-color:currentColor;opacity:.55;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.af-event-card__meta .tribe-events-calendar-list__event-datetime-wrapper::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
.af-event-card__meta .tribe-events-calendar-list__event-venue::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.af-event-card__description{font-size:.88rem;color:var(--muted);line-height:1.5}

.af-event-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}

/* --- статус регистрации --- */
.af-event-card__status{
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:4px 10px !important;border-radius:99px;white-space:nowrap;
}
.af-event-card__status--open{background:rgba(47,163,107,.12);color:var(--ok)}
.af-event-card__status--closed{background:rgba(100,128,155,.14);color:var(--soft)}
.af-event-card__status--cancelled{background:rgba(226,87,76,.12);color:var(--coral)}

/* --- категория (переопределяем штатную плашку TEC под токены сайта) --- */
.tec-events-calendar-list__event-categories{margin:0}
.tec-events-calendar-list__category{
  font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:99px;
  background:var(--ice-100);color:var(--blue-600);
}

/* --- цена (переопределяем штатную плашку TEC) --- */
.tribe-events-c-small-cta.tribe-events-calendar-list__event-cost{margin:0;padding:0;background:none}
.tribe-events-c-small-cta__price{
  font-family:var(--display);font-weight:700;color:var(--navy-800);font-size:.95rem;
}

/* --- CTA "Подробнее" --- */
.af-event-card__cta{
  font-family:var(--body);font-weight:600;font-size:.86rem;color:#fff !important;
  background:var(--blue-600);padding:8px 18px;border-radius:6px;
  text-decoration:none;transition:background .2s var(--ease);white-space:nowrap;
}
.af-event-card__cta:hover{background:var(--blue-500);color:#fff}

@media (max-width:640px){
  .af-event-card{flex-direction:column}
  .af-event-card__date-tag{position:absolute;margin:18px}
  .af-event-card__media{width:100%;flex:0 0 160px}
  .af-event-card__footer{flex-direction:column;align-items:stretch}
  .af-event-card__cta{text-align:center}
}

/* ============================================================
   Переключатель Список / Плитка (план tec-af, шаг 3)
   См., events-view-toggle.js — один и тот же HTML карточки,
   раскладка переключается только классом af-events-grid.
============================================================ */
.af-events-toggle{
  display:inline-flex;gap:2px;padding:3px;
  background:var(--ice-100);border-radius:8px;
  margin:8px 0;
}

/* теперь таблительная, чтобы переключатель встал в один ряд с nav/Сегодня/выбором вида и ушёл вправо (events-view-toggle.js вставляет его в .tribe-events-header__top-bar) */
.tribe-events-header__top-bar{
  display:flex !important;align-items:center;flex-wrap:wrap;row-gap:10px;
}
.tribe-events-header__top-bar .af-events-toggle{
  margin:0 0 0 auto !important;
}
@media (max-width:640px){
  .tribe-events-header__top-bar .af-events-toggle{
    margin-left:0 !important;
  }
}
.af-events-toggle .af-events-toggle__btn{
  display:inline-flex;align-items:center;gap:6px;
  border:0;background:transparent;cursor:pointer;
  padding:6px 12px;border-radius:6px;
  font-family:var(--body);font-size:.82rem;font-weight:600;color:var(--soft);
  transition:background .15s var(--ease),color .15s var(--ease);
}
.af-events-toggle__btn svg{flex:0 0 16px}
.af-events-toggle .af-events-toggle__btn:hover{color:var(--navy-800)}
.af-events-toggle .af-events-toggle__btn.is-active{background:var(--white);color:var(--blue-600);box-shadow:var(--shadow-sm)}
.af-events-toggle__label{white-space:nowrap}

@media (max-width:480px){
  .af-events-toggle__label{display:none}
  .af-events-toggle .af-events-toggle__btn{padding:8px}
}

/* --- режим плитки --- */
.tribe-events-calendar-list.af-events-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px;
}
.tribe-events-calendar-list.af-events-grid .tribe-events-calendar-list__event-row.af-event-card__row{
  margin:0;
}
.tribe-events-calendar-list.af-events-grid .af-event-card{
  flex-direction:column;
  height:100%;
}
.tribe-events-calendar-list.af-events-grid .af-event-card__date-tag{
  position:static;margin:0;
}
.tribe-events-calendar-list.af-events-grid .af-event-card__media{
  width:100%;flex:0 0 150px;order:-1;
}

/* месяц-разделители TEC между карточками в плитке должны занимать всю ширину сетки,
   иначе сетка попытается вставить их в одну из колонок */
.tribe-events-calendar-list.af-events-grid .tribe-events-calendar-list__month-separator{
  grid-column:1 / -1;
}

/* на мобильных плитка автоматически сворачивается в 1 колонку (план, п. 3.3) */
@media (max-width:640px){
  .tribe-events-calendar-list.af-events-grid{grid-template-columns:1fr}
}

/* ============================================================
   Страница одиночного мероприятия (план tec-af, шаг 5)
   tribe-events/single-event.php
============================================================ */

.af-event-single__back{
  margin:0 0 18px;font-size:.88rem;
}
.af-event-single__back a{color:var(--soft);text-decoration:none}
.af-event-single__back a:hover{color:var(--blue-600)}

/* --- хиро --- */
.af-event-hero{
  position:relative;overflow:hidden;
  border-radius:var(--radius);
  padding:44px 36px;
  margin-bottom:32px;
  background:linear-gradient(150deg,var(--navy-900),var(--navy-700));
  color:#fff;
}
.af-event-hero--photo .af-event-hero__bg{
  position:absolute;inset:0;z-index:0;
}
.af-event-hero--photo .af-event-hero__bg img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.af-event-hero--photo .af-event-hero__glow{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(5,24,43,.55),rgba(5,24,43,.88));
}
.af-event-hero__in{position:relative;z-index:2;max-width:760px}

.af-event-hero__status{
  display:inline-block;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:5px 12px;border-radius:99px;margin-bottom:16px;
}
.af-event-hero__status--open{background:rgba(47,163,107,.2);color:#8fe3b6}
.af-event-hero__status--closed{background:rgba(255,255,255,.14);color:#dbe6f2}
.af-event-hero__status--cancelled{background:rgba(226,87,76,.2);color:#f4a89f}

.af-event-hero .af-event-hero__title{
  font-family:var(--display);font-weight:800;line-height:1.12;
  font-size:clamp(1.8rem,4vw,2.7rem);
  margin:0 0 16px;color:#fff;
}
.af-event-hero__datetime{
  font-size:1.02rem;color:#dcebfb;margin-bottom:6px;
}
.af-event-hero__deadline{
  font-size:.88rem;font-weight:600;color:var(--sky-300);margin:0 0 20px;
}
.af-event-hero__actions{margin-top:20px}
.af-event-hero__share{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.af-event-hero__share:hover{background:rgba(255,255,255,.1)}

/* --- макет: описание + сайдбар --- */
.af-event-single__layout{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:36px;
  align-items:start;
}
.af-event-single__description{font-size:1rem;line-height:1.7;color:var(--ink)}

/* --- блок "Информация" --- */
.af-event-info{
  background:var(--white);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:24px;
  position:sticky;top:24px;
}
.af-event-info__title{
  font-size:1.05rem;margin:0 0 18px;
}
.af-event-info__row{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 0;border-top:1px solid var(--ice-100);
  font-size:.9rem;
}
.af-event-info__row:first-of-type{border-top:0;padding-top:0}
.af-event-info__row p{margin:2px 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}
.af-event-info__row .tribe-address{display:block}
.af-event-info__row .tribe-delimiter{margin-right:4px}
.af-event-info__row strong{color:var(--ink);font-weight:600}

.af-event-info__icon{
  flex:0 0 20px;width:20px;height:20px;margin-top:1px;
  background-color:var(--blue-600);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.af-event-info__icon--venue{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}
.af-event-info__icon--cost{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 15.5c.8.8 2 .8 3 .3s1.2-1.8.3-2.5c-1-.8-2.6-.3-3.5-1.1-.9-.8-.6-2 .3-2.5 1-.5 2.2-.5 3 .3M12 6.5v1M12 16.5v1'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 15.5c.8.8 2 .8 3 .3s1.2-1.8.3-2.5c-1-.8-2.6-.3-3.5-1.1-.9-.8-.6-2 .3-2.5 1-.5 2.2-.5 3 .3M12 6.5v1M12 16.5v1'/%3E%3C/svg%3E");
}
.af-event-info__icon--organizer{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M4.5 20c1.4-3.6 4.3-5.5 7.5-5.5s6.1 1.9 7.5 5.5'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M4.5 20c1.4-3.6 4.3-5.5 7.5-5.5s6.1 1.9 7.5 5.5'/%3E%3C/svg%3E");
}
.af-event-info__icon--deadline{
  background-color:var(--coral);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}

.af-event-info__map-link a{font-size:.82rem;font-weight:600;color:var(--blue-600)}

/* --- форма регистрации (inc/registration-form.php) — выводится в
   .af-event-single__main через хук, стилизуем под общий вид --- */
.af-event-registration{
  margin-top:32px;padding-top:32px;border-top:1px solid var(--ice-100);
}
.af-event-registration__title{margin:0 0 18px}
.af-event-registration--closed{
  background:var(--ice-50);border-radius:var(--radius);
  padding:20px 24px;border-top:0;margin-top:32px;
}
.af-event-registration--closed p{margin:0;font-weight:600;color:var(--soft)}

@media (max-width:900px){
  .af-event-single__layout{grid-template-columns:1fr}
  .af-event-info{position:static}
  .af-event-hero{padding:32px 22px}
}

/* --- блок "Похожие мероприятия" --- */
.af-event-related{margin-top:48px}
.af-event-related__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;
}

/* компактный вариант карточки (af_render_event_card) — вертикальная раскладка,
   без вложенного контекста tribe-events-calendar-list, поэтому свой набор правил */
.af-event-card--compact{
  flex-direction:column;
  padding:0 !important;
  overflow:hidden;
}
.af-event-card--compact .af-event-card__date-tag{
  position:absolute;margin:14px;width:52px;height:52px;flex:0 0 52px;
}
.af-event-card--compact .af-event-card__media{
  width:100%;flex:0 0 150px;border-radius:0;
}
.af-event-card--compact .af-event-card__body{padding:16px}
.af-event-card--compact .af-event-card__title{font-size:.98rem}
.af-event-card--compact .af-event-card__title a{color:var(--ink);text-decoration:none}
.af-event-card--compact .af-event-card__title a:hover{color:var(--blue-600)}
.af-event-card--compact .af-event-card__meta{font-size:.82rem;color:var(--soft)}
.af-event-card--compact .af-event-card__meta address{font-style:normal}

/* --- модалка "Поделиться" (event-share-qr.js) — переиспользует .af-qr-modal базовые
   классы из style.css, здесь только то, чего там нет (блок ссылки) --- */
.af-event-share-modal .af-qr-modal__req-value{
  font-family:monospace;font-size:.72rem;word-break:break-all;
}

