/*
Theme Name:   DopaSignal Child
Theme URI:    https://dopasignal.com
Description:  GeneratePress 자식 테마 — dopasignal.com 전용
Author:       dopasignal
Author URI:   https://dopasignal.com
Template:     generatepress
Version:      1.0.0
Text Domain:  dopasignal-child
*/

/* ============================================================
   디자인 토큰 (서브도메인 앱과 공유 가능)
   ============================================================ */
:root {
    --ds-color-primary:    #0ea5e9;   /* sky-500 */
    --ds-color-secondary:  #6366f1;   /* indigo-500 */
    --ds-color-accent:     #f59e0b;   /* amber-500 */
    --ds-color-text:       #0f172a;   /* slate-900 */
    --ds-color-muted:      #64748b;   /* slate-500 */
    --ds-color-bg:         #ffffff;
    --ds-color-bg-soft:    #f8fafc;   /* slate-50 */
    --ds-color-border:     #e2e8f0;   /* slate-200 */
    --ds-color-disclaimer: #fef3c7;   /* amber-100 */
    --ds-radius:           10px;
    --ds-shadow-sm:        0 1px 2px rgba(15, 23, 42, .04);
    --ds-shadow-md:        0 4px 12px rgba(15, 23, 42, .06);
    --ds-font-base:        -apple-system, BlinkMacSystemFont, "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", system-ui, sans-serif;
}

/* ============================================================
   타이포 베이스
   ============================================================ */
body {
    font-family: var(--ds-font-base);
    color: var(--ds-color-text);
    line-height: 1.7;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

article h1, article h2, article h3 {
    line-height: 1.35;
    letter-spacing: -0.01em;
}

article a {
    color: var(--ds-color-primary);
    text-underline-offset: 3px;
}

/* ============================================================
   광고 슬롯 (CLS 방지: min-height 강제)
   ============================================================ */
.ds-ad-slot {
    display: block;
    margin: 1.5rem 0;
    text-align: center;
    background: var(--ds-color-bg-soft);
    border: 1px dashed var(--ds-color-border);
    border-radius: var(--ds-radius);
    overflow: hidden;
}
.ds-ad-slot--top    { min-height: 250px; }
.ds-ad-slot--inline { min-height: 280px; }
.ds-ad-slot--bottom { min-height: 250px; }
.ds-ad-slot--side   { min-height: 600px; }

/* ============================================================
   면책 박스 (금융/투자 글에 자동 삽입)
   ============================================================ */
.ds-disclaimer {
    background: var(--ds-color-disclaimer);
    border-left: 4px solid var(--ds-color-accent);
    padding: 1rem 1.25rem;
    margin: 2rem 0;
    border-radius: var(--ds-radius);
    font-size: .92em;
    color: #78350f;
}
.ds-disclaimer strong { display: block; margin-bottom: .35em; }

/* ============================================================
   서비스 카드 (서브도메인 앱 카탈로그)
   ============================================================ */
.ds-services {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
}
.ds-service-card {
    background: var(--ds-color-bg);
    border: 1px solid var(--ds-color-border);
    border-radius: var(--ds-radius);
    padding: 1.25rem;
    box-shadow: var(--ds-shadow-sm);
    transition: transform .15s ease, box-shadow .15s ease;
}
.ds-service-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--ds-shadow-md);
}
.ds-service-card h3 { margin: 0 0 .35em; font-size: 1.05rem; }
.ds-service-card p  { color: var(--ds-color-muted); margin: 0 0 .75em; font-size: .9rem; }
.ds-service-card a.cta {
    display: inline-block;
    padding: .4rem .8rem;
    background: var(--ds-color-primary);
    color: #fff;
    border-radius: 999px;
    font-size: .85rem;
    text-decoration: none;
}
