/* ================================================================== */
/*  Fonts                                                              */
/* ================================================================== */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto-regular.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto-bold.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lato';
    src: url('../fonts/lato-regular.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lato';
    src: url('../fonts/lato-bold.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}

/* ================================================================== */
/*  Variables                                                          */
/* ================================================================== */
:root {
    --blue: #00b0ff;
    --blue-dark: #009de0;
    --orange: #f5a623;
    --text: #313131;
    --text-light: #888;
    --bg: #fff;
    --bg-alt: #f7f7f7;
    --border: #dedede;
    --overlay: linear-gradient(transparent 30%, rgba(0,0,0,.75));
    --font-body: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-heading: 'Roboto', sans-serif;
    --container: 1240px;
    --gap: 20px;
    --radius: 3px;
}

/* ================================================================== */
/*  Reset                                                              */
/* ================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.8;font-size:15px}
h1,h2,h3,h4,h5,h6,.site-title,.nav-menu a,.section-heading,.section-label,.card-title,.hero-title,.interview-card-title,.sport-card-title{font-family:var(--font-heading);font-weight:600}
img{max-width:100%;height:auto;display:block}
a{color:var(--text);text-decoration:none;transition:color .15s}
a:hover{color:var(--blue)}
ul,ol{list-style:none}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gap)}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}

/* ================================================================== */
/*  Header                                                             */
/* ================================================================== */
.site-header{
    background:#fff;
    border-bottom:3px solid var(--blue);
    position:sticky;top:0;z-index:100;
}
.header-inner{
    display:flex;align-items:center;height:90px;gap:10px;
}
.header-logo a{display:flex;align-items:center;gap:6px;color:var(--text);flex-shrink:0}
.header-logo img{max-height:90px;max-width:330px;width:auto}
.site-title{font-size:1.1rem;font-weight:700;line-height:1.1}
.site-tagline{font-size:.55rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;display:block}

.header-nav{flex:1;display:flex;justify-content:center}
.nav-menu{display:flex;gap:2px;align-items:center}
.nav-menu li{position:relative}
.nav-menu a{
    display:block;padding:4px 10px;
    font-size:17px;font-weight:600;color:var(--text);
    transition:color .15s;
}
.nav-menu a:hover,
.nav-menu .current-menu-item>a{color:var(--blue)}
.nav-menu .sub-menu{
    display:none;position:absolute;top:100%;left:0;
    background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.1);
    min-width:220px;z-index:50;padding:4px 0;border-radius:var(--radius);
}
.nav-menu li:hover>.sub-menu{display:block}
.nav-menu .sub-menu a{padding:8px 16px;font-size:.82rem}

.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.header-social{display:flex;align-items:center;color:var(--text-light);padding:2px}
.header-social:hover{color:var(--blue)}
.header-search-toggle,.burger-toggle{
    background:none;border:none;cursor:pointer;color:var(--text);padding:4px;display:flex;align-items:center;
}
.burger-toggle{display:none;flex-direction:column;gap:3px;width:22px}
.burger-toggle span{display:block;width:100%;height:2px;background:var(--text);border-radius:2px}
.header-search{background:var(--bg-alt);padding:10px 0}
.header-search .search-form{display:flex;gap:8px;max-width:500px;margin:0 auto}
.header-search .search-field{flex:1;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}
.header-search .search-submit{padding:7px 18px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:.9rem}

/* ================================================================== */
/*  Hero Grid  (2-left | 1-center-big | 2-right)                      */
/* ================================================================== */
.hero-grid{
    display:grid;
    grid-template-columns:1fr 2.2fr 1fr;
    grid-template-rows:195px 195px;
    gap:3px;
    margin-bottom:var(--gap);
}
.hero-item{position:relative;overflow:hidden;border-radius:2px}
.hero-item a{display:block;width:100%;height:100%;position:relative}
.hero-item img{width:100%;height:100%;object-fit:cover}
.hero-item .hero-overlay{
    position:absolute;bottom:0;left:0;right:0;
    padding:12px 14px;
    background:var(--overlay);
    color:#fff;
}
.hero-item .hero-title{
    font-size:.78rem;font-weight:600;line-height:1.3;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.hero-item.hero-main{grid-column:2;grid-row:1/3}
.hero-item.hero-main .hero-overlay{padding:20px 24px}
.hero-item.hero-main .hero-title{font-size:1.3rem;-webkit-line-clamp:4}
.hero-item.hero-main .hero-breadcrumb{
    font-size:.7rem;color:rgba(255,255,255,.7);margin-bottom:8px;
}
.hero-item.hero-main .hero-breadcrumb a{color:rgba(255,255,255,.8)}
.hero-item.hero-main .hero-breadcrumb .sep{margin:0 4px}
.hero-item.hero-main .hero-cat{
    display:inline-block;background:var(--blue);color:#fff;
    padding:2px 10px;border-radius:2px;font-size:.7rem;margin-bottom:6px;
}
.hero-item.hero-main .hero-meta{font-size:.72rem;color:rgba(255,255,255,.65);margin-top:6px}

/* ================================================================== */
/*  Home 3-column Layout                                               */
/* ================================================================== */
.home-layout{
    display:grid;
    grid-template-columns:260px 1fr 300px;
    gap:24px;
    margin-bottom:40px;
}

/* ================================================================== */
/*  Left column: bulleted news + sport section                         */
/* ================================================================== */
.news-text-list{}
.news-text-item{
    padding:10px 0;
    border-bottom:1px solid var(--border);
    padding-left:14px;
    position:relative;
}
.news-text-item::before{
    content:'';position:absolute;left:0;top:18px;
    width:6px;height:6px;border-radius:50%;background:var(--blue);
}
.news-text-link{
    display:block;color:var(--text);font-size:.84rem;font-weight:500;line-height:1.4;
}
.news-text-link:hover{color:var(--blue)}
.news-text-date{display:block;font-size:.7rem;color:var(--text-light);margin-top:3px}

/* Sport label */
.section-label{
    display:inline-block;
    background:var(--blue);color:#fff;
    padding:4px 16px;font-size:.82rem;font-weight:700;
    text-transform:uppercase;margin:16px 0 12px;
    border-radius:2px;
}

/* Sport small cards grid */
.sport-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.sport-card{}
.sport-card-img{
    width:100%;aspect-ratio:4/3;border-radius:2px;overflow:hidden;margin-bottom:6px;
}
.sport-card-img img{width:100%;height:100%;object-fit:cover}
.sport-card-title{font-size:.76rem;font-weight:500;line-height:1.3;color:var(--text)}
.sport-card-title:hover{color:var(--blue)}
.sport-card-date{font-size:.65rem;color:var(--text-light);margin-top:2px}

/* ================================================================== */
/*  Center: Sections (Интервью, Общество)                              */
/* ================================================================== */
.section-heading{
    font-size:1.25rem;font-weight:700;margin-bottom:16px;
}

/* Interview cards — photo on top, text below */
.interview-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-bottom:24px}
.interview-card{}
.interview-card-img{
    width:100%;
    height:170px;
    border-radius:2px;
    overflow:hidden;
    margin-bottom:8px;
    background:#f0f0f0;
}
.interview-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.interview-card:hover .interview-card-img img{transform:scale(1.02)}
.interview-card-body{}
.interview-card-title{
    display:block;
    font-size:15px;
    font-weight:600;
    line-height:1.45;
    color:var(--text);
    margin-bottom:8px;
}
.interview-card-title:hover{color:var(--blue)}
.interview-card-divider{
    display:inline-block;
    width:44px;
    height:2px;
    background:var(--blue);
}

/* Общество — overlay cards */
.society-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.society-card{position:relative;border-radius:2px;overflow:hidden;aspect-ratio:16/10}
.society-card img{width:100%;height:100%;object-fit:cover}
.society-card .overlay-text{
    position:absolute;bottom:0;left:0;right:0;
    padding:14px 16px;
    background:var(--overlay);
    color:#fff;font-size:.85rem;font-weight:600;line-height:1.3;
}

/* ================================================================== */
/*  Right Sidebar                                                      */
/* ================================================================== */
.widget{margin-bottom:20px}
.widget img{border-radius:2px;width:100%}

.home-right-ad{margin-bottom:14px}
.home-right-ad a{display:block}
.home-right-ad img{width:100%;height:auto;border-radius:2px}

.home-popular-week{margin-bottom:16px}
.home-popular-week-title{
    margin:0 0 10px;
    border-bottom:1px solid #1f1f1f;
    line-height:0;
}
.home-popular-week-title span{
    position:relative;
    display:inline-block;
    background:#1f1f1f;
    color:#fff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.3px;
    line-height:1;
    padding:9px 16px 8px;
}
.home-popular-week-title span::after{
    content:'';
    position:absolute;
    top:0;
    right:-16px;
    width:0;
    height:0;
    border-top:14px solid #1f1f1f;
    border-bottom:14px solid transparent;
    border-left:16px solid #1f1f1f;
}
.home-popular-week-list{}
.home-popular-week-item{
    display:flex;
    gap:10px;
    padding:11px 0;
    border-bottom:1px solid var(--border);
}
.home-popular-week-thumb{
    flex-shrink:0;
    width:96px;
    height:62px;
    border-radius:2px;
    overflow:hidden;
}
.home-popular-week-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.home-popular-week-meta{min-width:0;flex:1}
.home-popular-week-link{
    display:block;
    font-size:14px;
    font-weight:500;
    line-height:1.32;
    color:var(--text);
}
.home-popular-week-link:hover{color:var(--blue)}
.home-popular-week-date{
    display:block;
    margin-top:4px;
    font-size:12px;
    color:var(--text-light);
}

/* "Популярное за неделю" header — orange/yellow */
.widget-title{
    font-size:.82rem;font-weight:700;text-transform:uppercase;
    margin-bottom:12px;padding:8px 14px;
    background:var(--orange);color:#fff;border-radius:2px;
    letter-spacing:.3px;
}

.popular-posts-item{
    display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);
}
.popular-posts-thumb{flex-shrink:0;width:80px;height:55px;border-radius:2px;overflow:hidden}
.popular-posts-thumb img{width:100%;height:100%;object-fit:cover}
.popular-posts-info{flex:1;min-width:0}
.popular-posts-link{font-size:.8rem;font-weight:500;color:var(--text);line-height:1.3;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.popular-posts-link:hover{color:var(--blue)}
.popular-posts-date{font-size:.65rem;color:var(--text-light);margin-top:2px}

/* ================================================================== */
/*  Cards (for archive/index/search)                                   */
/* ================================================================== */
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.card{border-radius:var(--radius);overflow:hidden}
.card-image{position:relative;overflow:hidden;aspect-ratio:16/10}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.card:hover .card-image img{transform:scale(1.03)}
.card-body{padding:8px 0}
.card-title{font-size:.9rem;font-weight:600;line-height:1.35;color:var(--text);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-title a{color:inherit}
.card-title a:hover{color:var(--blue)}
.card-meta{font-size:.72rem;color:var(--text-light);margin-top:3px}
.card-excerpt{font-size:.82rem;color:var(--text-light);margin-top:4px;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ================================================================== */
/*  Single Post                                                        */
/* ================================================================== */
.single-layout{display:grid;grid-template-columns:1fr 300px;gap:30px;margin:24px auto}
.single-content{max-width:100%;overflow:hidden}
.entry-header{margin-bottom:16px}
.entry-title{font-size:1.6rem;font-weight:700;line-height:1.3}
.entry-meta{font-size:.82rem;color:var(--text-light);margin-top:6px}
.entry-meta span+span::before{content:' · '}
.entry-featured{margin:16px 0;border-radius:var(--radius);overflow:hidden}
.entry-body{font-size:1rem;line-height:1.7}
.entry-body p{margin-bottom:1em}
.entry-body h2,.entry-body h3{margin:1.4em 0 .4em}
.entry-body img{border-radius:var(--radius);margin:1em 0}
.entry-body blockquote{
    border-left:3px solid var(--blue);padding:10px 18px;margin:1em 0;
    background:var(--bg-alt);border-radius:0 var(--radius) var(--radius) 0;
}
.entry-tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:5px}
.entry-tags a{display:inline-block;background:var(--bg-alt);padding:3px 10px;border-radius:16px;font-size:.75rem;color:var(--text-light)}
.entry-tags a:hover{background:var(--blue);color:#fff}
.breadcrumbs{font-size:.75rem;color:var(--text-light);margin-bottom:12px}
.breadcrumbs a{color:var(--blue)}
.breadcrumbs .sep{margin:0 3px}

/* Archive */
.archive-header{margin-bottom:16px}
.archive-title{font-size:1.4rem;font-weight:700}

/* Pagination */
.pagination,.nav-links{display:flex;justify-content:center;gap:3px;margin:24px 0}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;
    padding:0 8px;border-radius:var(--radius);font-size:.85rem;background:var(--bg-alt);color:var(--text)}
.page-numbers.current{background:var(--blue);color:#fff}

/* 404 */
.page-404{text-align:center;padding:60px 20px}
.page-404 h1{font-size:4rem;color:var(--blue)}
.page-404 p{font-size:1.1rem;margin:12px 0}

/* ================================================================== */
/*  Footer                                                             */
/* ================================================================== */
.site-footer{background:var(--bg-alt);border-top:1px solid var(--border);margin-top:40px;font-size:.82rem}
.footer-inner{
    display:grid;grid-template-columns:1fr 1fr auto;gap:30px;
    padding:30px var(--gap);line-height:1.6;color:var(--text);
}
.footer-registration{color:#555}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{max-height:60px}
.footer-site-name{font-size:1.1rem;font-weight:700;text-transform:uppercase}

.footer-bottom{
    border-top:1px solid var(--border);padding:14px 0;
    text-align:center;color:var(--text-light);
}
.footer-bottom-inner{display:flex;flex-direction:column;align-items:center;gap:10px}
.footer-socials{display:flex;gap:20px;justify-content:center}
.footer-socials a{display:flex;align-items:center;gap:4px;color:var(--text-light)}
.footer-socials a:hover{color:var(--blue)}
.footer-socials span{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}
.footer-copy{font-size:.72rem}

/* ================================================================== */
/*  Responsive                                                         */
/* ================================================================== */
@media(max-width:1024px){
    .home-layout{grid-template-columns:1fr 260px}
    .home-left{display:none}
    .hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}
    .hero-item.hero-main{grid-column:1/3;grid-row:1}
    .hero-item:nth-child(n+4){display:none}
    .posts-grid{grid-template-columns:repeat(2,1fr)}
    .single-layout{grid-template-columns:1fr}
    .footer-inner{grid-template-columns:1fr 1fr}
    .footer-brand{grid-column:1/3;justify-content:center}
}
@media(max-width:768px){
    html{font-size:14px}
    .header-nav{display:none}
    .header-nav.is-open{
        display:block;position:absolute;top:90px;left:0;right:0;
        background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);z-index:99;padding:8px;
    }
    .header-nav.is-open .nav-menu{flex-direction:column}
    .header-nav.is-open .nav-menu a{padding:10px 14px;font-size:.95rem}
    .burger-toggle{display:flex}
    .hero-grid{grid-template-columns:1fr;grid-template-rows:220px}
    .hero-item.hero-main{grid-column:1}
    .hero-item:not(.hero-main){display:none}
    .home-layout{grid-template-columns:1fr}
    .home-right{order:-1}
    .posts-grid,.society-grid{grid-template-columns:1fr}
    .interview-grid{grid-template-columns:1fr;gap:14px}
    .interview-card-img{height:190px}
    .interview-card-title{font-size:15px}
    .sport-grid{grid-template-columns:1fr 1fr}
    .footer-inner{grid-template-columns:1fr}
    .footer-brand{grid-column:1;justify-content:center}
    .footer-bottom-inner{flex-direction:column;gap:8px}
}
