/*
 * gagarind.ru - внутренние страницы (дочерняя тема).
 *
 * Опирается на токены из home-2026.css (он грузится первым). Здесь только
 * то, чего нет на главной: типографика статьи, лента блога карточками,
 * хлебные крошки, пагинация, комментарии, поиск, 404.
 */

.gc-main { display: block; min-height: 40vh; }

/* ==================================================================
 * ХЛЕБНЫЕ КРОШКИ (Yoast)
 * ================================================================== */
.gc-crumbs {
    font-family: var(--font-mono);
    font-size: var(--fs-200);
    letter-spacing: .04em;
    color: var(--ink-500);
    margin-bottom: var(--sp-16);
}
.gc-crumbs a { color: var(--ink-500); text-decoration: none; }
.gc-crumbs a:hover { color: var(--accent); }
.gc-crumbs .breadcrumb_last { color: var(--ink-700); }

/* ==================================================================
 * ОБЫЧНАЯ СТРАНИЦА
 * ================================================================== */
.gc-page__head { max-width: var(--container-narrow); margin-bottom: var(--stack-h); }
.gc-page__title { margin-bottom: 0; }

/* ==================================================================
 * ТИПОГРАФИКА КОНТЕНТА (.entry-content)
 * ================================================================== */
.entry-content {
    max-width: var(--container-narrow);
    font-size: var(--fs-400);
    line-height: var(--lh-body);
    color: var(--ink-body, var(--ink-900));
}
.entry-content > * + * { margin-top: var(--sp-24); }
.entry-content h2 {
    font-family: var(--font-display); font-weight: 700;
    font-size: var(--fs-700); line-height: var(--lh-h);
    letter-spacing: var(--ls-tight); color: var(--ink-900);
    margin-top: var(--sp-48);
}
.entry-content h3 {
    font-family: var(--font-display); font-weight: 700;
    font-size: var(--fs-600); line-height: var(--lh-h3);
    color: var(--ink-900); margin-top: var(--sp-40);
}
.entry-content h4 { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-500); margin-top: var(--sp-32); }
.entry-content p { max-width: 100%; }
.entry-content a { color: var(--accent-strong, #C4560A); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--accent); }
.entry-content ul, .entry-content ol { padding-left: 0; list-style: none; display: grid; gap: var(--sp-12); }
.entry-content ul li, .entry-content ol li { position: relative; padding-left: 28px; }
.entry-content ul li::before {
    content: ""; position: absolute; left: 0; top: .62em; width: 14px; height: 2px; background: var(--accent);
}
.entry-content ol { counter-reset: ec; }
.entry-content ol li { counter-increment: ec; }
.entry-content ol li::before {
    content: counter(ec); position: absolute; left: 0; top: 0;
    font-family: var(--font-mono); font-weight: 600; font-size: var(--fs-200); color: var(--accent);
}
.entry-content img { border-radius: var(--r-md); height: auto; }
.entry-content figure { margin: 0; }
.entry-content figcaption { font-size: var(--fs-300); color: var(--ink-500); margin-top: var(--sp-8); }
.entry-content blockquote {
    margin: 0; padding: var(--sp-24) var(--sp-32);
    background: var(--bg-subtle); border-left: 3px solid var(--accent);
    border-radius: var(--r-md);
    font-size: var(--fs-500); line-height: var(--lh-lead); color: var(--ink-900);
}
.entry-content code {
    font-family: var(--font-mono); font-size: .9em;
    background: var(--bg-inset); padding: 2px 6px; border-radius: 4px;
}
.entry-content pre {
    background: var(--ink-900); color: #fff; padding: var(--sp-24);
    border-radius: var(--r-md); overflow-x: auto; font-family: var(--font-mono); font-size: var(--fs-300);
}
.entry-content table { width: 100%; border-collapse: collapse; font-size: var(--fs-300); }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: var(--sp-12); text-align: left; }
.entry-content th { background: var(--bg-subtle); font-weight: 600; }
.entry-content hr { border: 0; border-top: 1px solid var(--line); }

/* ==================================================================
 * СТАТЬЯ
 * ================================================================== */
.gc-article__head { max-width: var(--container-narrow); margin-bottom: var(--stack-h); }
.gc-article__cat {
    display: inline-block; margin-bottom: var(--sp-16);
    font-family: var(--font-mono); font-size: var(--fs-200);
    letter-spacing: .08em; text-transform: uppercase; color: var(--accent-strong, #C4560A);
    text-decoration: none;
}
.gc-article__cat:hover { color: var(--accent); }
.gc-article__title { margin-bottom: var(--sp-16); }
.gc-article__meta { color: var(--ink-500); display: flex; gap: var(--sp-8); }
.gc-article__cover {
    max-width: 100%; margin: 0 0 var(--stack-h);
    border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line);
}
.gc-article__cover img { width: 100%; height: auto; display: block; }

.gc-tags-list {
    max-width: var(--container-narrow);
    margin-top: var(--sp-40); padding-top: var(--sp-24);
    border-top: 1px solid var(--line);
    display: flex; flex-wrap: wrap; gap: var(--sp-8);
}
.gc-tags-list a {
    display: inline-flex; align-items: center; height: 32px; padding: 0 var(--sp-12);
    border: 1px solid var(--line); border-radius: var(--r-full);
    font-size: var(--fs-300); color: var(--ink-600); text-decoration: none;
}
.gc-tags-list a:hover { border-color: var(--ink-900); color: var(--ink-900); }

.gc-postnav {
    max-width: var(--container-narrow);
    margin-top: var(--sp-40);
    display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap);
}
.gc-postnav__item {
    display: flex; flex-direction: column; gap: var(--sp-8);
    padding: var(--sp-24);
    border: 1px solid var(--line); border-radius: var(--r-lg);
    text-decoration: none; color: var(--ink-900);
    transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.gc-postnav__item:hover { border-color: var(--line-2); box-shadow: var(--shadow-2); }
.gc-postnav__item--next { text-align: right; align-items: flex-end; }
.gc-postnav__item .mono { color: var(--ink-500); }
.gc-postnav__t { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-400); line-height: var(--lh-h3); }

/* ==================================================================
 * ЛЕНТА / АРХИВ / ПОИСК
 * ================================================================== */
.gc-listing__head { max-width: var(--container-narrow); margin-bottom: var(--stack-h); }
.gc-listing__title { margin: var(--sp-12) 0 var(--sp-16); }
.gc-listing__search { margin-top: var(--sp-24); }

.gc-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gap-lg);
}

.gc-card-post {
    display: flex; flex-direction: column;
    background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg);
    overflow: hidden;
    transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.gc-card-post:hover { border-color: var(--line-2); box-shadow: var(--shadow-3); }
.gc-card-post__media {
    display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-inset); line-height: 0;
}
.gc-card-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease); }
.gc-card-post:hover .gc-card-post__media img { transform: scale(1.03); }
.gc-card-post__ph { display: block; width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--ink-100), var(--ink-050)); }
.gc-card-post__body { display: flex; flex-direction: column; gap: var(--sp-12); padding: clamp(20px, 2vw, 24px); flex: 1; }
.gc-card-post__cat { color: var(--accent-strong, #C4560A); }
.gc-card-post__title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-500); line-height: var(--lh-h3); letter-spacing: -0.01em; }
.gc-card-post__title a { color: var(--ink-900); text-decoration: none; }
.gc-card-post__title a:hover { color: var(--accent-strong, #C4560A); }
.gc-card-post__excerpt { font-size: var(--fs-300); color: var(--ink-500); line-height: 1.55; max-width: none; }
.gc-card-post__foot {
    margin-top: auto; padding-top: var(--sp-16); border-top: 1px solid var(--line);
    display: flex; align-items: center; justify-content: space-between; gap: var(--sp-12);
}
.gc-card-post__foot time { color: var(--ink-400); }
.gc-card-post__more { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-300); color: var(--accent-strong, #C4560A); }

.gc-empty { color: var(--ink-500); font-size: var(--fs-500); }

/* ==================================================================
 * ПАГИНАЦИЯ
 * ================================================================== */
.gc-pagination, .pagination { margin-top: var(--sp-48); }
.gc-pagination .nav-links, .pagination .nav-links {
    display: flex; flex-wrap: wrap; gap: var(--sp-8); align-items: center;
}
.gc-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; height: 44px; padding: 0 var(--sp-12);
    border: 1px solid var(--line); border-radius: var(--r-md);
    font-family: var(--font-display); font-weight: 600; font-size: var(--fs-300);
    color: var(--ink-900); text-decoration: none;
    transition: border-color var(--dur), background var(--dur), color var(--dur);
}
.gc-pagination a.page-numbers:hover { border-color: var(--ink-900); }
.gc-pagination .page-numbers.current { background: var(--ink-900); color: #fff; border-color: var(--ink-900); }
.gc-pagination .page-numbers.dots { border: 0; }

/* ==================================================================
 * СТРАНИЦА «СПАСИБО»
 * ================================================================== */
.gc-thanks__card {
    max-width: 620px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-16);
}
.gc-thanks__badge {
    width: 88px; height: 88px;
    display: grid; place-items: center;
    border-radius: var(--r-full);
    background: var(--action-tint, #E8F1EB);
    color: var(--action);
    margin-bottom: var(--sp-8);
}
.gc-thanks__badge svg { width: 40px; height: 40px; }
.gc-thanks__title { margin: 0; }
.gc-thanks__text { max-width: 46ch; color: var(--ink-600); font-size: var(--fs-500); line-height: var(--lh-lead); }
.gc-thanks__note {
    color: var(--ink-500);
    padding: var(--sp-8) var(--sp-16);
    border: 1px solid var(--line); border-radius: var(--r-full);
}
.gc-thanks__actions { display: flex; flex-wrap: wrap; gap: var(--sp-12); justify-content: center; margin-top: var(--sp-8); }
.gc-thanks__direct { margin-top: var(--sp-16); font-size: var(--fs-300); color: var(--ink-500); }
.gc-thanks__direct a { color: var(--accent-strong, #C4560A); text-decoration: none; }
.gc-thanks__direct a:hover { color: var(--accent); }

/* ==================================================================
 * ПОИСК И 404
 * ================================================================== */
.gc-search { display: flex; gap: var(--sp-12); max-width: 520px; }
.gc-search__input {
    flex: 1; min-height: 52px; padding: 14px 16px;
    border: 1px solid var(--ink-200); border-radius: var(--r-md);
    background: #fff; font-size: 1.0625rem; color: var(--ink-900); font-family: var(--font-text);
}
.gc-search__input:focus-visible { outline: none; border-color: var(--action); box-shadow: 0 0 0 3px var(--action-ring); }
.gc-search__btn { flex: 0 0 auto; }

.gc-404__search { margin: var(--sp-32) 0; }
.gc-404__actions { display: flex; flex-wrap: wrap; gap: var(--sp-12); }

/* ==================================================================
 * КОММЕНТАРИИ
 * ================================================================== */
.gc-comments {
    max-width: var(--container-narrow);
    margin-top: var(--sp-64); padding-top: var(--sp-40);
    border-top: 1px solid var(--line);
}
.gc-comments__title { margin-bottom: var(--sp-24); }
.gc-comments__list { list-style: none; padding: 0; display: grid; gap: var(--sp-24); margin-bottom: var(--sp-40); }
.gc-comments__list .children { list-style: none; padding-left: var(--sp-24); margin-top: var(--sp-24); display: grid; gap: var(--sp-24); }
.gc-comments .comment-body { padding: var(--sp-24); border: 1px solid var(--line); border-radius: var(--r-lg); }
.gc-comments .comment-author { font-family: var(--font-display); font-weight: 700; }
.gc-comments .comment-meta { font-family: var(--font-mono); font-size: var(--fs-200); color: var(--ink-500); }
/* Смайлики темы в форме комментариев - для B2B-блога мусор, убираем. */
.comment-smiles, .js-comment-smiles { display: none !important; }

/* Форма комментариев. class_form = gc-form gc-comment-form (не .comment-form). */
.gc-comment-form { display: block; max-width: var(--container-narrow); }
.gc-comment-form .comment-notes {
    font-size: var(--fs-300); color: var(--ink-500);
    margin-bottom: var(--sp-24); max-width: none;
}
.gc-comment-form p { margin: 0 0 var(--sp-16); max-width: none; }
.gc-comment-form label {
    display: block; font-size: var(--fs-300); font-weight: 500;
    color: var(--ink-700); margin-bottom: var(--sp-8);
}
.gc-comment-form .required { color: var(--accent-strong, #C4560A); }
.gc-comment-form input[type=text],
.gc-comment-form input[type=email],
.gc-comment-form input[type=url],
.gc-comment-form textarea {
    width: 100%; min-height: 52px; padding: 14px;
    border: 1px solid var(--ink-200); border-radius: var(--r-md);
    background: #fff; font-size: 1.0625rem; font-family: var(--font-text); color: var(--ink-900);
    transition: border-color var(--dur), box-shadow var(--dur);
}
.gc-comment-form input:focus-visible,
.gc-comment-form textarea:focus-visible {
    outline: none; border-color: var(--action); box-shadow: 0 0 0 3px var(--action-ring);
}
.gc-comment-form textarea { min-height: 140px; line-height: 1.5; resize: vertical; }
.gc-comment-form .comment-form-author,
.gc-comment-form .comment-form-email,
.gc-comment-form .comment-form-url { max-width: 440px; }
.gc-comment-form .comment-form-cookies-consent {
    display: flex; gap: var(--sp-12); align-items: flex-start;
    font-size: var(--fs-300); color: var(--ink-500);
}
.gc-comment-form .comment-form-cookies-consent input {
    width: 20px; height: 20px; margin-top: 2px; accent-color: var(--action); flex: 0 0 auto;
}
.gc-comment-form .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 400; color: var(--ink-500); }

/* Кнопка «Отправить»: тема красит #submit ПО ID (спецификация выше класса),
   поэтому перебиваем через body.gc + #submit. */
body.gc .gc-comments #submit,
body.gc .gc-comments .form-submit input[type=submit] {
    display: inline-flex; align-items: center; justify-content: center;
    height: 52px; padding: 0 28px; border: 0; border-radius: var(--r-md);
    background: var(--action); color: #fff; cursor: pointer;
    font-family: var(--font-display); font-weight: 600; font-size: 1.0625rem;
    letter-spacing: -0.01em; line-height: 1;
    transition: background var(--dur) var(--ease);
}
body.gc .gc-comments #submit:hover { background: var(--action-hover); color: #fff; }

/* ==================================================================
 * СТРАНИЦА КОНТАКТОВ (контент использует классы .gc-contacts*)
 * ================================================================== */
.entry-content .gc-contacts { max-width: 100%; }
.entry-content .gc-contacts__grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--gap); margin: 0 0 var(--sp-32);
}
.entry-content .gc-contacts__card {
    background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg);
    padding: clamp(20px, 2vw, 28px); display: flex; flex-direction: column; gap: var(--sp-8);
}
.entry-content .gc-contacts__label {
    font-family: var(--font-mono); font-weight: 500; font-size: var(--fs-200);
    letter-spacing: .08em; text-transform: uppercase; color: var(--ink-500);
}
.entry-content .gc-contacts__value {
    font-family: var(--font-display); font-weight: 700; font-size: var(--fs-600);
    letter-spacing: -0.01em; color: var(--ink-900); text-decoration: none; line-height: 1.2;
}
.entry-content a.gc-contacts__value:hover { color: var(--accent-strong, #C4560A); }
.entry-content .gc-contacts__value_sm { font-size: var(--fs-500); font-weight: 600; }
.entry-content .gc-contacts__note { margin: var(--sp-4) 0 0; font-size: var(--fs-300); color: var(--ink-500); max-width: 42ch; }
.entry-content .gc-contacts__messengers { display: flex; gap: var(--sp-8); margin: var(--sp-8) 0 0; }
.entry-content .gc-contacts__messengers a {
    display: inline-flex; align-items: center; height: 36px; padding: 0 var(--sp-16);
    border: 1px solid var(--line); border-radius: var(--r-full);
    font-size: var(--fs-300); font-weight: 600; color: var(--ink-600); text-decoration: none;
}
.entry-content .gc-contacts__messengers a:hover { border-color: var(--action); color: var(--action); }
.entry-content .gc-contacts__map {
    margin: 0 0 var(--sp-32); border: 1px solid var(--line); border-radius: var(--r-lg);
    overflow: hidden; line-height: 0;
}
.entry-content .gc-contacts__map iframe { display: block; width: 100%; border: 0; }
.entry-content .gc-contacts__legal {
    background: var(--bg-subtle); border-radius: var(--r-lg);
    padding: clamp(20px, 2vw, 28px); margin: 0 0 var(--sp-32);
}
.entry-content .gc-contacts__legal h2 { margin-top: 0; font-size: var(--fs-600); }

/* ==================================================================
 * АДАПТИВ
 * ================================================================== */
@media (max-width: 1024px) {
    .gc-posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .gc-posts-grid { grid-template-columns: 1fr; }
    .gc-postnav { grid-template-columns: 1fr; }
    .gc-postnav__item--next { text-align: left; align-items: flex-start; }
    .gc-search { flex-direction: column; }
    .gc-search__btn { width: 100%; }
}
