/*
Theme Name: dds_transgendatime.com
Author: Анна Светлова
Description: Аналитический блог о пересечении технологий и общества.
Version: 1.1
Text Domain: slens
*/

/* ============================ Базовые токены ============================ */
:root{
    --paper:#f6f4ef;
    --surface:#ffffff;
    --ink:#1b2233;
    --ink-soft:#4d5566;
    --line:#e2ddd2;
    --accent:#c4543a;
    --accent-dark:#a8442e;
    --deep:#1f2740;
    --deep-2:#262f4a;
    --on-deep:#e8eaf2;
    --on-deep-soft:#a9b0c6;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Georgia","Times New Roman",serif;
    font-size:18px;
    line-height:1.7;
    overflow-x:hidden;
}

img{max-width:100%;height:auto;}

a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-dark);text-decoration:underline;}

h1,h2,h3,h4{
    font-family:"Helvetica Neue",Arial,sans-serif;
    color:var(--ink);
    line-height:1.25;
    margin:0 0 .6em;
    font-weight:700;
}
h1{font-size:2.1rem;}
h2{font-size:1.6rem;}
h3{font-size:1.25rem;}

p{margin:0 0 1.1em;}

/* ============================ Контейнеры ============================ */
.shell{width:min(92%,1180px);margin-inline:auto;}
.wide{width:min(85%,1480px);margin-inline:auto;}

/* ============================ Шапка ============================ */
.site-header{
    background:var(--surface);
    border-bottom:1px solid var(--line);
}
.site-header__inner{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:18px;
    padding:18px 0;
}
.brand{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
    flex:1 1 auto;
}
.brand-logo,.brand-logo svg{display:block;width:56px;height:56px;flex:0 0 auto;}
.brand-text{min-width:0;}
.brand-name{
    display:block;
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-weight:700;
    font-size:1.02rem;
    color:var(--ink);
    line-height:1.3;
    max-width:62ch;
}
.brand-name:hover{text-decoration:none;color:var(--accent);}
.brand-desc{
    display:block;
    font-size:.82rem;
    color:var(--ink-soft);
    line-height:1.45;
    margin-top:4px;
    max-width:70ch;
}

/* ============================ Навигация ============================ */
.nav-toggle{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--deep);
    color:var(--on-deep);
    border:0;
    border-radius:6px;
    padding:10px 14px;
    font:600 .9rem/1 "Helvetica Neue",Arial,sans-serif;
    cursor:pointer;
}
.main-nav{flex-basis:100%;}
.main-nav ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:6px 22px;
}
.main-nav a{
    display:inline-block;
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:.95rem;
    font-weight:600;
    color:var(--ink);
    padding:8px 2px;
}
.main-nav a:hover{color:var(--accent);text-decoration:none;}
.main-nav .current-menu-item>a{color:var(--accent);}

/* мобильное состояние меню */
.main-nav[hidden]{display:none !important;}

@media (min-width:760px){
    .nav-toggle{display:none;}
    .main-nav{flex-basis:auto;}
    .main-nav[hidden]{display:block !important;}
    .site-header__inner{flex-wrap:nowrap;}
}

/* ============================ Раскладка контента ============================ */
.site-main{padding:34px 0 56px;}

.layout-single .content-area{width:min(85%,960px);margin-inline:auto;}

.layout-with-sidebar{
    display:grid;
    grid-template-columns:minmax(0,67fr) minmax(0,27fr);
    gap:clamp(26px,4vw,52px);
}
.content-area{min-width:0;}

@media (max-width:960px){
    .layout-with-sidebar{grid-template-columns:minmax(0,1fr);}
    .layout-single .content-area{width:100%;}
}

/* ============================ Хлебные крошки ============================ */
.crumbs{
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:.85rem;
    color:var(--ink-soft);
    margin-bottom:22px;
}
.crumbs a{color:var(--ink-soft);}
.crumbs a:hover{color:var(--accent);}
.crumbs .sep{color:var(--line);margin:0 4px;}
.crumbs span:last-child{color:var(--ink);}

/* ============================ Карточки записей ============================ */
.card-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:26px;
}
@media (min-width:600px){
    .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

.card{
    display:flex;
    flex-direction:column;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
    min-width:0;
}
.card-thumb-wrap{display:block;}
.card-thumb,
.card-thumb--ph{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
}
.card-thumb--ph{
    background:linear-gradient(135deg,var(--deep) 0%,var(--deep-2) 60%,var(--accent) 160%);
    position:relative;
}
.card-thumb--ph::after{
    content:"";
    position:absolute;inset:0;
    background-image:radial-gradient(circle at 22% 28%,rgba(255,255,255,.22) 0 2px,transparent 3px),radial-gradient(circle at 68% 64%,rgba(255,255,255,.16) 0 2px,transparent 3px),radial-gradient(circle at 44% 80%,rgba(255,255,255,.12) 0 2px,transparent 3px);
}
.card-body{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:18px 20px 22px;
    min-width:0;
}
.card-meta{
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:.78rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:8px;
}
.card-title{font-size:1.18rem;margin:0 0 .5em;}
.card-title a{color:var(--ink);}
.card-title a:hover{color:var(--accent);text-decoration:none;}
.card-excerpt{font-size:.98rem;color:var(--ink-soft);}
.card-excerpt p{margin:0 0 .5em;background:none;}
.card-more{
    margin-top:auto;
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-weight:600;
    font-size:.92rem;
}

/* ============================ Одиночная запись / страница ============================ */
.entry{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:10px;
    padding:clamp(22px,4vw,42px);
}
.entry-title{font-size:2rem;}
.entry-meta{
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:.85rem;
    color:var(--ink-soft);
    margin-bottom:20px;
}
.entry-thumb{margin:0 0 24px;}
.entry-thumb img{display:block;width:100%;border-radius:8px;}
.entry-content img{height:auto;border-radius:6px;}
.entry-content h2{margin-top:1.4em;}
.entry-content ul,.entry-content ol{padding-left:1.3em;}
.entry-content blockquote{
    margin:1.4em 0;
    padding:14px 22px;
    border-left:4px solid var(--accent);
    background:var(--paper);
    color:var(--ink);
    font-style:italic;
}

/* таблицы */
.entry-content table{
    border-collapse:collapse;
    width:100%;
    margin:1.4em 0;
}
.entry-content table,
.entry-content th,
.entry-content td{border:1px solid var(--line);}
.entry-content th,
.entry-content td{padding:10px 12px;text-align:left;}
.entry-content th{background:var(--paper);}

/* ============================ Сайдбар (светлый фон) ============================ */
.sidebar{min-width:0;}
.sidebar .widget{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:10px;
    padding:18px 20px;
    margin-bottom:22px;
    color:var(--ink);
}
.sidebar .widget-title{
    font-size:1.05rem;
    color:var(--ink);
    margin-bottom:14px;
    padding-bottom:10px;
    border-bottom:2px solid var(--accent);
}
.sidebar .widget a{color:var(--ink);}
.sidebar .widget a:hover{color:var(--accent);}
.sidebar ul{list-style:none;margin:0;padding:0;}
.sidebar li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem;}
.sidebar li:last-child{border-bottom:0;}
.sidebar .post-date{display:block;font-size:.78rem;color:var(--ink-soft);}

/* ============================ Главная ============================ */
.hero{
    background:var(--deep);
    color:var(--on-deep);
    padding:54px 0;
}
.hero .wide{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;align-items:center;}
.hero h1{color:#fff;font-size:clamp(1.7rem,3.4vw,2.6rem);}
.hero p{color:var(--on-deep-soft);font-size:1.05rem;}
.hero .hero-art{justify-self:center;width:100%;}
.hero .hero-art img{display:block;width:100%;border-radius:12px;}
.hero .btn{margin-top:6px;}
@media (min-width:880px){
    .hero .wide{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}
}

.section{padding:48px 0;}
.section--tint{background:var(--surface);border-block:1px solid var(--line);}
.section-head{margin-bottom:26px;}
.section-head h2{font-size:clamp(1.4rem,2.6vw,2rem);}
.section-head p{color:var(--ink-soft);max-width:62ch;}

/* блок: текст + иллюстрация */
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:center;}
.split-art img{display:block;width:100%;border-radius:12px;}
@media (min-width:860px){
    .split{grid-template-columns:repeat(2,minmax(0,1fr));}
    .split--rev .split-art{order:2;}
}

/* блок: сетка карточек-направлений */
.feature-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;}
@media (min-width:600px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:960px){.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.feature{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:22px 20px;
    min-width:0;
}
.section--tint .feature{background:var(--paper);}
.feature .icon{width:46px;height:46px;display:block;margin-bottom:14px;color:var(--accent);}
.feature h3{font-size:1.08rem;}
.feature p{font-size:.95rem;color:var(--ink-soft);margin:0;}

/* блок: шаги */
.steps{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;counter-reset:step;}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));}}
.step{position:relative;padding:24px 22px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;}
.step::before{
    counter-increment:step;
    content:counter(step);
    display:flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;
    background:var(--accent);color:#fff;
    font:700 1.1rem/1 "Helvetica Neue",Arial,sans-serif;
    margin-bottom:14px;
}
.step h3{font-size:1.05rem;}
.step p{font-size:.95rem;color:var(--ink-soft);margin:0;}

/* блок: FAQ */
.faq{max-width:820px;}
.faq details{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:8px;
    padding:6px 18px;
    margin-bottom:12px;
}
.faq summary{
    cursor:pointer;
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-weight:600;
    padding:12px 0;
    color:var(--ink);
    list-style:none;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";float:right;color:var(--accent);font-size:1.3rem;line-height:1;}
.faq details[open] summary::after{content:"–";}
.faq details p{margin:0 0 14px;color:var(--ink-soft);font-size:.97rem;}

/* последние записи на главной */
.latest{padding:48px 0;background:var(--surface);border-block:1px solid var(--line);}

/* кнопки */
.btn{
    display:inline-block;
    background:var(--accent);
    color:#fff;
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-weight:600;
    font-size:.95rem;
    padding:12px 22px;
    border-radius:7px;
}
.btn:hover{background:var(--accent-dark);color:#fff;text-decoration:none;}
.btn--ghost{background:transparent;border:2px solid var(--on-deep);color:var(--on-deep);}
.btn--ghost:hover{background:var(--on-deep);color:var(--deep);}

/* CTA */
.cta{background:var(--deep-2);color:var(--on-deep);text-align:center;padding:50px 0;}
.cta h2{color:#fff;}
.cta p{color:var(--on-deep-soft);max-width:60ch;margin-inline:auto;}

/* ============================ Пагинация ============================ */
.pager{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:center;
    margin-top:36px;
}
.pager .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:7px;
    background:var(--surface);
    color:var(--ink);
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:.92rem;
    text-decoration:none;
}
.pager a.page-numbers:hover{border-color:var(--accent);color:var(--accent);}
.pager .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff;}
.pager .page-numbers.dots{border:0;background:none;}

/* ============================ Форма поиска ============================ */
.search-form{display:flex;gap:8px;min-width:0;}
.search-form .search-field{
    flex:1;min-width:0;
    padding:11px 14px;
    border:1px solid var(--line);
    border-radius:7px;
    font:inherit;
    background:var(--surface);
    color:var(--ink);
}
.search-form .search-submit{
    border:0;border-radius:7px;
    background:var(--accent);color:#fff;
    font-family:"Helvetica Neue",Arial,sans-serif;font-weight:600;
    padding:11px 18px;cursor:pointer;
}
.search-form .search-submit:hover{background:var(--accent-dark);}

/* ============================ Комментарии ============================ */
.comments{margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,4vw,36px);}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .children{list-style:none;margin:0 0 0 24px;padding:0;}
.comment-item{margin-bottom:18px;}
.comment-inner{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--paper);}
.comment-head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-bottom:8px;}
.comment-author{font-weight:700;font-family:"Helvetica Neue",Arial,sans-serif;}
.comment-date{font-size:.8rem;color:var(--ink-soft);}
.comment-pending{font-size:.85rem;color:var(--accent);}
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea{
    width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:7px;font:inherit;background:var(--surface);
}
.comment-respond textarea{min-height:130px;}
.comment-respond .form-submit input{
    border:0;border-radius:7px;background:var(--accent);color:#fff;
    font-family:"Helvetica Neue",Arial,sans-serif;font-weight:600;padding:12px 22px;cursor:pointer;
}

/* ============================ 404 ============================ */
.error-404{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(30px,6vw,60px);}
.error-404 .code{font-size:clamp(3rem,10vw,6rem);color:var(--accent);font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;line-height:1;}
.error-404 .search-form{max-width:480px;margin:24px auto 0;}

/* ============================ Подвал ============================ */
.site-footer{background:var(--deep);color:var(--on-deep);margin-top:30px;}
.footer-cols{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:30px;
    padding:46px 0 30px;
}
@media (min-width:760px){.footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));}}
.footer-cols .widget{min-width:0;color:var(--on-deep);}
.footer-cols .widget-title{
    color:#fff;
    font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:1rem;
    margin-bottom:14px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,.16);
}
.footer-cols .widget,
.footer-cols .widget p{color:var(--on-deep-soft);font-size:.95rem;}
.footer-cols .widget a{color:var(--on-deep);}
.footer-cols .widget a:hover{color:#fff;text-decoration:underline;}
.footer-cols ul{list-style:none;margin:0;padding:0;}
.footer-cols li{padding:6px 0;}
.footer-cols .post-date{display:block;font-size:.78rem;color:var(--on-deep-soft);}
.footer-contacts a{color:var(--on-deep);}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.14);
    padding:18px 0;
    font-size:.82rem;
    color:var(--on-deep-soft);
}

/* ============================ Cookie-баннер (A11, D6) ============================ */
.cookie-banner[hidden]{display:none !important;}
.cookie-banner{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:999;
    background:var(--deep-2);
    color:var(--on-deep);
    padding:16px 20px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
    justify-content:center;
    box-shadow:0 -6px 22px rgba(0,0,0,.2);
}
.cookie-banner p{margin:0;font-size:.9rem;max-width:70ch;}
.cookie-banner a{color:#fff;text-decoration:underline;}
.cookie-banner .cookie-accept{
    border:0;border-radius:7px;
    background:var(--accent);color:#fff;
    font-family:"Helvetica Neue",Arial,sans-serif;font-weight:600;
    padding:10px 22px;cursor:pointer;white-space:nowrap;
}
.cookie-banner .cookie-accept:hover{background:var(--accent-dark);}

/* ============================ Утилиты ============================ */
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.page-title{margin-bottom:24px;}
