/* ============ BLOG: list + post templates (article / photo / note) ============ */
.blog-head{max-width:62rem;padding-bottom:2.4rem;border-bottom:1px solid var(--line)}
.blog-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,5.4vw,4.1rem);line-height:1.06;letter-spacing:.06em;margin:.4rem 0 1.2rem}
.blog-empty{padding:3rem 0;color:var(--ink-soft)}

.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;padding:2.6rem 0 1rem}
.blog-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:border-color .35s,transform .35s var(--ease)}
.blog-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.blog-card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2)}
.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.blog-card:hover .blog-card__img img{transform:scale(1.04)}
.blog-card__img--empty{display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,rgba(200,169,106,.16),transparent 60%),var(--bg-2)}
.blog-card__img--empty span{color:var(--gold-soft);font-family:var(--serif);font-size:1.4rem;letter-spacing:.08em}
.blog-card__body{display:flex;flex:1;flex-direction:column;gap:.65rem;padding:1.4rem 1.5rem 1.5rem}
.blog-card__meta{color:var(--gold-soft);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.blog-card__title{color:var(--ink);font-family:var(--serif);font-size:1.4rem;line-height:1.25;letter-spacing:.03em}
.blog-card__excerpt{color:var(--ink-soft);font-size:.94rem;line-height:1.6}
.blog-card__more{align-self:flex-start;margin-top:auto;padding:.6rem 1.15rem;border:1px solid var(--gold);border-radius:999px;color:var(--ink);font-size:.85rem;font-weight:600;letter-spacing:.02em;transition:background-color .35s,color .35s}
.blog-card:hover .blog-card__more{background:rgba(200,169,106,.16)}
.blog-card--lead{grid-column:span 2;display:grid;grid-template-columns:1.15fr 1fr}
.blog-card--lead .blog-card__img{aspect-ratio:auto;min-height:100%}
.blog-card--lead .blog-card__title{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.blog-card--lead .blog-card__body{padding:2rem}

/* post */
.post-body{max-width:820px;margin:0 auto}
.post-head{padding-bottom:2rem}
.post-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;letter-spacing:.05em;margin:.6rem 0 1.2rem}
.post-meta{color:var(--gold-soft);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.post-lead{color:var(--ink-soft);font-size:1.12rem;line-height:1.7;max-width:62ch}
.post-cover{margin:0 0 2.6rem;overflow:hidden;border-radius:18px;border:1px solid var(--line)}
.post-cover img{width:100%;max-height:70vh;object-fit:cover}
.post-text{max-width:none}
.post-text>h2:first-child{margin-top:0}
.post-text img{max-width:100%;height:auto}
.post-figure{margin:2rem 0}
.post-figure img{width:100%;border-radius:14px;border:1px solid var(--line)}
.post-figure figcaption,.post-gallery figcaption{margin-top:.6rem;color:var(--ink-mute);font-size:.85rem;line-height:1.5}
.post-gallery{display:grid;gap:1rem;margin:2rem 0}
.post-gallery--1{grid-template-columns:1fr}
.post-gallery--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.post-gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.post-gallery figure{margin:0}
.post-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.post-gallery--1 img{aspect-ratio:auto}
.post-quote{margin:2.4rem 0;padding:.4rem 0 .4rem 1.6rem;border-left:2px solid var(--gold)}
.post-quote p{margin:0 0 .6rem!important;color:var(--ink)!important;font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.7rem)!important;line-height:1.4!important;letter-spacing:.02em}
.post-quote cite{color:var(--gold-soft);font-size:.85rem;font-style:normal}
.post-cta{margin:2.4rem 0;padding:1.8rem 1.9rem;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 90% 0,rgba(200,169,106,.14),transparent 55%),var(--panel)}
.post-cta__title{color:var(--ink)!important;font-family:var(--serif);font-size:1.5rem!important;margin-bottom:.5rem!important}
.post-cta .btn{margin-top:.6rem}
.post-op{display:grid;gap:.35rem;margin:3rem 0 1rem;padding:1.5rem 1.6rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:border-color .35s}
.post-op:hover{border-color:var(--gold)}
.post-op span{color:var(--gold-soft);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.post-op b{color:var(--ink);font-family:var(--serif);font-size:1.6rem;font-weight:400;letter-spacing:.03em}
.post-op .post-op__more{color:var(--ink-soft);font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none}
.post-more{max-width:820px;margin:3rem auto 0;padding-top:2.4rem;border-top:1px solid var(--line)}
.post-more h2{font-family:var(--serif);font-weight:400;font-size:1.8rem;letter-spacing:.04em}

/* шаблон «Фотоистория»: фото на весь первый экран */
.post-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.post-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.35) 0%,rgba(10,10,12,.1) 35%,rgba(10,10,12,.92) 100%)}
.post-hero__text{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem) clamp(2.5rem,7vh,4.5rem)}
.post-hero__text h1{max-width:18ch;font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,4.6rem);line-height:1.04;letter-spacing:.05em;margin:.7rem 0 1rem}
.post--photo{padding-top:2rem}

/* шаблон «Заметка»: узкая колонка без обложки */
.post--note .post-body{max-width:680px}
.post--note .post-head h1{font-size:clamp(1.8rem,4vw,2.8rem)}

@media (max-width:1000px){
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-card--lead{grid-column:1/-1}
}
@media (max-width:640px){
  .blog-grid{grid-template-columns:1fr}
  .blog-card--lead{display:flex}
  /* на телефоне фото невысокое, чтобы заголовок и кнопка «Читать» были видны сразу под ним */
  .blog-card__img,.blog-card--lead .blog-card__img{flex:none;aspect-ratio:16/10;min-height:0}
  .blog-card--lead .blog-card__body{padding:1.3rem 1.3rem 1.4rem}
  .blog-card--lead .blog-card__title{font-size:1.5rem}
  .post-gallery--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-hero{min-height:78vh}
}
