/* =========================================================
   Phytarion — содержание: статьи, тексты, контакты
   Дополняет styles.css
   ========================================================= */

/* ─────────── служебное ─────────── */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:11px 18px;border-radius:var(--r-pill);
  background:var(--lime);color:var(--forest-900);font-weight:600;font-size:14px;transition:top .2s var(--ease)}
.skip-link:focus-visible{top:12px;outline:2px solid var(--forest-900);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.muted{color:var(--ink-3)}

/* ─────────── связный текст ─────────── */
.prose{font-size:clamp(16.5px,1.15vw,18.5px);line-height:1.68;color:rgba(18,35,26,.82);
  max-width:68ch;display:flex;flex-direction:column;gap:1.15em}
.prose p{margin:0}
.prose__h{font-size:clamp(23px,2.2vw,32px);line-height:1.12;letter-spacing:-.025em;color:var(--ink);
  margin-top:.55em;max-width:24ch}
.prose__list{display:flex;flex-direction:column;gap:.55em;padding-left:0}
.prose__list li{position:relative;padding-left:26px}
.prose__list li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;
  border-radius:50%;background:var(--lime-deep)}
.prose__quote{margin:.4em 0;padding:clamp(20px,2.4vw,30px) clamp(22px,2.6vw,34px);
  border-radius:var(--r-md);background:var(--paper);border-left:3px solid var(--lime-deep);
  font-size:clamp(17px,1.35vw,21px);line-height:1.5;color:var(--ink);letter-spacing:-.01em}
.prose strong{font-weight:600;color:var(--ink)}
.prose a{color:var(--moss);text-decoration:underline}
.prose a:hover{color:var(--forest-700)}
.prose__figure{margin:.5em 0;display:flex;flex-direction:column;gap:10px}
.prose__figure img{width:100%;border-radius:var(--r-lg);background:var(--ivory-3)}
.prose__figure figcaption{font-size:14px;color:var(--ink-3);line-height:1.5}

/* ─────────── страница статьи ─────────── */
.article{padding:0 0 var(--sec);display:flex;flex-direction:column;
  gap:clamp(26px,3vw,40px)}
.article__title{font-size:clamp(32px,4.4vw,62px);line-height:1.02;letter-spacing:-.035em;max-width:20ch;
  margin-top:14px}
.article__meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:clamp(18px,2vw,26px);
  font-size:14.5px;color:var(--ink-3)}
.article__meta time{font-variant-numeric:tabular-nums}
.article__author{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;
  border-radius:var(--r-pill);background:var(--paper)}
.article__author img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.article__author b{font-weight:500;color:var(--ink);font-size:14.5px}
.article__author i{font-style:normal;color:var(--ink-3)}
.article__cover{margin:0;border-radius:var(--r-xl);overflow:hidden;background:var(--ivory-3)}
.article__cover img{width:100%;height:clamp(240px,42vw,560px);object-fit:cover}
.article__lede{font-size:clamp(19px,1.8vw,26px);line-height:1.42;letter-spacing:-.02em;color:var(--ink);
  max-width:40ch}
.article__body{margin-top:4px}
.article__gallery{display:flex;flex-direction:column;gap:clamp(18px,2vw,26px)}
.article__gallery-title{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.025em}
.article__authorcard{display:flex;gap:clamp(16px,2vw,24px);align-items:flex-start;
  padding:clamp(22px,2.6vw,32px);border-radius:var(--r-lg);background:var(--paper)}
.article__authorcard img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.article__authorcard b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em}
.article__authorcard span{display:block;font-size:13.5px;color:var(--moss);margin-top:2px}
.article__authorcard p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:62ch}
.article__related{margin-top:clamp(22px,3vw,44px);display:flex;flex-direction:column;
  gap:clamp(22px,2.6vw,36px)}

/* ─────────── лента новостей ─────────── */
.news__grid--wide{grid-template-columns:repeat(3,1fr);margin-top:clamp(26px,3vw,44px)}
.post__excerpt{font-size:15px;line-height:1.6;color:var(--ink-2);max-width:40ch}
.pager{display:flex;gap:8px;flex-wrap:wrap;margin-top:clamp(34px,4vw,56px)}
.pager__p{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 14px;border-radius:var(--r-pill);background:var(--paper);font-size:15px;
  font-variant-numeric:tabular-nums;transition:background .2s,color .2s}
.pager__p:hover{background:var(--ivory-3)}
.pager__p.is-current{background:var(--forest-900);color:var(--ivory)}

/* ─────────── текстовый блок страницы ─────────── */
.text-block__grid{display:grid;grid-template-columns:minmax(150px,.3fr) 1fr;gap:clamp(24px,4vw,70px);
  align-items:start}
.text-block__side{position:sticky;top:110px}
.text-block__main h2{margin-bottom:clamp(20px,2.4vw,32px);max-width:18ch}

/* ─────────── шапка страницы ─────────── */
.pagehead{padding:clamp(120px,15vw,210px) 0 clamp(40px,5vw,72px);background:var(--ivory)}
.pagehead__title{font-size:clamp(38px,6vw,86px);line-height:1;letter-spacing:-.04em;margin-top:18px;
  max-width:16ch}
.pagehead__lede{margin-top:clamp(20px,2.4vw,30px);font-size:clamp(16.5px,1.3vw,19px);line-height:1.6;
  color:var(--ink-2);max-width:62ch}
.pagehead__facts{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,56px);margin:clamp(34px,4vw,56px) 0 0;
  padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--line)}
.pagehead__facts div{display:flex;flex-direction:column;gap:5px;max-width:30ch}
.pagehead__facts dt{font-size:clamp(20px,1.8vw,26px);font-weight:600;letter-spacing:-.025em;color:var(--ink)}
.pagehead__facts dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-3)}

/* ─────────── контакты ─────────── */
.contacts-block{padding-top:0}
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(14px,1.6vw,20px)}
.contact-card{display:flex;flex-direction:column;gap:8px;padding:clamp(24px,2.8vw,36px);
  border-radius:var(--r-lg);background:var(--paper);transition:transform .3s var(--ease),background .3s}
a.contact-card:hover{transform:translateY(-3px);background:var(--ivory-2)}
.contact-card__label{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--moss)}
.contact-card__value{font-size:clamp(21px,1.9vw,27px);font-weight:600;letter-spacing:-.025em;
  line-height:1.15;color:var(--ink)}
.contact-card__value--sm{font-size:clamp(17px,1.4vw,20px);line-height:1.3}
.contact-card__note{font-size:14px;color:var(--ink-3);line-height:1.5}
.contact-card__link{margin-top:4px;font-size:14.5px;color:var(--moss);text-decoration:underline;
  text-underline-offset:.2em}
.contact-card--accent{background:var(--forest-900);color:var(--ivory)}
.contact-card--accent .contact-card__label{color:var(--lime)}
.contact-card--accent .contact-card__value{color:var(--ivory)}
.contact-card--accent .contact-card__note{color:rgba(247,242,228,.6)}
a.contact-card--accent:hover{background:var(--forest-800)}

/* телефон в блоке заявки */
.cta__phone{margin-top:22px;font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-.025em}
.cta__phone a{color:var(--lime);transition:color .2s}
.cta__phone a:hover{color:var(--lime-hover)}

@media (max-width:900px){
  .news__grid--wide{grid-template-columns:1fr}
  .text-block__grid{grid-template-columns:1fr}
  .text-block__side{position:static}
  .article__authorcard{flex-direction:column}
}
