/*
Theme Name: ГСП — Светлая тема
Theme URI: https://psy-guild.ru
Author: Илья & Элия
Description: Светлая, профессиональная тема для Гильдии Современной Психологии: каталог участников, события и закрытый раздел партнёров.
Version: 1.0.0
Text Domain: gsp-guild
*/

:root{
  --bg:#f8fafc; --bg-2:#ffffff; --card:#ffffff; --border:#e5e7eb;
  --text:#0f172a; --muted:#475569; --accent:#3b82f6; --accent-2:#8b5cf6;
  --radius:18px; --shadow:0 8px 24px rgba(2,6,23,.08); --maxw:1100px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.65}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);z-index:50}
.header-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 0}
.brand{
    display:flex;
    gap:12px;
    align-items:center
    }

/*лого*/
.brand img{
    width:130px;
    height:130px;
    border-radius:10px;
    background:#fff;
    border:1px solid var(--border);
    padding:6px
    }
.brand-block {
    max-width:280px;
    text-transform: uppercase;
    color: #3b135b;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: .2px;
}
.brand-sm {
font-size: 12pt;
  margin-top: 5px;
  border-top: 2px solid #999999;
  padding-top: 5px;
  }

.brand .title{
    font-weight: 800;
    letter-spacing: .2px;
    font-size: 16pt;
    color: #3b135b;
    line-height: 1.1;
  }
.brand:hover {
    text-decoration: none !important;  
}
h1 {
     color: #3b135b;   
}
h2 {
     color: #3b135b;   
}
h3 {
     color: #3b135b;   
}

.title_h {
  text-align: center;
  text-transform: uppercase;
}



.nav{display:flex;gap:12px;align-items:center}
.nav a{padding:8px 10px;border-radius:10px;color:var(--text)}
.nav a:hover{background:#eef2ff;text-decoration:none}
.mobile-toggle{display:none;background:#eef2ff;border:1px solid var(--border);padding:8px 10px;border-radius:10px;color:var(--text)}
@media(max-width:840px){.nav{display:none;position:absolute;top:56px;left:0;right:0;background:var(--bg-2);
  border-bottom:1px solid var(--border);padding:10px 16px;flex-direction:column}.nav.open{display:flex}.mobile-toggle{display:inline-flex}}
.hero{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;padding:36px 0 22px}
.hero img{width:96px;height:96px;border-radius:22px;background:#fff;border:1px solid var(--border);padding:10px}
hero h1{font-size:34px;margin:0 0 8px}.hero p{margin:0;color:var(--muted)}
@media(max-width:640px){ .hero{grid-template-columns:1fr} .hero img{margin-bottom:8px} }
.grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.badge{display:inline-block;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:4px 8px;border-radius:999px;font-size:12px}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:#1f2937;color:#fff}
.btn:hover{background:#111827}
.footer{
    margin-top:48px;
    padding:28px 0;
    border-top:1px solid var(--border);
    color:var(--muted);
    text-align: center}
.post-meta{color:var(--muted);font-size:14px}
.prose h1,.prose h2,.prose h3{margin:18px 0 8px}
.prose p{margin:0 0 12px}
input[type="search"], input[type="text"], textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text)}
.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
.gallery{display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}
@media(max-width:800px){.gallery{grid-template-columns:repeat(2,1fr)}}


/*Футер*/
.footer-arg {
    font-size: 10pt;
    color: #999999;

}

.footer-arg a {
    text-decoration: none;
    color: #999999;
}
.footer-arg a:hover {
    text-decoration: none;
    color: #666666;
}

/* === GSP v2 — calm dark minimal === */
:root{
  --gsp-bg:#0E1014;        /* фон страницы */
  --gsp-surface:#14171E;   /* фон карточек/секций */
  --gsp-line:#1E2230;      /* бордеры */
  --gsp-text:#EDEFF6;      /* основной текст */
  --gsp-muted:#A6ABBA;     /* вторичный текст */
  --gsp-accent:#7AA2FF;    /* один акцент */
  --gsp-radius:16px;
  --gsp-shadow:0 12px 32px rgba(0,0,0,.25);
  --gsp-container:1120px;

  --gsp-h1:40px;
  --gsp-h2:26px;
  --gsp-body:16px;
  --gsp-lead:18px;

  --gsp-space-1:8px;
  --gsp-space-2:12px;
  --gsp-space-3:16px;
  --gsp-space-4:20px;
  --gsp-space-5:28px;
  --gsp-space-6:40px;
  --gsp-space-7:56px;
}
.gsp-front{background:var(--gsp-bg); color:var(--gsp-text);}
.gsp-front *{box-sizing:border-box;}

/* контейнер и сетка */
.gsp-container{max-width:var(--gsp-container); margin:0 auto; padding:0 var(--gsp-space-3);}
.gsp-grid-2{display:grid; gap:var(--gsp-space-4); grid-template-columns:1fr;}
@media(min-width:900px){ .gsp-grid-2{grid-template-columns:1fr 1fr;} }

/* типографика */
.gsp-front h1{font-size:var(--gsp-h1); line-height:1.15; margin:0 0 var(--gsp-space-3);}
.gsp-front h2{font-size:var(--gsp-h2); line-height:1.25; margin:0 0 var(--gsp-space-2);}
.gsp-lead{font-size:var(--gsp-lead); color:var(--gsp-muted);}

/* кнопки и ссылки */
.gsp-actions{display:flex; gap:var(--gsp-space-2); flex-wrap:wrap;}
.gsp-btn{display:inline-block; padding:12px 18px; border-radius:12px; text-decoration:none; border:1px solid transparent;}
.gsp-btn--primary{background:var(--gsp-accent); color:#0B1224; font-weight:700;}
.gsp-btn--ghost{border-color:var(--gsp-line); color:var(--gsp-text);}
.gsp-link{color:var(--gsp-accent); text-decoration:none; font-weight:600;}

/* секции */
.gsp-hero{padding:var(--gsp-space-7) 0 var(--gsp-space-6); border-bottom:1px solid var(--gsp-line);}
.gsp-duo{padding:var(--gsp-space-6) 0;}
.gsp-about{padding:var(--gsp-space-6) 0; border-top:1px solid var(--gsp-line); border-bottom:1px solid var(--gsp-line);}
.gsp-reasons{padding:var(--gsp-space-6) 0;}
.gsp-ai{padding:var(--gsp-space-6) 0; border-top:1px solid var(--gsp-line); border-bottom:1px solid var(--gsp-line);}
.gsp-cta{padding:var(--gsp-space-6) 0 var(--gsp-space-7);}

/* карточки */
.gsp-card{background:var(--gsp-surface); border:1px solid var(--gsp-line); border-radius:var(--gsp-radius); padding:var(--gsp-space-4); box-shadow:var(--gsp-shadow);}
.gsp-card p{color:var(--gsp-muted);}

/* списки и чипы */
.gsp-list{margin:var(--gsp-space-2) 0 var(--gsp-space-3); padding-left:18px; color:var(--gsp-muted);}
.gsp-chiprow{display:flex; gap:var(--gsp-space-2); flex-wrap:wrap; margin:var(--gsp-space-3) 0;}
.gsp-chip{background:#161A23; border:1px solid var(--gsp-line); color:var(--gsp-muted); padding:6px 10px; border-radius:999px; font-size:12px;}

/* декоративные фигуры — заменили градиенты на спокойные площадки */
.gsp-figure,.gsp-ai-figure{
  min-height:240px; border-radius:var(--gsp-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
  border:1px dashed var(--gsp-line);
}

/* блок причин в равную сетку */
.gsp-reasons .gsp-grid{display:grid; gap:var(--gsp-space-3);}
@media(min-width:900px){ .gsp-reasons .gsp-grid{grid-template-columns:repeat(3,1fr);} }
.gsp-reason{background:var(--gsp-surface); border:1px solid var(--gsp-line); border-radius:12px; padding:var(--gsp-space-3);}
.gsp-reason p{color:var(--gsp-muted); margin:6px 0 0;}

/* вспомогательные */
.gsp-muted{color:var(--gsp-muted);}
.gsp-small{font-size:12px;}



/* === Главная (миссия / гильдия) — светло и строго === */
:root{ --bg:#f7f9fc; --card:#fff; --text:#0f172a; --muted:#475569; --line:#e5e7eb; --brand:#111827;
  --radius:18px; --shadow:0 10px 28px rgba(2,6,23,.06);
}
body.home{ background:var(--bg); color:var(--text); }
.container{ 
    max-width:1120px; 
    margin:20px auto 25px;
     padding:0 14px; 
     }
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px; }
.row{ display:flex; align-items:center; }
.row.gap{ gap:10px; flex-wrap:wrap; }
.row.between{ justify-content:space-between; gap:12px; flex-wrap:wrap; }
.muted{ color:var(--muted); }

.btn{ 
    display:inline-block; 
    padding:10px 16px;
    border-radius:12px; 
    background:#3b135b; 
    color:#fff; 
    text-decoration:none; 
    border:1px solid var(--brand); 
    }
.btn:hover{ 
    text-decoration:none; 
    background:#ff9700; 
    border-color:#ff9700; 
    }
.btn.btn--light{ background:#fff; color:var(--text); border:1px solid var(--line); }
.btn.btn--light:hover{ background:#f3f4f6; }

/* HERO */
.hero-pro{ display:grid; grid-template-columns: 1.3fr .9fr; gap:16px; align-items:center; }
.hero-pro__kpis{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.kpi{ 
    background:#ff9700; 
    border:1px solid var(--line); 
    border-radius:14px; 
    padding:12px; 
    color: #ffffff}
.kpi__num{ font-weight:800; font-size:20px; line-height:1.1; }
.kpi__txt{ 
    /* color:var(--muted); */
    font-size:14px; 
    }

/* Секции */
.section{ margin-top:26px; }
.section__head{ margin-bottom:12px; }

/* Колонки/сетки */
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.col h3, .col h2{ margin:0 0 8px; }
.list{ margin:0; padding-left:18px; }
.list li{ margin:6px 0; }

/* Шаги */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.step{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px; }
.step__num{ width:34px; height:34px; border-radius:999px; display:grid; place-items:center; background:#eef2ff; border:1px solid #e0e7ff; font-weight:700; margin-bottom:6px; }
.step__title{ font-weight:700; margin-bottom:2px; }
.step__txt{ font-size:14px; }

/* Посты/события */
.grid-2 .posts-mini{ display:grid; gap:12px; }
.post-mini{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px; }
.post-mini__meta{ font-size:13px; color:var(--muted); margin-bottom:4px; }
.post-mini__title{ font-weight:700; text-decoration:none; color:var(--text); }

/* Партнёры */
.partners{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.partner{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px; display:grid; place-items:center; min-height:92px; }
.partner__logo img{ max-width:100%; max-height:64px; object-fit:contain; }
.partner__org{ font-weight:700; font-size:14px; text-align:center; }

/* Нижний CTA */
.cta-bottom{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }

/* Адаптив */
@media (max-width: 1080px){
  .hero-pro{ grid-template-columns:1fr; }
  .hero-pro__kpis{ grid-template-columns:repeat(4,1fr); }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 720px){
  .hero-pro__kpis{ grid-template-columns:repeat(2,1fr); }
  .grid-2{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .partners{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 520px){
  .steps{ grid-template-columns:1fr; }
  .partners{ grid-template-columns:repeat(2,1fr); }
}

/* === Типографика: Inter — аккуратно и без «плясок» === */
html { font-size: 16px; }
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--text, #0f172a);
}

/* Единые веса и интервалы для заголовков */
h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 .4em; }
h1 { 
    font-size: clamp(28px, 3.2vw, 30px); 
    }
h2 { font-size: clamp(22px, 2.4vw, 26px); }
h3 { font-size: clamp(18px, 2vw, 22px); }
.h4 { font-size: 18px; font-weight: 700; }

p, li { font-weight: 400; font-size: 16px; }
strong, b { font-weight: 600; }

/* Цифры и кнопки выглядят ровно */
body { font-variant-numeric: lining-nums; } /* если хочешь, можно заменить на tabular-nums */
.btn { letter-spacing: 0; font-weight: 600; }

/* Мелкие правки для hero-kpis с текстами вместо чисел */
.kpi__num { font-size: 18px; font-weight: 700; }
.kpi__txt { font-size: 14px; }






/* Блок с героем и картинкой */
.hero-pro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}

.hero-pro img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Фигура в блоке История */
.section figure.card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.section figure.card img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Для одинаковых отступов и аккуратности */
.section.card,
.section .card {
  padding: 20px;
  box-sizing: border-box;
}

.section {
  margin-bottom: 40px;
}

@media (max-width: 768px) {
  .hero-pro {
    flex-direction: column;
    text-align: center;
  }
}




/* === История: две равные колонки, одинаковая высота === */
.history-eq { padding: 0; }
.history-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (max-width: 900px){
  .history-grid{ grid-template-columns: 1fr; }
}
.history-media{
  background:#fff;
  border-right:1px solid var(--line);
}
@media (max-width: 900px){
  .history-media{ border-right:0; border-bottom:1px solid var(--line); }
}
.history-media img{
  width:100%; height:100%;
  object-fit:cover; display:block;
}
.history-text{ padding:18px; }

/* === 10 причин: новый дизайн карточек === */
.reasons-modern{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:14px;
}
@media (max-width: 1024px){ .reasons-modern{ grid-template-columns:1fr; } }

.reason-modern{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px 16px 16px 58px; /* место под кружок‑номер слева */
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.reason-modern:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(2,6,23,.10);
  border-color: #dbe2ea;
}

.reason-modern h3{ margin:0 0 6px; }
.reason-modern p{ margin:0; }

/* Номера в акцентных кружках */
.badge-num{
  position:absolute; left:14px; top:14px;
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:999px; font-weight:800;
  background: linear-gradient(135deg, #ffb44a 0%, #ff9700 100%);
  color:#fff; border:1px solid #f2a546;
  box-shadow: 0 4px 10px rgba(255,151,0,.25);
}

/* Чуть крупнее заголовки в этом блоке */
.reasons-modern h3{ font-size: clamp(17px, 1.8vw, 20px); }

/* Единые поля карточек на всякий случай */
.history-eq .history-text, .reason-modern { box-sizing: border-box; }


/* === Mobile polish (≤ 720px) === */
@media (max-width: 720px){

  /* Карточки: одинаковые внутренние поля и ровный ритм */
  .card{ padding:14px; }
  .section{ margin-top:22px; }

  /* HERO: стекаем, картинку центрируем, отступы ровные */
  .hero-pro{
    flex-direction: column;
    align-items: stretch;
    gap:14px !important;
  }
  .hero-pro > div:last-child{               /* блок с картинкой Бека */
    text-align:center;
    margin-top:4px;
  }
  .hero-pro > div:last-child img{
    max-width: 220px;
    width: 100%;
    height: auto;
    border-radius:12px;
  }

  /* KPI — 2 колонки, компактные карточки одинаковой высоты */
  .hero-pro__kpis{
    display:grid;
    grid-template-columns: repeat(2,1fr) !important;
    gap:8px !important;
    margin-top:12px !important;
  }
  .kpi{
    padding:10px;
    border-radius:12px;
    min-height:70px;           /* чтобы строки не прыгали */
    display:flex; flex-direction:column; justify-content:center;
  }
  .kpi__num{ font-size:16px; line-height:1.15; }
  .kpi__txt{ font-size:13px; }

  /* Миссия/ценности уже в одну колонку, только поправим списки */
  .grid-2{ grid-template-columns:1fr !important; gap:12px; }
  .list{ padding-left:18px; }
  .list li{ margin:6px 0; }

  /* ИСТОРИЯ: картинка сверху, симметричные поля и высота */
  .history-eq{ padding:0; }
  .history-grid{ grid-template-columns:1fr !important; }
  .history-media{
    border-right:0; border-bottom:1px solid var(--line);
    aspect-ratio: 4 / 3;       /* стабильная пропорция на мобилке */
    overflow:hidden;
  }
  .history-media img{
    width:100%; height:100%; object-fit:cover; display:block;
    border-radius:0;            /* чтобы не было «двойного» скругления */
  }
  .history-text{ padding:14px; }

  /* Вектора: 1 колонка (перекрываем правило на 2) */
  .steps{ grid-template-columns:1fr !important; gap:10px; }
  .step{ padding:12px; }

  /* 10 причин — читабельные карточки по одной в ряд */
  .reasons-modern{
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .reason-modern{
    padding:14px 14px 14px 56px; /* место под кружок-номер */
    border-radius:12px;
  }
  .reason-modern h3{ font-size:17px; margin-bottom:4px; }
  .reason-modern p{ font-size:14px; }

  .badge-num{
    left:12px; top:12px;
    width:32px; height:32px;
    font-size:14px;
  }

  /* Нижний CTA: кнопки переносятся и занимают ширину контента */
  .row.between{ gap:10px; }
}

/* Очень узкие экраны (≤ 380px): ещё чуть компактнее */
@media (max-width: 380px){
  .kpi{ min-height:64px; }
  .reason-modern{ padding-left:54px; }
  .badge-num{ left:10px; top:10px; width:30px; height:30px; }
}



/* === Articles catalog === */
.articles-page .articles-filter{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.articles-page .articles-filter select{
  padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--text);
}

.articles-grid{
  display:grid; gap:14px; grid-template-columns:repeat(3,1fr);
}
@media(max-width:1080px){ .articles-grid{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:620px){ .articles-grid{ grid-template-columns:1fr;} }

.article-card{ padding:0; overflow:hidden; }
.article-thumb{
  display:block; width:100%; aspect-ratio: 16/9; background:#f2f4f8; /* подложка */
  background-image: linear-gradient(135deg,#f7fafc 0%,#eef2f7 100%);
}
.article-body{ padding:14px; display:flex; flex-direction:column; gap:8px; }
.article-title{ color:inherit; text-decoration:none; }
.article-title h3{ margin:0; }
.article-title:hover{ text-decoration:underline; }
.article-meta{ display:flex; gap:12px; flex-wrap:wrap; font-size:14px; color:var(--muted); }

/* === Single article === */
.article-single .stack > * + *{ margin-top:10px; }
.single-meta{ display:flex; gap:12px; flex-wrap:wrap; }
.single-cover{
  width:100%; aspect-ratio: 21/9; border-radius:14px;
  background: linear-gradient(135deg,#f7fafc 0%,#eef2f7 100%);
  border:1px solid var(--line);
}

.post-content h2{ margin-top:16px; }
.post-content p{ margin:8px 0; }

/* Авторская мини‑карточка */
.author-card{ display:grid; grid-template-columns:130px 1fr; gap:14px; margin-top:18px; }
@media(max-width:640px){ .author-card{ grid-template-columns:1fr; } }
.author-media{
  width:100%; aspect-ratio:1/1; border-radius:12px; 
  background:#f2f4f8; border:1px solid var(--line);
  /* под фото автора; позже подставим img с object-fit:cover */
}
.author-body{ display:flex; flex-direction:column; gap:10px; }
.author-top h3{ margin:0; }
.author-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.author-txt {
    color:grey;
    margin-bottom: -5px;
}

/* Немного воздуха вокруг статьи */
.article-single > .card{ padding:18px; }

/*пагинация в списках статей*/
.nav-links, .pagination, .page-numbers {
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
a.page-numbers, span.page-numbers {
  padding:6px 10px; border:1px solid var(--line); border-radius:10px;
  text-decoration:none;
}
span.page-numbers.current { background:#eef2ff; border-color:#e0e7ff; font-weight:600; }


/* Базовая сетка меню */
.nav .menu{display:flex; gap:12px; align-items:center; list-style:none; margin:0; padding:0;}
.nav .menu > li > a{display:inline-block; padding:8px 10px; border-radius:10px; color:var(--text); text-decoration:none;}
.nav .menu > li > a:hover{background:#eef2ff; text-decoration:none;}

/* Дропдауны (desktop) */
.nav .sub-menu{
  position:absolute; z-index:100; min-width:220px;
  background:#fff; border:1px solid var(--border); border-radius:12px;
  box-shadow:var(--shadow); padding:8px; margin-top:8px; list-style:none; display:none;
}
.nav .sub-menu li a{display:block; padding:8px 10px; border-radius:8px; color:var(--text);}
.nav .sub-menu li a:hover{background:#f1f5ff; text-decoration:none;}

/* Показываем по ховеру на десктопе */
@media (hover:hover){
  .nav .menu > li{position:relative;}
  .nav .menu > li:hover > .sub-menu{display:block;}
}

/* Мобильное меню — компактная кнопка с «бургером» */
.mobile-toggle{ display:none; }

/* скрытый текст для скринридеров */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

@media(max-width:840px){
  .mobile-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; padding:0;
    border:1px solid var(--line); border-radius:12px;
    background:#fff; color:var(--text);
    box-shadow:var(--shadow);
    transition:background .2s ease, border-color .2s ease, transform .2s ease;
  }
  .mobile-toggle:active{ transform:scale(.98); }
  .mobile-toggle:hover{ border-color:#cbd5e1; background:#f8fafc; }

  /* иконка «бургер» */
  .mobile-toggle .burger,
  .mobile-toggle .burger::before,
  .mobile-toggle .burger::after{
    content:""; display:block;
    width:22px; height:2px; background:var(--text);
    border-radius:2px; transition:transform .2s ease, opacity .2s ease;
  }
  .mobile-toggle .burger{ position:relative; }
  .mobile-toggle .burger::before{ position:absolute; left:0; transform:translateY(-6px); }
  .mobile-toggle .burger::after { position:absolute; left:0; transform:translateY(6px); }

  /* анимация в «крестик» при открытом меню */
  .mobile-toggle.open .burger{ transform:rotate(45deg); }
  .mobile-toggle.open .burger::before{ opacity:0; }
  .mobile-toggle.open .burger::after{ transform:rotate(-90deg); }

  /* выпадающее меню на мобиле */
  .nav{
    display:none; position:absolute; top:72px; left:0; right:0;  /* под шапкой */
    background:var(--bg-2); border-bottom:1px solid var(--border);
    padding:10px 16px; z-index:1000;
  }
  .nav.open{ display:block; }
  .nav .menu{ flex-direction:column; align-items:stretch; }

  .nav .menu > li > a{ padding:12px; border-radius:10px; }
  .nav .menu > li > a:hover{ background:#f1f5f9; }

  .nav .menu-item-has-children{ position:relative; }
  .nav .sub-menu{
    position:static; display:none; margin:6px 0 0; padding:6px;
    border:1px solid var(--border); border-radius:10px; box-shadow:none; background:#fff;
  }
  .nav .menu-item-has-children.open > .sub-menu{ display:block; }

  /* кнопка раскрытия подпунктов (та, что добавляется JS) */
  .nav .menu-item-has-children .submenu-toggle{
    margin-left:6px; width:28px; height:28px; padding:0;
    border:1px solid var(--border); border-radius:8px; background:#fff; cursor:pointer;
  }
}


/* Небольшой индикатор у пунктов с подменю (desktop) */
.nav .menu-item-has-children > a::after{
  content:"▾"; margin-left:6px; font-size:12px; opacity:.6;
}
@media(max-width:840px){
  .nav .menu-item-has-children > a::after{display:none;}
}

/* === Dropdown меню — фиксы ховера === */
.header .nav ul{list-style:none;margin:0;padding:0;display:flex;gap:16px}
.header .nav li{position:relative}
.header .nav a{display:block;padding:10px 12px;border-radius:10px}

/* стрелочка у пунктов с подменю */
.header .nav li.menu-item-has-children > a{padding-right:26px;position:relative}
.header .nav li.menu-item-has-children > a::after{
  content:""; position:absolute; right:8px; top:50%;
  width:8px; height:8px; border-right:2px solid #6b7280; border-bottom:2px solid #6b7280;
  transform:translateY(-50%) rotate(45deg); opacity:.8;
}

/* выпадающее меню */
.header .nav .sub-menu{
  position:absolute; left:0; top:100%; /* сразу под пунктом */
  margin-top:0; /* важно: без зазора! */
  min-width:220px; padding:8px;
  background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(4px);
  transition:opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
  z-index:1000;
}

/* показываем при наведение И при фокусе клавиатурой */
.header .nav li:hover > .sub-menu,
.header .nav li:focus-within > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s;
}

/* невидимый «мостик», чтобы не ронять ховер при движении к подменю */
.header .nav li.menu-item-has-children::after{
  content:""; position:absolute; left:0; right:0; top:100%;
  height:8px; /* ширина мостика */
}

/* мобильная логика: подменю раскрывается внутри списка */
@media(max-width:840px){
  .header .nav .sub-menu{
    position:static; transform:none; opacity:1; visibility:visible;
    display:none; margin:0; padding:6px 0; border:none; box-shadow:none;
  }
  .header .nav li.open > .sub-menu{display:block}
}

/* Mobile menu button */
.mobile-toggle{display:none}
@media (max-width:840px){
  .mobile-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; padding:0;
    border:1px solid var(--border); border-radius:10px;
    background:#eef2ff; color:var(--text);
    box-shadow:0 2px 6px rgba(0,0,0,.06);
  }
  .mobile-toggle svg{width:22px; height:22px}
  .mobile-toggle.open{background:#3b135b; color:#fff; border-color:#3b135b}
}

/*форма заявки*/
.join-form .form-group {
  margin-bottom: 1rem;
}
.join-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
}
.join-form input[type="text"],
.join-form input[type="email"],
.join-form input[type="file"],
.join-form textarea {
  width: 100%;
  padding: 0.6rem;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.join-form .form-group{margin-bottom:12px}
.join-form label{display:block;margin-bottom:6px;font-weight:600}
.join-form input[type="text"],
.join-form input[type="email"],
.join-form input[type="file"],
.join-form textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)
}
.join-form button[type="submit"]{min-width:180px}

/* /events — центрируем карточки событий на мобильных */
/* /events — центрируем карточки на мобиле */
@media (max-width: 768px) {
  /* Архив CPT gsp_event */
  body.post-type-archive-gsp_event main.container .grid {
    display: flex !important;          /* перекрываем grid/float темы */
    flex-direction: column;
    align-items: center;                /* центрируем все карточки */
  }
  body.post-type-archive-gsp_event main.container .grid > * {
    width: auto !important;             /* снимаем возможные фикс-ширины темы */
  }
  body.post-type-archive-gsp_event main.container .grid > .card {
    box-sizing: border-box;
    width: min(560px, 92vw);            /* аккуратная ширина карточки */
    margin: 12px 0;                     /* равные отступы */
  }
  body.post-type-archive-gsp_event main.container .grid > .card img {
    display: block;
    max-width: 100%;
    height: auto;
  }
}

/* Если /events — страница с шорткодом [gsp_events] */
@media (max-width: 768px) {
  body.page-slug-events main.container .grid {
    display: flex !important;
    flex-direction: column;
    align-items: center;
  }
  body.page-slug-events main.container .grid > .card {
    width: min(560px, 92vw);
    margin: 12px 0;
  }
}

/*Партнерская карточка*/
.gspp-grid .gspp-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s}
.gspp-grid .gspp-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.12);transform:translateY(-2px)}
.gspp-grid .gspp-logo{display:block;margin:0 auto 12px!important;max-width:100%!important;width:320px!important}
.gspp-grid .gspp-logo img{display:block;margin:0 auto;width:320px!important;max-width:100%!important;height:auto!important}
.gspp-grid .gspp-title{
    font-weight:600;
    margin:0 0 6px;
    font-size:16px;
    line-height:1.3;
    text-align:center;
    }
.gspp-grid .gspp-desc{margin:0;color:#666;font-size:14px;line-height:1.5}
.gspp-grid .gspp-row{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:10px}
.gspp-grid .gspp-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#f2f4f7;font-size:12px;color:#455;white-space:nowrap}

/*Образование*/
   :root{
      --gsp-accent: var(--brand, #6b21a8);
      --gsp-line: #e5e7eb;
      --gsp-muted: #475569;
      --gsp-card-bg: #fff;
    }

    /* Страница витрины */
    .articles-page{display:flex; flex-direction:column; gap:16px;}
    .articles-filter{position:relative;}

    /* Фильтр и поиск: в одну линию на десктопе, колонкой на мобайле */
    .gsp-filter{display:flex; align-items:center; gap:12px; flex-wrap:nowrap;}
    .gsp-filter select,
    .gsp-filter input[type="search"]{
      height:40px; padding:0 12px; border:1px solid var(--gsp-line);
      border-radius:10px; background:#fff; outline:none;
    }
    .gsp-filter input[type="search"]{flex:1 1 auto; min-width:280px;}
    .gsp-filter .btn{height:40px; padding:0 14px; border-radius:10px;}
    @media (max-width: 768px){
      .gsp-filter{flex-direction:column; align-items:stretch;}
      .gsp-filter > *{width:100%;}
    }

    /* Сетка карточек */
    .articles-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
      gap:18px;
    }

    /* Карточка */
    .article-card.card.edu-card{
      background:var(--gsp-card-bg);
      border:1px solid var(--gsp-line);
      border-radius:16px;
      padding:16px;
      transition:box-shadow .2s ease, transform .03s ease;
      display:flex; flex-direction:column; gap:10px;
    }
    .article-card.card.edu-card:hover{
      box-shadow:0 8px 24px rgba(2,6,23,.08);
      transform:translateY(-1px);
    }

    /* Шапка карточки */
    .edu-head{display:flex; justify-content:space-between; align-items:center; gap:12px;}
    .edu-brand{display:flex; align-items:center; gap:10px;}
    .edu-inst{
        font-weight:600; 
        color:#666666;
        font-size:10pt;
        }

    /* Логотип */
    .edu-logo{
      width:60px; 
      height:60px;
      border-radius:10px; 
      border:1px solid var(--gsp-line);
      background:#fff; 
      display:grid; 
      place-items:center; 
      overflow:hidden;
    }
    .edu-logo img{
        max-width:100%; 
        max-height:100%; 
        object-fit:contain; 
        display:block
        }
    .edu-mono{
      width:36px; 
      height:36px; 
      border-radius:999px; 
      display:grid; 
      place-items:center;
      background:#eef2ff; 
      border:1px solid #e0e7ff; 
      font-weight:800; color:#1e293b;
      font-size:14px; 
      letter-spacing:-.02em;
    }

    /* Заголовок */
    .edu-title{color:inherit; text-decoration:none;}
    .edu-title h3{
        margin:0; 
        line-height:1.25; 
        font-size:18px;
        display: flex;
        min-height: 50px;
         margin-left: 5px;
        align-items: center;
        }
    .edu-title:hover{text-decoration:underline;}

    /* Бейджи */
    .edu-tags{display:flex; gap:8px; flex-wrap:wrap; font-size:14px; color:var(--gsp-muted);}
    .badge{
        display:inline-flex; 
        align-items:center; 
/*        gap:6px; */
        padding:4px 8px; 
        border-radius:8px; 
        background:#ff9700;
        border:1px solid var(--gsp-line);
        color:#ffffff;
        }
    .badge-date{border-color:#e0e7ff; background:#ff9700; font-weight:600;}
 /*   .badge-date .dot{width:6px; height:6px; border-radius:999px; background:var(--gsp-accent); display:inline-block;}*/

    /* Низ карточки */
    .edu-foot{
        margin-top:2px; 
    /*    display:flex; 
        justify-content:flex-end;*/
        }
    .edu-actions .btn{
        margin-top:0;
        width: 100%;
        }

    /* Пагинация по центру */
    .pagination{margin:12px 0 0; display:flex; justify-content:center;}
    .pagination ul{list-style:none; display:flex; justify-content:center; gap:8px; margin:0; padding:0;}
    .pagination li a,
    .pagination li span{
      display:inline-flex; align-items:center; justify-content:center;
      min-width:36px; height:36px; padding:0 10px;
      border:1px solid var(--gsp-line); border-radius:10px; text-decoration:none;
    }
    .pagination li span.current{background:var(--gsp-accent); color:#fff; border-color:var(--gsp-accent);}
    .pagination li a:hover{border-color:var(--gsp-accent);}

    /* Мобильная адаптация */
    @media (max-width: 640px){
      .edu-head{align-items:flex-start; gap:10px;}
      .edu-foot .btn{width:100%;}
    }
/*Ссылка в карточках*/
  .gsp-copy-btn{display:inline-flex;align-items:center;gap:8px;margin:8px 0;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;background:#fff;cursor:pointer}
  .gsp-copy-btn:hover{box-shadow:0 1px 0 rgba(0,0,0,.05)}
  .gsp-copy-btn svg{width:16px;height:16px}
  .gsp-copy-mini{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer;font-size:12px;line-height:1}
  .gsp-copy-mini:hover{background:#f9fafb}
  .gsp-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(8px);background:#fc9c00;color:#fff;padding:10px 14px;border-radius:10px;opacity:0;transition:.25s;z-index:9999}
  .gsp-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/*Поисковая выдача карточек*/
    /* Контейнер формы */
    .gspf-wrap{max-width:1100px;margin:10px auto 18px;padding:12px;border:1px solid #eee;border-radius:14px}
    .gspf-top{display:flex;gap:10px;align-items:center}
    .gspf-input{flex:1;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;min-width:0}
    .gspf-actions{display:flex;gap:8px}
    .gspf-btn{border:1px solid #e5e7eb;background:#f9fafb;border-radius:10px;padding:10px 12px;cursor:pointer;white-space:nowrap}
    .gspf-btn.gspf-primary{background:#111827;color:#fff;border-color:#111827}
    .gspf-more{margin-top:10px}.gspf-row{margin-top:10px}
    .gspf-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    @media(max-width:900px){.gspf-inline{grid-template-columns:1fr}}
    .gspf-label{display:block;font-weight:600;margin-bottom:6px}
    .gspf-chips{display:flex;flex-wrap:wrap;gap:6px}
    .gspf-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;cursor:pointer}
    .gspf-radios{display:flex;gap:8px;flex-wrap:wrap}.gspf-radio{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;cursor:pointer}
    .gspf-msg{margin-top:8px;color:#6b7280}

    /* Список результатов: адаптивная сетка */
    .gspf-list{
      display:grid;
      gap:14px;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
    @media(min-width:1280px){ .gspf-list{grid-template-columns: repeat(3, minmax(0, 1fr));} }
    @media(min-width:900px) and (max-width:1279.98px){ .gspf-list{grid-template-columns: repeat(2, minmax(0, 1fr));} }

    /* Карточка */
    .gspf-card{
      display:flex; 
      flex-direction:column; 
      gap:3px;
      border:1px solid #eee;
      border-radius:14px;padding:12px;
      background:#fff;
      transition:box-shadow .15s ease, transform .15s ease;
      height:100%;
    }
    .gspf-card:hover{box-shadow:0 6px 20px rgba(17,24,39,.08); transform:translateY(-1px);}

    /* Медиа: вертикальный формат 4:5, чтобы лица не обрезались по бокам.
       Сместили фокус чуть к верхней части кадра. */
    .gspf-media{
      width:100%;
      aspect-ratio: 4 / 5;              /* вертикаль */
      background:#f3f4f6; border-radius:10px; overflow:hidden;
    }
    .gspf-media img{
      width:100%; height:100%;
      object-fit: cover;
      object-position: 50% 20%;         /* фокус ~ на лицо (верхняя треть) */
      display:block;
    }

    /* Текстовые блоки */
    .gspf-title{
      font-weight:700;
      text-align: center;
      margin:.2em 0 0;
      line-height:1.25;
      font-size:1.15rem;                 /* ~18px на мобиле */
    }
    @media(min-width:900px){
      .gspf-title{ font-size:1.25rem; }  /* ~20px на десктопе */
    }
    .gspf-desc{
    /*  margin:.35em 0 .45em;*/
    margin:0px;
    color:#374151;
      line-height:1.35;
      display:-webkit-box;
      -webkit-line-clamp:3;
      -webkit-box-orient:vertical;
      overflow:hidden; 
      /* min-height:3.6em; */
    }

    .gspf-badges{display:flex;flex-wrap:wrap;gap:6px;margin:.2em 0 .4em}
    .gspf-badge{background:#f3f4f6;border-radius:999px;padding:3px 8px;font-size:.85em}

    .gspf-link{
      display:inline-flex;justify-content:center;align-items:center;
      background:#c0c0c0;color:#fff;text-decoration:none;border-radius:10px;padding:10px 12px;
      margin-top:auto; /* тянем кнопку вниз, чтобы карточки были одной высоты */
    }
    .gspf-link:hover{
        text-decoration:none;
        background:#999999;
    }

    .gspf-link a:hover{
        text-decoration:none;
    }

    /* Мобайл улучшения */
    @media(max-width:640px){
      .gspf-wrap{padding:10px}
      .gspf-input{padding:9px 10px}
      .gspf-link{width:100%}
    }

    .gspf-empty{color:#666;margin-top:8px}

/* GSP Join — форма заявки */
.gspj-wrap{max-width:860px;margin:0 auto;padding:10px 16px}
.gspj-errors{background:#fee;border:1px solid #f88;padding:12px;border-radius:8px;margin-bottom:16px}
.gspj-errors li{margin:6px 0}
.gspj-success{background:#eefbe8;border:1px solid #87d76a;padding:14px;border-radius:8px;margin-bottom:16px}
.gspj-form .gspj-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gspj-form label{display:flex;flex-direction:column;font-weight:600;font-size:14px;gap:6px}
.gspj-form input[type="text"],
.gspj-form input[type="email"],
.gspj-form input[type="number"],
.gspj-form textarea{padding:10px;border:1px solid #ddd;border-radius:10px;font-weight:400}
.gspj-form textarea{min-height:90px}
.gspj-consent{grid-column:span 2;flex-direction:row;align-items:center;font-weight:500}
.gspj-consent input{margin-right:8px}
.gspj-actions{grid-column:span 2}
.gspj-btn{display:inline-block;padding:10px 16px;border-radius:10px;border:1px solid #222;text-decoration:none}
@media(max-width:720px){.gspj-form .gspj-grid{grid-template-columns:1fr}}



/* ===== GSP Join · десктоп 12 колонок, мобилка 1 колонка ===== */
.gspj-wrap{max-width:980px;margin:0 auto;padding:16px}
.gspj-errors{background:#fee;border:1px solid #f88;padding:12px;border-radius:12px;margin-bottom:16px}
.gspj-success{background:#eefbe8;border:1px solid #87d76a;padding:14px;border-radius:12px;margin-bottom:16px}

.gspj-form{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:28px;box-shadow:0 8px 24px rgba(2,6,23,.06)}

.gspj-form .gspj-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr)); /* ВМЕСТО 1fr 1fr */
  gap:18px 20px;
  align-items:start;
}

/* Ширины колонок */
.gspj-field.span-12{grid-column:1 / -1}
.gspj-field.span-6{grid-column:span 6}

/* Мобилка: всё по одной */
@media(max-width:860px){
  .gspj-form .gspj-grid{grid-template-columns:1fr}
  .gspj-field.span-6,.gspj-field.span-12,
  .gspj-consents.span-12,.gspj-actions.span-12{grid-column:1 / -1}
}

/* Поля и подписи */
.gspj-field label{display:block;font-weight:600;font-size:14px;margin-bottom:8px;color:#0f172a}
.gspj-form input[type="text"],
.gspj-form input[type="email"],
.gspj-form input[type="number"],
.gspj-form textarea{
  width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;background:#fff;
  font-size:15px;line-height:1.45;transition:border-color .15s,box-shadow .15s
}
.gspj-form textarea{min-height:110px;resize:vertical}
.gspj-form input::placeholder,.gspj-form textarea::placeholder{color:#9ca3af}
.gspj-form input:focus,.gspj-form textarea:focus{outline:0;border-color:#6d28d9;box-shadow:0 0 0 3px rgba(109,40,217,.18)}

/* === GSP Join · красивые чекбоксы === */
/* ===== GSP Join · карточки-чекбоксы + фикс кнопки ===== */

/* 1) Чекблоки во всю строку сетки формы */
.gspj-consents{ grid-column:1 / -1; }

/* 2) Сетка карточек: 2 в ряд на десктопе, 1 на мобиле */
.gspj-consents{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px 20px;
  align-items:stretch;
  margin-top:8px;
}
@media (max-width: 860px){
  .gspj-consents{ grid-template-columns:1fr; }
}

/* 3) Внешний вид карточек (это <label class="gspj-checkbox">...) */
.prose .gspj-consents label.gspj-checkbox,
.gspj-consents label.gspj-checkbox{
  display:flex !important;
  align-items:flex-start;
  gap:12px;
  width:100%;
  padding:14px 16px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(2,6,23,.06);
  cursor:pointer;
  text-align:left;
  transition:border-color .2s, box-shadow .2s, transform .02s;
}
.gspj-checkbox:hover{ border-color:#cbd5e1; box-shadow:0 10px 24px rgba(2,6,23,.08); }
.gspj-checkbox:has(input:checked){
  border-color:#4b1b6a;
  box-shadow:0 0 0 3px rgba(75,27,106,.14);
}

/* сам чек — брендовый и доступный */
.gspj-checkbox input{
  width:20px; height:20px; flex:0 0 auto;
  margin-top:2px;
  accent-color:#4b1b6a;
}
.gspj-checkbox input:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(75,27,106,.25);
  border-radius:6px;
}
.gspj-checkbox span{
  font-weight:600; color:#0f172a; line-height:1.35;
}

/* 4) Кнопка — всегда отдельной строкой и по центру */
.gspj-actions{ 
  grid-column:1 / -1;
  display:flex; 
  justify-content:center; 
  margin-top:12px; 
}
.gspj-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 20px;
  border-radius:12px; border:1px solid transparent;
  background:#4b1b6a; color:#fff; font-weight:700;
  letter-spacing:.02em;
  transition:opacity .15s, transform .02s, box-shadow .15s;
}
.gspj-btn:hover{ opacity:.95; }
.gspj-btn:active{ transform:translateY(1px); }
.gspj-btn:focus{ outline:0; box-shadow:0 0 0 3px rgba(109,40,217,.25); }

.gspj-sep{border:0;height:1px;background:#e5e7eb;margin:28px 0 16px}

/* Для селекта в форме обращений, т.к. теперь используем .gspj-form */
.gspj-form select {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-weight: 400;
}

/* ===== Бейдж «Активный» поверх миниатюры психолога ===== */
.gspa-thumb-wrap{ position:relative; display:inline-block; line-height:0; }
.gspa-active-badge{
  position:absolute; top:10px; left:10px; z-index:3;
  padding:6px 10px; border-radius:999px;
  font-size:12px; font-weight:700; color:#fff;
  background:linear-gradient(90deg,#10b981,#2563eb); /* зелёно-синий */
  box-shadow:0 6px 16px rgba(0,0,0,.15);
  pointer-events:none;
}
@media(max-width:480px){ .gspa-active-badge{ font-size:11px; padding:5px 8px; } }

/* ===== Секция «Статьи автора» на странице психолога ===== */
.gspa-author-articles{ margin:26px 0 10px; }
.gspa-aa-title{
  font-size:1.4rem; font-weight:800; margin:0 0 12px;
}
.gspa-aa-list{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
}
@media(min-width:1024px){
  .gspa-aa-list{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media(min-width:640px) and (max-width:1023.98px){
  .gspa-aa-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

/* Карточка статьи */
.gspa-aa-card{
  border:1px solid #eee; border-radius:12px; background:#fff;
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .15s ease, transform .15s ease;
}
.gspa-aa-card:hover{ box-shadow:0 6px 20px rgba(17,24,39,.08); transform:translateY(-1px); }

.gspa-aa-media{ display:block; background:#f3f4f6; aspect-ratio: 16 / 9; overflow:hidden; }
.gspa-aa-media img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.gspa-aa-ph{ display:block; width:100%; height:100%; background:#e5e7eb; }

.gspa-aa-h{ font-size:1.05rem; line-height:1.3; margin:10px 12px 6px; }
.gspa-aa-h a{ color:#111827; text-decoration:none; }
.gspa-aa-h a:hover{ text-decoration:underline; }

.gspa-aa-meta{ color:#6b7280; font-size:.9rem; margin:0 12px 12px; }
.gspa-aa-more{ margin-top:10px; }
.gspa-aa-morelink{
  display:inline-block; margin-top:4px;
  padding:8px 12px; border-radius:10px;
  background:#111827; color:#fff; text-decoration:none;
}
.gspa-aa-morelink:hover{ filter:brightness(1.05); }

/* ===== Блок "Статьи психолога" — list style ===== */
.psy-articles.card { padding: 16px; border-radius: 12px; }
.psy-articles__title { margin: 0 0 12px; }

.psy-articles-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }

.psy-article { background: var(--card-bg, #fff); border: 1px solid rgba(0,0,0,.06); border-radius: 12px; }
.psy-article__inner { display: grid; grid-template-columns: 140px 1fr; gap: 16px; align-items: start; padding: 12px; }

.psy-article__thumb img { width: 100%; height: auto; border-radius: 8px; display: block; }

.psy-article__title h3 { margin: 0 0 6px; font-size: 1.05rem; line-height: 1.3; }
.psy-article__title { text-decoration: none; }
.psy-article__title:hover h3 { text-decoration: underline; }

.psy-article__meta { color: #666; font-size: .9rem; margin-bottom: 6px; }
.psy-article__excerpt { margin: 0; color: #2b2b2b; line-height: 1.45; }

.psy-articles__more { margin-top: 12px; display: flex; justify-content: flex-end; }

/* Адаптив: на узких — без миниатюры слева */
@media (max-width: 640px) {
  .psy-article__inner { grid-template-columns: 1fr; }
}

/* Контейнер вокруг миниатюры: фиксим возможное «двоение» версткой */
.gsp-photo-badge {
  position: relative;
  display: block;        /* растягиваем как обычное изображение */
  line-height: 0;        /* убираем возможные зазоры */
  border-radius: 12px;
  overflow: hidden;
}
.gsp-photo-badge img {
  display: block;
  width: 100%;
  height: auto;
}

/* SVG-медальон в правом верхнем углу */
.gsp-photo-badge__icon {
  position: absolute;
  top: 10px; right: 10px;
  width: 40px; height: 40px;
  pointer-events: none;  /* клики по фото не блокируем */
  filter: drop-shadow(0 1px 6px rgba(0,0,0,.25));
}
.gsp-photo-badge__icon .gsp-medal {
  width: 100%; height: 100%;
}

/* БОЛЬШЕ НИКАКОЙ РАМКИ — если где-то остались старые стили, обнулим их. */
.gsp-badge-prolific, .gsp-badge-active { box-shadow: none !important; }
.gsp-badge-prolific::after, .gsp-badge-active::after { content: none !important; }

/* точечно для мини-карточки автора под статьёй */
.author-media .gsp-photo-badge__icon {
  top: 6px; right: 6px;
  width: 28px; height: 28px;
}
/* (на всякий случай) если класс --sm проставлен плагином */
.gsp-photo-badge__icon--sm { top: 6px; right: 6px; width: 28px; height: 28px; }

/*Уилитель для встраимого видео*/
.gsp-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--line,#e5e7eb);background:#000;}
.gsp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
