/* ===== Plus Wealth v3 — Financial Field Style ===== */
/* Primary: #1A4FAB  BG: #F5F7FA  White cards */

/* === Global === */
body {
    font-family: 'Noto Sans JP', sans-serif !important;
    background: #F5F7FA !important;
    color: #1A1A1A !important;
}

/* 4px blue top accent */
body::before {
    content: '';
    display: block;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: #1A4FAB;
    z-index: 99999;
    pointer-events: none;
}

/* === Header === */
.ct-header,
#masthead,
header.site-header {
    background: #fff !important;
    border-bottom: 1px solid #E0E8F4 !important;
    box-shadow: none !important;
    padding-top: 4px !important;
}

.ct-header .site-title a,
.ct-header .ct-logo-container a,
.site-title a {
    color: #1A4FAB !important;
    font-family: 'Noto Serif JP', serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
}

.site-description {
    font-size: 0.6rem !important;
    color: #888 !important;
    letter-spacing: 0.1em !important;
}

/* === Nav === */
.ct-nav-links a,
.ct-header nav a,
.main-navigation a {
    color: #555 !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
}
.ct-nav-links a:hover,
.main-navigation a:hover {
    color: #1A4FAB !important;
}

/* === Hero (injected by JS) === */
.pw-hero {
    background: #fff;
    border-bottom: 1px solid #E0E8F4;
    padding: 26px 24px;
}
.pw-hero-inner {
    max-width: 1160px;
    margin: 0 auto;
}
.pw-hero-kicker {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.6rem;
    color: #1A4FAB;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
}
.pw-hero-rule {
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #1A4FAB;
    vertical-align: middle;
}
.pw-hero-ttl {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #111;
    line-height: 1.6;
    margin-bottom: 6px;
}
.pw-hero-sub {
    font-size: 0.8rem;
    color: #666;
    line-height: 1.8;
}

/* === Category Nav (injected by JS) === */
.pw-cat-nav {
    background: #fff;
    border-bottom: 2px solid #E0E8F4;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.pw-cat-nav-inner {
    display: flex;
    padding: 0 24px;
    max-width: 1160px;
    margin: 0 auto;
}
.pw-cat-nav a {
    display: inline-block;
    padding: 9px 15px;
    font-size: 0.78rem;
    color: #555;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-weight: 500;
    transition: color .15s;
}
.pw-cat-nav a.active,
.pw-cat-nav a:hover {
    color: #1A4FAB;
    border-bottom-color: #1A4FAB;
    font-weight: 700;
}

/* === Section Label (injected by JS) === */
.pw-section-label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1A4FAB;
    padding: 14px 0 10px;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.pw-section-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #E0E8F4;
}

/* === Post Cards (Blocksy) === */
.ct-post-card,
article.type-post {
    background: #fff !important;
    border: 1px solid #E0E8F4 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    transition: all .2s !important;
    overflow: hidden;
}
.ct-post-card:hover,
article.type-post:hover {
    border-color: #1A4FAB !important;
    box-shadow: 0 3px 16px rgba(26,79,171,.1) !important;
    transform: translateY(-2px) !important;
}

/* Thumbnail 16:9 */
.ct-post-card .ct-media-container,
.ct-post-card .post-thumbnail {
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
}
.ct-post-card .ct-media-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Post title */
.ct-post-card .entry-title a,
.ct-post-card h2 a,
h2.entry-title a,
h3.entry-title a {
    color: #111 !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
}
.ct-post-card .entry-title a:hover,
h2.entry-title a:hover {
    color: #1A4FAB !important;
}

/* Category badge */
.ct-post-card .cat-links a,
.cat-links a,
.entry-meta .cat-links a {
    background: #EDF2FF !important;
    color: #1A4FAB !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-right: 4px !important;
}

/* Date */
.ct-post-card .posted-on,
.entry-meta .posted-on {
    font-size: 0.68rem !important;
    color: #AAA !important;
}

/* === Content area === */
#primary,
.content-area,
main#main {
    background: #F5F7FA !important;
}

/* === Sidebar === */
.ct-sidebar,
#secondary,
aside.widget-area {
    background: #fff !important;
    border: none !important;
}
.ct-sidebar .widget-title,
#secondary .widget-title,
aside .widget-title,
.widgettitle {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #1A4FAB !important;
    border: none !important;
    border-bottom: 1px solid #E0E8F4 !important;
    background: none !important;
    padding: 0 0 8px !important;
    margin-bottom: 10px !important;
}

/* === CTA box (injected by JS) === */
.pw-cta {
    background: #1A4FAB;
    border-radius: 3px;
    padding: 20px 18px;
    margin-bottom: 18px;
}
.pw-cta-label {
    display: block;
    font-size: 0.55rem;
    color: rgba(255,255,255,.45);
    letter-spacing: 4px;
    margin-bottom: 8px;
}
.pw-cta-title {
    font-size: 0.98rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.65;
    margin-bottom: 8px;
}
.pw-cta-body {
    font-size: 0.76rem;
    color: rgba(255,255,255,.6);
    line-height: 1.8;
    margin-bottom: 14px;
}
.pw-cta-btn {
    display: block;
    background: #fff;
    color: #1A4FAB;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 11px;
    border-radius: 2px;
    text-align: center;
    text-decoration: none;
}
.pw-cta-btn:hover {
    background: #EDF2FF;
    color: #1A4FAB !important;
}

/* === Footer === */
.ct-footer,
footer.site-footer,
#colophon {
    background: #1A4FAB !important;
    color: rgba(255,255,255,.4) !important;
    border-top: none !important;
}
.ct-footer a,
footer.site-footer a,
#colophon a {
    color: rgba(255,255,255,.4) !important;
}
.ct-footer p,
footer.site-footer p {
    color: rgba(255,255,255,.4) !important;
}

/* === Back to top === */
.pw-backtop {
    display: none;
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 38px;
    height: 38px;
    background: #1A4FAB;
    color: #fff !important;
    border-radius: 3px;
    text-align: center;
    line-height: 38px;
    font-size: 0.9rem;
    text-decoration: none;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(26,79,171,.3);
    font-weight: 700;
}
.pw-backtop.show { display: block; }
.pw-backtop:hover { background: #0E3490 !important; color: #fff !important; }

/* === Reading progress === */
.pw-progress {
    position: fixed;
    top: 4px;
    left: 0;
    height: 3px;
    background: #6690E8;
    width: 0;
    z-index: 99998;
    transition: width .1s linear;
}

/* === Content links === */
.entry-content a {
    color: #1A4FAB;
}
.entry-content a:hover {
    color: #0E3490;
}
