/*
 * Секции страницы «Контакты» (шаблон page-contacts). Грузится после base.css.
 *
 * @package easy-peasy
 */

/* --- Контакты: крупные мессенджер-кнопки --- */
/* Каналы рендерятся по числу заполненных (0–4). Сетка count-aware:
   ширина колонок капается (minmax), а трек-группа центрируется —
   чтобы 1–3 карточки не растягивались и не «липли» к левому краю. */
.msg-cards{display:grid;gap:16px;grid-template-columns:minmax(0,380px);justify-content:center}
@media(min-width:520px){.msg-cards{grid-template-columns:repeat(2,minmax(0,300px))}}
@media(min-width:1024px){.msg-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Меньше 4 карточек — фиксируем число колонок под факт. кол-во и центрируем.
   :has-квантификаторы: :nth-child(N):last-child == «ровно N элементов». */
@media(min-width:520px) and (max-width:1023.98px){
  .msg-cards:has(.msg-card:nth-child(1):last-child){grid-template-columns:minmax(0,340px)}
}
@media(min-width:1024px){
  .msg-cards:has(.msg-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,300px))}
  .msg-cards:has(.msg-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,300px))}
  .msg-cards:has(.msg-card:nth-child(1):last-child){grid-template-columns:minmax(0,340px)}
}
.msg-card{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--r-lg);color:#fff;position:relative;overflow:hidden;min-height:170px;box-shadow:var(--sh-md);transition:transform .18s ease,box-shadow .18s ease}
.msg-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);color:#fff}
.msg-card:focus-visible{box-shadow:var(--ring),var(--sh-md)}
.msg-card .mc-ico{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.msg-card .mc-ico svg{width:30px;height:30px}
.msg-card .mc-name{font-family:var(--font-head);font-weight:800;font-size:1.2rem;margin-top:auto}
.msg-card .mc-action{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;opacity:.95}
.msg-card .mc-action svg{width:16px;height:16px;transition:transform .2s ease}
.msg-card:hover .mc-action svg{transform:translateX(4px)}
.msg-card.is-soon{pointer-events:none;filter:grayscale(.2) opacity(.8)}
.msg-card.is-soon .mc-soon{position:absolute;top:14px;right:14px;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:4px 9px;border-radius:var(--r-pill)}
.mc-tg{background:linear-gradient(135deg,#2AABEE,#229ED9)}
.mc-wa{background:linear-gradient(135deg,#42C964,#25D366)}
.mc-vb{background:linear-gradient(135deg,#8F5DB7,#7360F2)}
.mc-fb{background:linear-gradient(135deg,#0A7CFF,#1877F2)}
.msg-note{margin-top:16px;display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.9rem}
.msg-note svg{width:17px;height:17px;color:var(--green)}

/* --- Прямые контакты + часы (двухколоночный блок) --- */
.contact-cols{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:820px){.contact-cols{grid-template-columns:1.1fr .9fr}}
.contact-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(22px,3vw,32px);box-shadow:var(--sh-sm)}
.contact-panel h3{font-size:1.2rem;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.contact-panel h3 svg{width:22px;height:22px;color:var(--primary)}
.contact-list{display:flex;flex-direction:column;gap:14px}
.contact-item{display:flex;align-items:center;gap:14px}
.contact-item .ci-ico{width:44px;height:44px;border-radius:12px;background:var(--surface-2);color:var(--primary);display:grid;place-items:center;flex:none}
.contact-item .ci-ico svg{width:21px;height:21px}
.contact-item .ci-label{font-size:.78rem;color:var(--text-muted);display:block}
.contact-item .ci-value{font-weight:700;color:var(--text);font-size:1.02rem;word-break:break-word}
a.ci-value:hover{color:var(--primary)}
.social-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.social-btn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--text);border:1px solid var(--line);transition:transform .16s ease,color .16s ease,border-color .16s ease}
.social-btn:hover{transform:translateY(-3px);color:var(--primary);border-color:var(--primary)}
.social-btn svg{width:21px;height:21px}
.hours-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.hours-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.96rem}
.hours-row:last-child{border-bottom:none}
.hours-row .hr-day{font-weight:600}
.hours-row .hr-time{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.hours-note{margin-top:14px;display:flex;gap:9px;align-items:flex-start;font-size:.86rem;color:var(--text-muted);background:var(--surface-2);border-radius:var(--r-md);padding:12px 14px}
.hours-note svg{width:18px;height:18px;color:var(--green);flex:none;margin-top:1px}

/* --- Онлайн-плашка вместо карты --- */
.online-plate{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--grad-brand);color:#fff;padding:clamp(26px,4vw,42px);display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:var(--sh-brand)}
.online-plate::after{content:"";position:absolute;right:-80px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.12)}
.online-plate .op-ico{position:relative;z-index:1;width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex:none}
.online-plate .op-ico svg{width:34px;height:34px}
.online-plate .op-text{position:relative;z-index:1;flex:1;min-width:220px}
.online-plate b{font-family:var(--font-head);font-size:1.35rem;font-weight:800;display:block;margin-bottom:6px}
.online-plate span{color:rgba(255,255,255,.92);font-size:1rem;line-height:1.5}

/* --- Юр-блок / RODO --- */
.legal-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(24px,4vw,40px)}
.legal-grid{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:720px){.legal-grid{grid-template-columns:repeat(2,1fr)}}
.legal-item .li-label{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:6px}
.legal-item p{font-size:.96rem;line-height:1.6;color:var(--text)}
.legal-note{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);font-size:.92rem;color:var(--text-muted);line-height:1.6;max-width:80ch}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}
.legal-links a{font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}
.legal-links a svg{width:15px;height:15px}
