/*
Theme Name: Kanyu
Theme URI: https://kanyu.web.asx.pub/
Author: Kanyu Global
Author URI: https://kanyu.web.asx.pub/
Description: A premium, modern, fully customizable WordPress theme for academic journals and publishing consultation services.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kanyu
Tags: translation-ready, custom-menu, custom-colors, custom-logo, featured-images, one-column, grid-layout
*/

:root {
    --kg-deep: #063a63;
    --kg-soft: #eef8fd;
    --kg-text: #203040;
    --kg-muted: #667085;
    --kg-accent: #22a9e8;
    --kg-primary: #0c5f92;
    --kg-line: #dce8ef;
    --kg-surface: #ffffff;
    --kg-surface-soft: #f7fbfd;
    --kg-shadow-sm: 0 12px 34px rgba(6, 58, 99, .07);
    --kg-shadow-lg: 0 24px 64px rgba(6, 58, 99, .12);
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--kg-text);
    background: var(--kg-surface-soft);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    overflow-x: hidden;
}

/* Navbar */
.navbar {
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: all 0.3s ease;
    min-height: 72px;
    box-shadow: 0 8px 30px rgba(6, 58, 99, .04);
}

.navbar .nav-link {
    position: relative;
    padding: .65rem .85rem !important;
    color: #344b5c;
    font-size: .94rem;
    font-weight: 600;
}

.navbar .nav-link::after {
    content: "";
    position: absolute;
    right: .85rem;
    bottom: .35rem;
    left: .85rem;
    height: 2px;
    background: var(--kg-accent);
    border-radius: 2px;
    transform: scaleX(0);
    transition: transform .2s ease;
}

.navbar .nav-link:hover,
.navbar .current-menu-item > .nav-link { color: var(--kg-primary); }
.navbar .nav-link:hover::after,
.navbar .current-menu-item > .nav-link::after { transform: scaleX(1); }

a:focus-visible,
button:focus-visible {
    outline: 3px solid rgba(34, 169, 232, .4);
    outline-offset: 3px;
}

.navbar-brand span {
    letter-spacing: .03em;
}

.custom-logo,
.navbar-brand img {
    height: 48px;
    width: auto;
    object-fit: contain;
}

/* Button & Color Classes */
.btn-primary {
    --bs-btn-bg: var(--kg-primary);
    --bs-btn-hover-bg: var(--kg-deep);
    --bs-btn-border-color: var(--kg-primary);
    --bs-btn-hover-border-color: var(--kg-deep);
}

.text-primary {
    color: var(--kg-primary) !important;
}

.bg-primary-kg {
    background: var(--kg-primary);
}

/* Layout Utilities */
.section-pad {
    padding: 90px 0;
}


/* Hero Section */
.hero {
    color: #fff;
    display: flex;
    overflow: hidden;
    position: relative;
    background: linear-gradient(120deg, rgba(4, 31, 55, .85), rgba(12, 95, 146, .62)), url('https://images.unsplash.com/photo-1576086213369-97a306d36557?auto=format&fit=crop&w=2200&q=85') center/cover no-repeat;
    min-height: 760px;
    align-items: center;
}

.hero::after {
    inset: auto -8% -28% auto;
    width: 52vw;
    height: 52vw;
    content: "";
    position: absolute;
    background: radial-gradient(circle, rgba(34, 169, 232, .35), rgba(34, 169, 232, 0) 65%);
    border-radius: 50%;
}

.hero .container {
    z-index: 2;
    position: relative;
}

.eyebrow {
    gap: .5rem;
    border: 1px solid rgba(255, 255, 255, .22);
    display: inline-flex;
    padding: .45rem .8rem;
    font-size: .92rem;
    background: rgba(255, 255, 255, .14);
    align-items: center;
    border-radius: 999px;
}

.hero-card {
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 24px 80px rgba(0, 0, 0, .25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.hero-img {
    height: 430px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .35);
    object-fit: cover;
    border-radius: 28px;
}

/* Sections General */
.section-title {
    font-weight: 800;
    letter-spacing: -.02em;
}

.section-subtitle {
    color: var(--kg-muted);
    font-size: 1.08rem;
}

.rounded-5 {
    border-radius: 1.5rem !important;
}

/* Service Card */
.service-card {
    border: 1px solid #e6eef5;
    height: 100%;
    overflow: hidden;
    background: var(--kg-surface);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--kg-shadow-lg);
    border-color: #bfe6f8;
}

.service-card img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.service-image-placeholder {
    display: grid;
    width: 100%;
    height: 190px;
    color: rgba(12, 95, 146, .5);
    font-size: 3rem;
    background:
        radial-gradient(circle at 24% 22%, rgba(34, 169, 232, .18), transparent 35%),
        linear-gradient(145deg, #eaf7fd, #f9fdff);
    place-items: center;
    text-decoration: none;
}

.service-card h2,
.service-card h4 {
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.service-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.service-index {
    color: rgba(12, 95, 146, .16);
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.icon-badge {
    color: var(--kg-primary);
    width: 48px;
    height: 48px;
    display: inline-grid;
    font-size: 1.35rem;
    background: var(--kg-soft);
    place-items: center;
    border-radius: 14px;
}

.check-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.check-list li {
    gap: .55rem;
    display: flex;
    line-height: 1.55;
    margin-bottom: .55rem;
}

.check-list i {
    color: var(--kg-primary);
    margin-top: .18rem;
}

.service-card .check-list {
    margin-bottom: 1.5rem;
}

/* Service Detail */
.service-archive { background: var(--kg-surface-soft); }

.service-archive .service-card img {
    display: block;
}

.service-pagination .nav-links {
    display: flex;
    gap: .5rem;
    justify-content: center;
}

.service-pagination .page-numbers {
    min-width: 42px;
    padding: .55rem .8rem;
    color: var(--kg-primary);
    background: #fff;
    border: 1px solid #dce8f0;
    border-radius: 999px;
    text-align: center;
    text-decoration: none;
}

.service-pagination .page-numbers.current,
.service-pagination .page-numbers:hover {
    color: #fff;
    background: var(--kg-primary);
    border-color: var(--kg-primary);
}

.service-detail-hero {
    background:
        radial-gradient(circle at 88% 16%, rgba(34, 169, 232, .16), transparent 23rem),
        linear-gradient(135deg, #f2faff 0%, #fff 58%, #edf8fd 100%);
}

.service-back-link {
    color: var(--kg-primary);
}

.service-feature-summary {
    max-width: 720px;
    font-size: 1.05rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem 1.25rem;
}

.service-feature-summary li {
    padding: .65rem .8rem;
    margin: 0;
    background: rgba(255, 255, 255, .7);
    border: 1px solid rgba(12, 95, 146, .1);
    border-radius: 12px;
}

.service-visual {
    position: relative;
    overflow: hidden;
    padding: 10px;
    background: rgba(255, 255, 255, .8);
    border: 1px solid rgba(12, 95, 146, .12);
    border-radius: 28px;
    box-shadow: var(--kg-shadow-lg);
}

.service-detail-image {
    display: block;
    width: 100%;
    height: 390px;
    max-height: 420px;
    object-fit: cover;
    border-radius: 20px;
}

.service-visual-label {
    position: absolute;
    right: 24px;
    bottom: 22px;
    padding: .45rem .7rem;
    color: #fff;
    background: rgba(4, 31, 55, .74);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .1em;
    backdrop-filter: blur(8px);
}

.service-detail-content {
    color: var(--kg-text);
    font-size: 1.08rem;
    line-height: 1.9;
}

.service-side-card {
    position: sticky;
    top: 100px;
    padding: 2rem;
    background: #fff;
    border: 1px solid var(--kg-line);
    border-radius: 24px;
    box-shadow: var(--kg-shadow-sm);
}

.service-detail-content h2,
.service-detail-content h3 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.service-detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}

.service-detail-cta {
    background: var(--kg-soft);
}

/* Team Band */
.team-band {
    background: linear-gradient(135deg, #f5fbff, #ffffff);
}

/* Metrics Section */
.metrics {
    color: #fff;
    background: linear-gradient(120deg, rgba(4, 31, 55, .88), rgba(12, 95, 146, .78)), url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?auto=format&fit=crop&w=2000&q=85') center/cover no-repeat;
}

.metric-card {
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .13);
    border-radius: 20px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Testimonial Card */
.testimonial-card {
    border: 1px solid #e6eef5;
    height: 100%;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 34px rgba(12, 95, 146, .06);
    border-radius: 22px;
}

.testimonial-card img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.quote {
    color: #344054;
    font-size: 1.05rem;
    line-height: 1.75;
}

/* Contact */
.contact {
    background: linear-gradient(135deg, #f4fbff, #eef7fc);
}

.qr-box {
    border: 1px solid #e6eef5;
    margin: auto;
    padding: 28px;
    max-width: 380px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(12, 95, 146, .12);
    border-radius: 28px;
}

.qr-placeholder {
    width: 100%;
    border: 1px solid #e6eef5;
    object-fit: cover;
    aspect-ratio: 1/1;
    border-radius: 18px;
}


/* Footer */
footer {
    color: rgba(255, 255, 255, .78);
    background: #062f52;
}

.footer-menu {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-menu a,
.footer-link {
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
}

.footer-menu a:hover,
.footer-menu a:focus,
.footer-link:hover {
    color: #fff;
}

#izknu {
    background: var(--kg-soft);
}

/* Inner pages: academic technology visual system */
.inner-hero,
.article-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 20%, rgba(34, 169, 232, .16), transparent 24rem),
        linear-gradient(135deg, #f2faff 0%, #fff 58%, #edf8fd 100%);
    border-bottom: 1px solid #dcebf4;
}

.inner-hero h1,
.article-hero h1 { color: #102f46; letter-spacing: -.035em; }

.inner-hero::after,
.article-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .28;
    background-image:
        linear-gradient(rgba(12, 95, 146, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(12, 95, 146, .08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to right, transparent, #000 60%);
}

.inner-hero .container,
.article-hero .container {
    position: relative;
    z-index: 1;
}

.inner-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 3rem;
    align-items: center;
}

.inner-eyebrow {
    color: var(--kg-primary);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.kg-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    color: var(--kg-muted);
    font-size: .82rem;
}

.kg-breadcrumb a {
    color: var(--kg-primary);
    text-decoration: none;
}

.kg-breadcrumb i { font-size: .65rem; opacity: .6; }

.kg-text-link {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    color: var(--kg-primary);
    font-weight: 750;
    text-decoration: none;
}

.kg-text-link i { transition: transform .2s ease; }
.kg-text-link:hover { color: var(--kg-deep); }
.kg-text-link:hover i { transform: translate(2px, -2px); }

.inner-orbit {
    position: relative;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(12, 95, 146, .2);
    border-radius: 50%;
}

.inner-orbit::before,
.inner-orbit::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(34, 169, 232, .28);
    border-radius: 50%;
    transform: rotate(55deg);
}

.inner-orbit::before { inset: 25px -18px; }
.inner-orbit::after { inset: -14px 34px; }
.inner-orbit span {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 12px;
    height: 12px;
    background: var(--kg-accent);
    border-radius: 50%;
    box-shadow: 0 0 24px rgba(34, 169, 232, .8);
}

.insight-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0ebf2;
    border-radius: 22px;
    box-shadow: var(--kg-shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.insight-card:hover {
    transform: translateY(-5px);
    border-color: #bde2f4;
    box-shadow: 0 22px 48px rgba(6, 58, 99, .12);
}

.insight-media {
    display: block;
    height: 220px;
    overflow: hidden;
    background: var(--kg-soft);
}

.insight-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.insight-card:hover .insight-media img { transform: scale(1.035); }

.insight-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    color: rgba(12, 95, 146, .55);
    font-size: 3rem;
    place-items: center;
    background:
        radial-gradient(circle at 30% 30%, rgba(34, 169, 232, .2), transparent 36%),
        linear-gradient(145deg, #eaf7fd, #f8fcff);
}

.insight-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    color: var(--kg-muted);
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .03em;
}

.insight-meta a {
    color: inherit;
    text-decoration: none;
}

.insight-meta a:hover { color: var(--kg-primary); }

.insight-card h2 a {
    color: var(--kg-text);
    text-decoration: none;
}

.insight-card h2 {
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.insight-card .text-muted.mb-4 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.insight-card h2 a:hover,
.insight-link { color: var(--kg-primary); }

.insight-link {
    font-weight: 700;
    text-decoration: none;
}

.kg-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
}

.kg-pagination .page-numbers {
    min-width: 44px;
    padding: .55rem .85rem;
    color: var(--kg-primary);
    background: #fff;
    border: 1px solid #dce8f0;
    border-radius: 999px;
    text-align: center;
    text-decoration: none;
}

.kg-pagination .current,
.kg-pagination a:hover {
    color: #fff;
    background: var(--kg-primary);
    border-color: var(--kg-primary);
}

.empty-state { max-width: 560px; padding: 4rem 1rem; }
.article-heading { max-width: 920px; }
.article-heading h1 { line-height: 1.2; color: #102f46; }
.article-byline { color: var(--kg-muted); font-size: .92rem; }
.meta-pill {
    padding: .32rem .7rem;
    color: var(--kg-primary);
    background: rgba(12, 95, 146, .09);
    border-radius: 999px;
}

.article-shell,
.page-shell { max-width: 920px; }

.content-panel {
    padding: clamp(1.5rem, 4vw, 4rem);
    background: var(--kg-surface);
    border: 1px solid var(--kg-line);
    border-radius: 28px;
    box-shadow: var(--kg-shadow-sm);
}

.page-shell {
    max-width: 980px;
}

.article-cover {
    overflow: hidden;
    background: var(--kg-soft);
    border-radius: 28px;
    box-shadow: var(--kg-shadow-lg);
}

.article-cover img {
    display: block;
    max-height: 560px;
    object-fit: cover;
}

.scholarly-content {
    color: #263b4a;
    font-size: 1.08rem;
    line-height: 1.95;
}

.scholarly-content > :first-child { margin-top: 0; }
.scholarly-content h2,
.scholarly-content h3,
.scholarly-content h4 {
    color: #123b58;
    font-weight: 750;
    line-height: 1.35;
    margin-top: 2.4em;
    margin-bottom: .8em;
}

.scholarly-content h2 {
    padding-bottom: .55rem;
    border-bottom: 1px solid #dcebf3;
}

.scholarly-content a { color: var(--kg-primary); text-underline-offset: 3px; }
.scholarly-content blockquote {
    margin: 2rem 0;
    padding: 1.25rem 1.5rem;
    color: #315269;
    background: var(--kg-soft);
    border-left: 4px solid var(--kg-accent);
    border-radius: 0 14px 14px 0;
}

.scholarly-content img { max-width: 100%; height: auto; border-radius: 16px; }
.scholarly-content table { width: 100%; margin: 2rem 0; border-collapse: collapse; }
.scholarly-content .wp-block-table { overflow-x: auto; }
.scholarly-content th,
.scholarly-content td { padding: .85rem 1rem; border: 1px solid #dce8ef; }
.scholarly-content th { color: #153f5c; background: var(--kg-soft); }
.scholarly-content code { color: #075985; background: #edf8fd; border-radius: 5px; padding: .12em .35em; }

.article-footer { border-top: 1px solid #dce8ef; }
.article-tags { display: flex; flex-wrap: wrap; gap: .5rem; color: var(--kg-muted); }
.article-tags a { color: var(--kg-primary); text-decoration: none; }
.article-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.article-nav a { display: flex; flex-direction: column; color: var(--kg-text); font-weight: 700; text-decoration: none; }
.article-nav a span { color: var(--kg-muted); font-size: .78rem; font-weight: 500; }

.article-nav > div {
    padding: 1rem;
    background: var(--kg-surface-soft);
    border: 1px solid var(--kg-line);
    border-radius: 14px;
}

.archive-description { color: var(--kg-muted); max-width: 720px; }
.archive-description p:last-child { margin-bottom: 0; }

.error-view { min-height: 68vh; background: linear-gradient(145deg, #f5fbff, #fff); }
.error-view .lead { max-width: 620px; }
.error-code {
    color: rgba(12, 95, 146, .08);
    font-size: clamp(7rem, 20vw, 14rem);
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.08em;
}

/* Media Queries */
@media (max-width: 991.98px) {
    .hero {
        padding: 130px 0 80px;
        min-height: auto;
    }
    .section-pad {
        padding: 68px 0;
    }
    .hero-img {
        height: 320px;
    }
    .display-3 {
        font-size: 2.7rem;
    }
    .inner-hero-grid { grid-template-columns: 1fr; }
    .inner-orbit { display: none; }
    .footer-menu { justify-content: flex-start; }
    .service-side-card { position: static; }
}

@media (max-width: 575.98px) {
    .article-nav { grid-template-columns: 1fr; }
    .article-nav .text-end { text-align: left !important; }
    .scholarly-content { font-size: 1rem; }
    .page-shell { border-radius: 20px; }
    .content-panel { padding: 1.35rem; border-radius: 20px; }
    .service-feature-summary { grid-template-columns: 1fr; }
    .service-detail-image { height: 280px; }
}
