/*
Theme Name: Київ Прописка Clean
Theme URI: https://propiska-ua.kiev.ua/
Author: Київ Прописка
Description: Clean bilingual WordPress theme for Ukrainian primary language and Russian secondary language with Polylang support.
Version: 3.0
Text Domain: propiskaua
*/

:root {
    --primary:#0284c7;
    --primary-dark:#0369a1;
    --navy:#0f172a;
    --text:#334155;
    --muted:#64748b;
    --border:#e2e8f0;
    --bg:#f8fafc;
    --white:#fff;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.6;
}
a { color:var(--primary); }
img { max-width:100%; height:auto; }
.container {
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

/* Header */
.clean-site-header {
    background:#fff;
    border-bottom:1px solid var(--border);
    box-shadow:0 2px 8px rgba(15,23,42,.04);
    position:relative;
    z-index:1000;
}
.clean-header-wrap {
    min-height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}
.clean-logo {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--primary);
    text-decoration:none;
    font-size:21px;
    font-weight:800;
    white-space:nowrap;
}
.clean-logo i { font-size:23px; }
.clean-nav { flex:1; }
.clean-nav ul {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    list-style:none;
    margin:0;
    padding:0;
}
.clean-nav li { margin:0; }
.clean-nav a {
    color:var(--text);
    text-decoration:none;
    font-size:15px;
    font-weight:600;
}
.clean-nav a:hover { color:var(--primary); }

.clean-right {
    display:flex;
    align-items:center;
    gap:16px;
}
.clean-lang-switch {
    display:flex;
    gap:3px;
    padding:4px;
    background:#f1f5f9;
    border-radius:7px;
}
.clean-lang-switch a {
    padding:5px 9px;
    border-radius:5px;
    color:var(--muted);
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}
.clean-lang-switch a.active {
    background:var(--primary);
    color:#fff;
}
.clean-phone-block {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    line-height:1.25;
}
.clean-phone-block a {
    color:var(--navy);
    text-decoration:none;
    font-size:15px;
    font-weight:700;
}
.clean-phone-block span a {
    color:var(--primary);
    font-size:12px;
    font-weight:500;
}
.clean-btn {
    display:inline-block;
    padding:10px 18px;
    border-radius:7px;
    background:var(--primary);
    color:#fff!important;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
}
.clean-btn:hover { background:var(--primary-dark); }

.mobile-menu-toggle {
    display:none;
    border:0;
    background:#f1f5f9;
    color:var(--navy);
    padding:9px 11px;
    border-radius:7px;
    cursor:pointer;
    font-size:18px;
}

/* Content */
.site-content { min-height:55vh; }
.page-wrapper-clean,
.clean-main-content {
    background:var(--bg);
    padding:45px 0 65px;
}
.layout-flex-wrapper,
.clean-single-layout {
    display:grid;
    grid-template-columns:minmax(0, 2fr) minmax(260px, 1fr);
    gap:30px;
    align-items:start;
}
.pane-header {
    margin-bottom:25px;
    padding-bottom:15px;
    border-bottom:2px solid var(--border);
}
.pane-title,
.clean-single-title {
    color:var(--navy);
    font-weight:800;
    line-height:1.3;
}
.pane-title { margin:0; font-size:28px; }
.clean-single-title { margin:0 0 25px; font-size:32px; }
.articles-feed { display:flex; flex-direction:column; gap:20px; }
.article-card-item,
.clean-single-card,
.sidebar-secondary-pane,
.clean-sidebar-area {
    background:#fff;
    border:1px solid var(--border);
    border-radius:10px;
    box-shadow:0 2px 5px rgba(15,23,42,.025);
}
.article-card-item { padding:25px; }
.card-meta-top { color:var(--muted); font-size:12px; margin-bottom:8px; }
.card-title-main { margin:0 0 12px; font-size:20px; }
.card-title-main a { color:var(--navy); text-decoration:none; }
.card-title-main a:hover { color:var(--primary); }
.card-excerpt-text { color:var(--text); font-size:15px; line-height:1.7; }
.card-more-link { font-size:13px; font-weight:700; text-decoration:none; }
.clean-single-card { padding:40px; }
.clean-single-body { font-size:16px; line-height:1.8; }
.clean-single-body h2,
.clean-single-body h3 { color:var(--navy); margin-top:30px; }
.clean-sidebar-area,
.sidebar-secondary-pane { padding:25px; }
.widget { margin-bottom:25px; }
.widget:last-child { margin-bottom:0; }
.widget-title {
    color:var(--navy);
    font-size:18px;
    margin:0 0 15px;
    padding-bottom:8px;
    border-bottom:2px solid var(--primary);
}
.widget ul { margin:0; padding-left:18px; }
.widget li { margin-bottom:8px; }

/* 404 */
.clean-404 {
    background:#fff;
    border:1px solid var(--border);
    border-radius:10px;
    padding:50px 25px;
    text-align:center;
}
.clean-404 h1 { color:var(--navy); font-size:42px; margin:0 0 10px; }

/* Footer */
.clean-site-footer {
    width:100%;
    margin:0;
    background:var(--navy);
    color:#94a3b8;
    border-top:2px solid var(--primary);
}
.clean-footer-container {
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:55px 20px;
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:50px;
}
.clean-footer-logo {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--primary);
    text-decoration:none;
    font-size:21px;
    font-weight:800;
}
.clean-footer-desc {
    max-width:480px;
    margin:18px 0 0;
    color:#94a3b8;
    font-size:14px;
    line-height:1.7;
}
.clean-site-footer h4 {
    color:#fff;
    margin:0 0 18px;
    font-size:17px;
}
.clean-footer-contacts,
.clean-footer-links {
    list-style:none;
    margin:0;
    padding:0;
}
.clean-footer-contacts li,
.clean-footer-links li { margin-bottom:12px; }
.clean-footer-contacts li {
    display:flex;
    align-items:center;
    gap:10px;
}
.clean-footer-contacts i { color:var(--primary); width:18px; text-align:center; }
.clean-footer-contacts a,
.clean-footer-links a {
    color:#cbd5e1;
    text-decoration:none;
}
.clean-footer-contacts a:hover,
.clean-footer-links a:hover { color:#38bdf8; }
.clean-footer-bottom {
    border-top:1px solid #1e293b;
    text-align:center;
}
.clean-footer-bottom .clean-footer-container {
    display:block;
    padding:20px;
}
.clean-footer-bottom p { margin:0; color:#64748b; font-size:13px; }

/* Responsive */
@media (max-width: 992px) {
    .clean-nav { display:none; }
    .mobile-menu-toggle { display:block; }
    .clean-header-wrap { flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
    .clean-right { margin-left:auto; }
    .layout-flex-wrapper,
    .clean-single-layout { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
    .clean-header-wrap { gap:12px; }
    .clean-logo { font-size:18px; }
    .clean-phone-block { display:none; }
    .clean-right { gap:8px; }
    .clean-btn { padding:9px 12px; }
    .clean-footer-container { grid-template-columns:1fr; gap:30px; padding:40px 20px; }
    .clean-single-card { padding:25px 20px; }
    .pane-title { font-size:24px; }
    .clean-single-title { font-size:27px; }
}

@media (max-width: 992px) {
    .clean-nav.is-open {
        display:block;
        width:100%;
        order:10;
    }
    .clean-nav.is-open ul {
        flex-direction:column;
        align-items:flex-start;
        padding:15px 0 5px;
        gap:10px;
    }
}
