:root {
    --c-primary: #0FA3A3;
    --c-primary-dark: #0d8a8a;
    --c-primary-light: #e0f7f5;
    --c-primary-bg: #f0fdfa;
    --c-navy: #0f172a;
    --c-text: #334155;
    --c-text-light: #64748b;
    --c-border: #e2e8f0;
    --c-bg: #ffffff;
    --font-sans: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body {
    font-family: var(--font-sans) !important;
    color: var(--c-text);
    background: var(--c-bg);
    -webkit-font-smoothing: antialiased;
}

/* Header override */
.wp-site-blocks > header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255,255,255,.95) !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--c-border);
}

/* Single post content */
.entry-content, .wp-block-post-content {
    max-width: 760px;
    margin: 0 auto;
    padding: 40px 24px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--c-text);
}

.entry-content h2, .wp-block-post-content h2 {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--c-navy);
    margin: 48px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--c-primary);
}

.entry-content h3, .wp-block-post-content h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--c-navy);
    margin: 32px 0 12px;
}

.entry-content p, .wp-block-post-content p {
    margin-bottom: 20px;
    line-height: 1.8;
}

.entry-content table, .wp-block-post-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 0.95rem;
    border-radius: 8px;
    overflow: hidden;
}

.entry-content th, .wp-block-post-content th {
    background: var(--c-primary);
    color: #fff;
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
}

.entry-content td, .wp-block-post-content td {
    padding: 10px 16px;
    border-bottom: 1px solid var(--c-border);
}

.entry-content tr:nth-child(even), .wp-block-post-content tr:nth-child(even) {
    background: var(--c-primary-bg);
}

.entry-content blockquote, .wp-block-post-content blockquote {
    border-left: 4px solid var(--c-primary) !important;
    background: var(--c-primary-bg) !important;
    padding: 16px 20px !important;
    margin: 24px 0 !important;
    border-radius: 0 8px 8px 0 !important;
    color: #134e4a;
}

.entry-content ul, .entry-content ol,
.wp-block-post-content ul, .wp-block-post-content ol {
    margin: 16px 0;
    padding-left: 24px;
}

.entry-content li, .wp-block-post-content li {
    margin-bottom: 8px;
    line-height: 1.7;
}

.entry-content img, .wp-block-post-content img {
    border-radius: 12px;
    max-width: 100%;
    height: auto;
}

/* Post title */
.wp-block-post-title, h1.entry-title {
    font-size: clamp(1.8rem, 4vw, 2.4rem) !important;
    font-weight: 800 !important;
    color: var(--c-navy) !important;
    line-height: 1.3 !important;
    max-width: 760px;
    margin: 40px auto 16px !important;
    padding: 0 24px;
}

/* Featured image */
.wp-block-post-featured-image img,
.post-thumbnail img {
    border-radius: 16px !important;
    max-width: 760px;
    margin: 0 auto;
}

/* Legal notice styling */
.legal-notice {
    font-size: 0.85em !important;
    color: #777 !important;
    background: #f8f9fa !important;
    border-left: 3px solid #cbd5e1 !important;
    padding: 10px 14px !important;
    margin-top: 2em !important;
    border-radius: 0 6px 6px 0 !important;
}

.ai-notice {
    font-size: 0.85em !important;
    color: #888 !important;
}

/* Article summary box */
.article-summary {
    border-radius: 0 12px 12px 0 !important;
}

/* Footer override */
.wp-site-blocks > footer,
footer.wp-block-template-part {
    background: var(--c-navy) !important;
    color: #94a3b8 !important;
}

/* Button styles */
.wp-block-button__link,
.wp-element-button {
    background: var(--c-primary) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.2s !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
    background: var(--c-primary-dark) !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .entry-content, .wp-block-post-content {
        padding: 24px 16px;
        font-size: 1rem;
    }
    .wp-block-post-title, h1.entry-title {
        padding: 0 16px;
    }
    .entry-content table, .wp-block-post-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Related posts */
.tc-related { margin:48px 0 32px; padding-top:32px; border-top:1px solid var(--c-border); }
.tc-related-title { font-size:1.3rem; font-weight:800; color:var(--c-navy); margin-bottom:20px; }
.tc-related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.tc-related-card { display:flex; flex-direction:column; border-radius:12px; overflow:hidden; border:1px solid var(--c-border); text-decoration:none; transition:all .3s; }
.tc-related-card:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(15,23,42,.1); border-color:transparent; }
.tc-related-img { aspect-ratio:16/9; overflow:hidden; }
.tc-related-img img { width:100%; height:100%; object-fit:cover; }
.tc-related-name { padding:12px 14px; font-size:.9rem; font-weight:600; color:var(--c-navy); line-height:1.4; }

/* Hide WP default chrome */
.wp-block-comments, .comments-area, #respond, .comment-respond,
.wp-block-post-comments-form, .comment-reply-title { display:none !important; }
.wp-block-group.alignfull.is-content-justification-space-between { display:none !important; }

@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
}
