/* Manrope (local, static weights) */
@font-face{
  font-family:"Manrope";
  src:url("/wp-content/themes/medsmart/assets/fonts/manrope/Manrope-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("/wp-content/themes/medsmart/assets/fonts/manrope/Manrope-Semibold.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("/wp-content/themes/medsmart/assets/fonts/manrope/Manrope-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* Запрет синтетики и единое сглаживание */
html, body{
  font-synthesis: none;               /* не «дорисовывать» bold/italic */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}


/* ===== RESET / NORMALIZE (мягкий) ===== v1.1 */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:hidden}
@supports (scrollbar-gutter: stable){ html{scrollbar-gutter: stable both-edges} }
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
/* Ссылки в контенте CPT */
.single-news .event-content p a,
.single-news .event-content div a,
.single-news .single-ex__text-content p a,
.single-news .single-ex__section--text p a,
.single-event .event-content p a,
.single-event .event-content div a,
.single-exclusive .single-ex__text-content p a,
.single-exclusive .single-ex__section--text p a {
  color: #2271b1 !important;
  text-decoration: underline !important;
}

ul,ol{margin:0;padding-left:1.25rem}
h1,h2,h3,h4,h5,h6,p{margin:0}

/* ===== THEME TOKENS ===== */
:root{
  --accent:#446A81;
  --accent-10:rgba(68,106,129,.10);
  --accent-20:rgba(68,106,129,.20);

  --brand-yellow:#EEC024;
  --brand-yellow-10:rgba(238,192,36,.10);
  --brand-yellow-20:rgba(238,192,36,.20);

  --brand-gray:#4A4545;
  --bg-gray:#F9F9F9;

  --text-900:var(--brand-gray);
  --text-700:#374151;
  --text-600:#8A8D8E;
  --text-500:#6B7280;
  --text-invert:#fff;

  --bg:#F7F8FA;
  --surface:#fff;
  --stroke:#EEF2F7;
  --stroke-2:#D9DFE6;

  --fs-xxl:clamp(28px,4vw,48px);
  --fs-xl: clamp(24px,3.6vw,40px);
  --fs-lg: clamp(20px,2.6vw,24px);
  --fs-md:16px;
  --fs-sm:14px;
  --fs-xs:12px;

  --radius-lg:16px;
  --radius-md:12px;
  --radius-sm:8px;
  --shadow-soft:0 1px 0 rgba(11,12,14,.06), 0 8px 24px rgba(11,12,14,.06);

  --gap-xxl:48px;
  --gap-xl:32px;
  --gap-lg:24px;
  --gap-md:16px;
  --gap-sm:12px;
  --gap-xs:8px;

  --container:1200px;
  --container-pad:20px;
}

/* ===== BODY / CONTAINER ===== */
body {
  font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400 !important;   /* базовый вес */
  background:var(--bg-gray);
}
h1, h2 { font-weight: 700; }
h3, h4 { font-weight: 600; }  /* если нужен semibold */

strong,b{ font-weight:700 }      /* иногда темы ставят 600 — фиксируем на 700 */

/* чтобы формы тоже были Manrope */
input,button,select,textarea{ font:inherit }

.container{
  width:min(100% - var(--container-pad)*2, var(--container));
  margin-inline:auto;
}

/* ===== TYPOGRAPHY ===== */
.h1{
  font-weight:700;
  font-size:clamp(32px,5vw,48px);
  line-height:1.2;
  color:var(--text-900);
}
.h2{
  font-weight:700;
  font-size:clamp(26px,4vw,40px);
  line-height:1.25;
  color:var(--accent);
}
.h3{
  font-weight:400;
  font-size:clamp(18px,3vw,24px);
  line-height:1.3;
  color:var(--text-900);
}
.lead{font-size:clamp(16px,2.6vw,18px);color:var(--text-700)}

/* Синий заголовок + жёлтая линия с точками */
.heading-accent{
  position:relative;
  display:inline-block;
  color:var(--accent);
  font-weight:700;
  font-size:clamp(26px,4vw,40px); /* размер как у H2 */
  line-height:1.25; /* как у H2 */
  padding-bottom:10px;
  border-bottom:6px solid var(--brand-yellow); /* подчёркивание */
  align-self:flex-start;
}
/* точки по краям */
.heading-accent::before,
.heading-accent::after{
  content:"";
  position:absolute; bottom:-8px;
  width:12px; height:12px; border-radius:50%;
  background:var(--brand-yellow);
}
.heading-accent::before{ left:-1px }
.heading-accent::after { right:-1px }

.section-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:var(--gap-xxl);
}

/* ===== BUTTONS (brand) ===== */
.btn{
  --_bg:var(--surface);
  --_fg:var(--text-900);
  --_bd:var(--stroke-2);

  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  height:48px; padding:0 40px; border-radius:999px;
  background:var(--_bg); color:var(--_fg); border:1px solid var(--_bd);
  font-weight:400; font-size:var(--fs-sm); line-height:1; cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,transform .15s;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--sm{height:40px;padding:0 16px;gap:10px}
.btn--lg{height:63px;padding:0 26px;gap:14px}

.btn--outline{ --_bg:var(--surface); --_fg:var(--brand-gray); --_bd:var(--brand-gray) }
.btn--primary{ --_bg:var(--brand-yellow); --_fg:var(--brand-gray); --_bd:var(--brand-yellow) }

.btn--outline:hover{ --_bg:var(--brand-yellow); --_fg:var(--brand-gray); --_bd:var(--brand-yellow) }
.btn--primary:hover{ --_bg:var(--surface); --_fg:var(--brand-gray); --_bd:var(--brand-gray) }

.btn .btn__icon{
  width:36px;height:36px;flex:0 0 36px;border-radius:999px;
  display:grid;place-items:center;border:1px solid currentColor;
}
.btn .btn__icon::before{ content:"→"; font-weight:700; position:relative; top:-1px }
.btn[data-icon="down"] .btn__icon::before{ content:"↓"; top:0 }
.btn[data-icon="ext"]  .btn__icon::before{ content:"↗" }
.btn[data-icon="back"] .btn__icon::before{ content:"←" }

/* Круглая иконка без текста */
.btn--icon{ width:40px;height:40px;padding:0;border-radius:50%;display:inline-flex;justify-content:center;background:var(--brand-yellow);color:var(--brand-gray);font-weight:700 }
.btn--icon .btn__icon{display:flex;align-items:center;justify-content:center;font-weight:700}
.btn--icon .btn__icon::before{content:"→";position:relative;top:-1px}
.btn--icon:hover{ background:var(--surface); color:var(--brand-gray); border:0 }

/* ===== КРУГЛЫЕ КНОПКИ-ДЕЙСТВИЯ ===== */
.btn-circle{
  display:inline-flex;align-items:center;justify-content:center;
  width:63px;height:63px;border-radius:50%;
  background:var(--surface); border:1px solid var(--stroke-2);
  cursor:pointer; transition:transform .2s ease, background .2s ease;
}
.btn-circle:hover{ transform:translateY(-2px) }
.btn-circle svg{ width:100%; height:100%; display:block; border-radius:50% }

/* кнопки-цветные вариации */
.btn-circle.btn-share,
.btn-circle.btn-print,
.btn-circle.btn-download{ background:var(--brand-yellow) }

/* === Favorite (global) — SVG инлайн через data: === */
.btn-fav{
  display:inline-block;
  width:63px;height:63px;
  border:0;padding:0;background:transparent no-repeat center/contain;
  cursor:pointer;line-height:0;vertical-align:middle;
  transition:transform .15s ease;
}
.btn-fav:hover{ transform:translateY(-1px) }
.btn-fav:focus-visible{ outline:2px solid rgba(0,0,0,.2); outline-offset:3px }

/* 63px — обычная */
.btn-fav--lg{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='63' height='63' viewBox='0 0 63 63' fill='none'><rect x='0.5' y='0.5' width='62' height='62' rx='31' stroke='%234A4545'/><path d='M40.5 21.5V40.9775L32.251 36.2021L32 36.0566L31.749 36.2021L23.5 40.9775V21.5H40.5Z' stroke='%234A4545'/><rect x='13.5' y='12.5' width='37' height='37' rx='18.5' stroke='%234A4545'/></svg>");
}
.btn-fav--lg.is-active{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='63' height='63' viewBox='0 0 63 63' fill='none'><rect width='63' height='63' rx='31.5' fill='%23EEC024'/><rect x='13' y='13' width='37' height='37' rx='18.5' stroke='%234A4545'/><path d='M40.5 21.5V40.9775L32.251 36.2021L32 36.0566L31.749 36.2021L23.5 40.9775V21.5H40.5Z' stroke='%234A4545'/></svg>");
}

/* 42px — обычная/активная (ЛК) */
.btn-fav--sm{ width:42px;height:42px; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42' fill='none'><rect x='0.5' y='0.5' width='41' height='41' rx='20.5' stroke='%234A4545'/><path d='M26.8334 14.5V27.0293L21.5844 23.9902L21.3334 23.8457L21.0824 23.9902L15.8334 27.0293V14.5H26.8334Z' stroke='%234A4545'/></svg>"); }
.btn-fav--sm.is-active{ background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42' fill='none'><rect width='42' height='42' rx='21' fill='%23EEC024'/><path d='M26.8334 14.5V27.0293L21.5844 23.9902L21.3334 23.8457L21.0824 23.9902L15.8334 27.0293V14.5H26.8334Z' stroke='%234A4545'/></svg>"); }

/* disabled */
.btn-fav[disabled], .btn-circle[disabled], .btn[disabled]{ opacity:.6; cursor:default; transform:none }

/* Кнопка программа - желтая, при ховере outline */
.btn--program-yellow:hover{ --_bg:var(--surface); --_fg:var(--brand-gray); --_bd:var(--brand-gray) }

.js-ev-register.is-registered{
  pointer-events:auto; opacity:1;
  background:var(--surface); color:var(--brand-gray); border-color:var(--brand-gray);
}
.js-ev-register.is-registered:hover{ transform:none }

/* ===== ПАТТЕРН ТОЧЕК/СТРЕЛОК ===== */
.hero__arrows{ position:absolute; right:24px; bottom:24px; display:block; z-index:5 }
.navmol{
  position:relative; width:112px; height:59px; right:-1px; bottom:-9px;
  padding:0; border:0; background:transparent; cursor:pointer;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='112' height='59' viewBox='0 0 112 59'>\
  <path fill-rule='evenodd' clip-rule='evenodd' d='M112 29.5C112 45.7924 99.1425 59 83.2821 59C71.5331 59 61.432 51.7524 56.9845 41.3721L56.7729 41.295C52.2539 39.6474 47.2156 40.3847 43.3499 43.2596L38.6428 46.7601C34.5385 50.6933 29.0301 53.1 22.9744 53.1C10.286 53.1 0 42.5339 0 29.5C0 16.4661 10.286 5.9 22.9744 5.9C30.0448 5.9 36.3693 9.18094 40.5837 14.3416L41.3686 15.0238C45.6646 18.7579 51.5616 19.8453 56.8156 18.0302C61.1722 7.43534 71.3818 0 83.2821 0C99.1425 0 112 13.2076 112 29.5Z' fill='white'/>\
  <path d='M27.8 30H16.7M16.7 30L22.26 35.7M16.7 30L22.26 24.3' stroke='%232A5273' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/>\
</svg>");
}
.navchip{
  position:absolute; right:-3px; bottom:-9px; z-index:6;
  width:60px; height:60px; padding:0; border:0; background:transparent; cursor:pointer;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'>\
  <circle cx='30' cy='30' r='30' fill='%232A5273'/>\
  <g transform='translate(30,30) scale(1.3) translate(-30,-30)'>\
    <path d='M26 30H37M37 30L31.5 24.3M37 30L31.5 35.7' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/>\
  </g>\
</svg>");
}
.navmol--prev:hover{filter:brightness(.98)}
.navchip:hover{filter:brightness(1.05)}
@media (max-width:768px){
  .hero__arrows{ right:16px; bottom:16px }
  .navmol, .navchip{ transform:scale(.92); transform-origin:right bottom }
}

/* Точки (индикаторы) — поддержка <button> и <a> */
.hero__dots{ position:absolute; left:24px; bottom:24px; display:flex; align-items:center; gap:40px; z-index:5 }
.hero__dots button,
.hero__dots a{
  all:unset; display:inline-block;
  width:8px; height:8px; border-radius:50%;
  background:#fff; cursor:pointer; opacity:.9;
  transition:transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.hero__dots button:hover,
.hero__dots a:hover,
.hero__dots button:focus-visible,
.hero__dots a:focus-visible{ transform:scale(1.1); outline:none; opacity:1 }
.hero__dots [aria-selected="true"],
.hero__dots [aria-current="true"]{ background:transparent; border:6px solid #fff; width:10px; height:10px }

.hero__arrows .navmol[aria-disabled="true"],
.hero__arrows .navchip[aria-disabled="true"],
.hero__arrow-btn[aria-disabled="true"]{
  opacity:.35; pointer-events:none; filter:grayscale(30%);
}


@media (max-width:768px){
  .hero__dots{ left:16px; bottom:16px; gap:8px }
}

/* ===== Глобальные RADIO ===== */
.radio{
  display:inline-flex; align-items:center; gap:8px;
  font-size:15px; color:var(--text-900); cursor:pointer;
}

.radio input[type="radio"]{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  width:18px; height:18px; border-radius:50%;
  border:2px solid var(--accent);
  display:inline-block; position:relative;
  cursor:pointer; background:#fff; flex-shrink:0;
  transition:border-color .2s, background .2s;
}
.radio input[type="radio"]:checked{
  border-color:var(--brand-yellow);
  background: radial-gradient(circle at center, var(--brand-yellow) 0 40%, transparent 45%);
}
.radio input[type="radio"]:focus-visible{
  outline:2px solid var(--brand-yellow-20);
  outline-offset:2px;
}
/* ===== Глобальные CHECKBOX ===== */
.checkbox{
  display:inline-flex; align-items:center; gap:8px; margin: var(--gap-md) 0;
  font-size:15px; color:var(--text-900); cursor:pointer;
}

.checkbox input[type="checkbox"]{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  width:18px; height:18px; border-radius:50%;
  border:2px solid var(--accent);
  display:inline-block; position:relative;
  cursor:pointer; background:#fff; flex-shrink:0;
  transition:border-color .2s, background .2s;
}

.checkbox input[type="checkbox"]:checked{
  border-color:var(--brand-yellow);
  background: radial-gradient(circle at center, var(--brand-yellow) 0 40%, transparent 45%);
}

.checkbox input[type="checkbox"]:focus-visible{
  outline:2px solid var(--brand-yellow-20);
  outline-offset:2px;
}


/* Небольшой контейнер для пагинации */
.hero-pager{ position:relative; margin:28px 0 8px; min-height:64px }

/* ===== ВСПОМОГАТЕЛЬНОЕ ===== */
.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden}
.section{padding:var(--gap-xxl) 0}
.section--surface{background:var(--surface)}
.section--muted{background:var(--bg)}
.visually-hidden{position:absolute!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;white-space:nowrap!important}

/* ===== Хлебные крошки (общие) ===== */
.event-bc{ margin: var(--gap-xxl) 0; color:var(--text-600); font-size:var(--fs-md) }
.event-bc a{ color:inherit }
.event-bc a:hover{ text-decoration:underline }
.event-bc .sep{ margin:0 6px }

/* ===== Motion reduce ===== */
@media (prefers-reduced-motion: reduce){
  .btn, .btn-fav, .btn-circle, .navmol, .navchip { transition:none !important; transform:none !important }
}

/* ---------- ПИЛЮЛИ (дата / формат / время) ---------- */
.event-badges{
  display:flex; flex-wrap:wrap; gap:16px;
  margin: var(--gap-xxl) 0; padding:0; list-style:none;
}
.event-badge{
  position:relative;
  display:inline-flex; align-items:center;
  height:56px;
  padding:0 22px 0 62px;
  border-radius:999px;
  border:1px solid var(--accent);
  font-weight:700; font-size:25px; line-height:1;
  color:#446A81; white-space:nowrap;
}
.event-badge::before{
  content:""; position:absolute; left:18px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; background:no-repeat center / 28px 28px;
}
/* календарь — как на главной */
.event-badge--date::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23446A81' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.2' y='5.2' width='17.6' height='15.6' rx='1.6'/%3E%3Cline x1='7' y1='3.1' x2='7' y2='5.1'/%3E%3Cline x1='17' y1='3.1' x2='17' y2='5.1'/%3E%3Cline x1='3.6' y1='9' x2='20.4' y2='9'/%3E%3Cline x1='6' y1='12' x2='7.5' y2='12'/%3E%3Cline x1='11.5' y1='12' x2='13' y2='12'/%3E%3Cline x1='17' y1='12' x2='18.5' y2='12'/%3E%3Cline x1='6' y1='15.8' x2='7.5' y2='15.8'/%3E%3Cline x1='11.5' y1='15.8' x2='13' y2='15.8'/%3E%3C/svg%3E");
}
/* «онлайн + очно» */
.event-badge--mode::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 23' fill='none'%3E%3Cpath d='M18.625 10.417C19.4583 10.8981 19.4583 12.1019 18.625 12.583L2.875 21.6758C2.04181 22.1568 1.00035 21.5557 0.999999 20.5937L1 2.40625C1.00035 1.44428 2.0418 0.843172 2.875 1.32422L18.625 10.417Z' stroke='%23446A81' stroke-width='1.5'/%3E%3C/svg%3E");
}
/* время */
.event-badge--time::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 25' fill='none'%3E%3Cpath d='M22.879 12.5C22.879 18.5419 17.9814 23.4395 11.9395 23.4395C5.8976 23.4395 1 18.5419 1 12.5C1 6.45809 5.8976 1.56049 11.9395 1.56049' stroke='%23446A81' stroke-width='1.5'/%3E%3Cpath d='M22.6603 10.3121C22.4787 9.41628 22.1846 8.54698 21.7852 7.72488' stroke='%23446A81' stroke-width='1.5'/%3E%3Cpath d='M20.6913 5.93518C20.0687 5.10648 19.3321 4.36988 18.5034 3.74728' stroke='%23446A81' stroke-width='1.5'/%3E%3Cpath d='M16.7135 2.6544C15.8917 2.2551 15.0228 1.961 14.1274 1.7793' stroke='%23446A81' stroke-width='1.5'/%3E%3Cpath d='M11.9395 7.03018V12.5L16.3153 16.8758' stroke='%23446A81' stroke-width='1.5'/%3E%3C/svg%3E");
}
@media (max-width:560px){
  .event-badge{ font-size:20px; height:52px; padding-left:56px; }
}
/* ===== ≤1024px: стрелки по бокам, точки по центру ===== */
@media (max-width:1024px){
  .hero__arrows{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;   /* расстояние между стрелкой и точками */
    margin-top: 24px;
  }

  .hero__arrows .navmol,
  .hero__arrows .navchip{
    all: unset;
    width: 19px;
    height: 22px;
    cursor: pointer;
    background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='19' height='22' viewBox='0 0 19 22' fill='none'><path d='M17.0861 9.27815C18.3961 10.0523 18.3961 11.9477 17.0861 12.7219L3.5205 20.7379C1.83168 21.7358 -0.134923 19.959 0.687114 18.1779L3.61318 11.8381C3.85862 11.3063 3.85862 10.6937 3.61318 10.1619L0.687116 3.82208C-0.13492 2.041 1.83167 0.264169 3.52049 1.26211L17.0861 9.27815Z' fill='%23446A81'/></svg>");
  }

  /* левая стрелка — поворот */
  .hero__arrows .navmol{ transform: rotate(180deg); }

  /* точки строго по центру */
  .hero__dots{
    position: static;
    display: flex;
    gap: 12px;
  }
}
