/* CamType 공통 스타일 — 상단 메뉴·푸터 (기존 single.php 의 NAV·푸터 CSS 그대로 이전) */

/* ══════════════════════════════════
   NAV — 기존 camtype.com 완전 동일
══════════════════════════════════ */
.ct-nav {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(11, 15, 26, 0.88);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 0 28px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ct-nav-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    font-family: 'Philosopher', serif;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
.ct-nav-logo span {
    background: linear-gradient(135deg, #a5b4fc, #e879f9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.ct-nav-links {
    display: flex;
    align-items: center;
    gap: 4px;
}
.ct-nav-links a {
    text-decoration: none;
    font-family: 'Rajdhani', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.8px;
    color: #64748b;
    padding: 6px 14px;
    border-radius: 8px;
    transition: all 0.2s;
}
.ct-nav-links a:hover {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.05);
}
.ct-nav-links a.active {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.07);
}
/* 모바일 햄버거 */
.ct-nav-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 4px;
}
.ct-nav-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #94a3b8;
    border-radius: 2px;
}
.ct-nav-mobile {
    display: none;
    position: fixed;
    top: 58px;
    left: 0; right: 0;
    background: rgba(11, 15, 26, 0.97);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px);
    z-index: 998;
    padding: 12px 16px 20px;
    flex-direction: column;
    gap: 4px;
}
.ct-nav-mobile.open { display: flex; }
.ct-nav-mobile a {
    text-decoration: none;
    font-family: 'Rajdhani', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.8px;
    color: #64748b;
    padding: 12px 16px;
    border-radius: 10px;
    transition: all 0.2s;
}
.ct-nav-mobile a:hover,
.ct-nav-mobile a.active {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.05);
}
@media (max-width: 600px) {
    .ct-nav-links { display: none; }
    .ct-nav-hamburger { display: flex; }
}

/* 푸터 */
.ct-footer {
    border-top: 1px solid rgba(255,255,255,0.05);
    padding: 36px 24px;
    text-align: center;
}
.ct-footer-logo {
    font-family: 'Philosopher', serif;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 14px;
}
.ct-footer-logo span {
    background: linear-gradient(135deg, #a5b4fc, #e879f9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.ct-footer-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.ct-footer-links a {
    font-family: 'Rajdhani', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #334155;
    text-decoration: none;
    transition: color 0.2s;
}
.ct-footer-links a:hover { color: #64748b; }
.ct-footer-copy {
    font-size: 10px;
    color: #1e293b;
    letter-spacing: 0.05em;
}

/* Astra 템플릿 안에서 메뉴·푸터가 전체 폭을 쓰도록 */
.ct-site .ct-nav,
.ct-site .ct-footer {
    width: 100%;
    box-sizing: border-box;
}

/* Astra '맨 위로' 버튼 — 기존 사이트에서 보이지 않던 것 유지 */
#ast-scroll-top { display: none !important; }
.ct-footer-note { margin-top: 6px; }

/* 20유형 페이지 보강 섹션 (parts/type-extended.php) */
.ct-tx { max-width: 760px; margin: 0 auto; padding: 8px 20px 56px; color: #cbd5e1; font-family: 'Inter', sans-serif; line-height: 1.7; }
.ct-tx-block { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 16px; padding: 26px 28px; margin-top: 20px; }
.ct-tx h2 { font-family: 'Philosopher', serif; font-size: 26px; color: #fff; margin: 0 0 12px; }
.ct-tx h3 { font-family: 'Rajdhani', sans-serif; font-size: 18px; letter-spacing: 0.4px; color: #e2e8f0; margin: 18px 0 6px; }
.ct-tx p { font-size: 15px; margin: 0 0 12px; }
.ct-tx a { color: #a5b4fc; }
.ct-tx strong { color: #e2e8f0; }
.ct-tx-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ct-tx-list { list-style: none; margin: 0 0 8px; padding: 0; }
.ct-tx-list li { font-size: 15px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.ct-tx-list li:first-child { border-top: 0; }
.ct-tx-tip { margin-top: 14px; padding: 12px 16px; border-left: 3px solid #e879f9; background: rgba(232, 121, 249, 0.07); border-radius: 0 10px 10px 0; }
.ct-tx-stats { display: grid; gap: 10px; }
.ct-tx-stat { display: grid; grid-template-columns: 130px 1fr 40px; align-items: center; gap: 12px; font-size: 14px; }
.ct-tx-stat i { display: block; height: 8px; border-radius: 8px; background: linear-gradient(90deg, #a5b4fc var(--v), rgba(255, 255, 255, 0.08) var(--v)); }
.ct-tx-stat b { color: #e2e8f0; font-weight: 600; text-align: right; }
.ct-tx-match { padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.ct-tx-match h3 { margin-top: 0; }
.ct-tx-match h3 span { font-size: 13px; color: #94a3b8; font-family: 'Inter', sans-serif; letter-spacing: 0; margin-left: 6px; }
.ct-tx-cta { display: inline-block; margin-top: 8px; padding: 10px 22px; border-radius: 10px; background: linear-gradient(135deg, #6366f1, #d946ef); color: #fff !important; font-weight: 700; text-decoration: none; }
@media (max-width: 640px) {
    .ct-tx-block { padding: 20px 18px; }
    .ct-tx-cols { grid-template-columns: 1fr; gap: 0; }
    .ct-tx-stat { grid-template-columns: 105px 1fr 36px; }
}

/* 띠 궁합 통합 페이지 (/zodiac-compatibility/…) */
body.camtype-zodiac-page { background: #0b0f1a; }
body.camtype-zodiac-page .ast-breadcrumbs-wrapper { display: none; }
body.camtype-zodiac-page .entry-header { max-width: 760px; margin: 0 auto; padding: 44px 20px 0; }
body.camtype-zodiac-page .entry-title { font-family: 'Philosopher', serif; font-size: clamp(30px, 5vw, 42px); line-height: 1.15; color: #fff; margin: 0 0 8px; }
.ct-zp { max-width: 760px; margin: 0 auto; padding: 8px 20px 64px; color: #cbd5e1; font-family: 'Inter', sans-serif; line-height: 1.75; }
.ct-zp .ct-zp-eyebrow { font-family: 'Rajdhani', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #818cf8; margin-bottom: 10px; }
.ct-zp .ct-zp-lede { font-size: 17px; color: #94a3b8; margin: 0 0 22px; }
.ct-zp h2 { font-family: 'Philosopher', serif; font-size: 26px; color: #fff; margin: 34px 0 10px; }
.ct-zp h3 { font-family: 'Rajdhani', sans-serif; font-size: 18px; letter-spacing: 0.4px; color: #e2e8f0; margin: 20px 0 6px; }
.ct-zp p, .ct-zp li { font-size: 15.5px; }
.ct-zp p { margin: 0 0 14px; }
.ct-zp a { color: #a5b4fc; }
.ct-zp strong { color: #e2e8f0; }
.ct-zp ul { padding-left: 20px; margin: 0 0 14px; }
.ct-zp .ct-zp-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.ct-zp .ct-zp-badges span { font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; background: rgba(129, 140, 248, 0.14); color: #c7d2fe; }
.ct-zp-data { margin-top: 36px; padding: 24px 26px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 16px; }
.ct-zp-data h2 { margin-top: 0; }
.ct-zp-table { width: 100%; border-collapse: collapse; border: 0; background: transparent; font-size: 14px; margin: 0 0 14px; }
.ct-zp-table th, .ct-zp-table td { text-align: left; padding: 8px 10px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.07); background: transparent; color: #cbd5e1; }
.ct-zp-table th { color: #94a3b8; font-weight: 600; font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase; }
.ct-zp-n { color: #94a3b8; font-size: 13px; }
.ct-zp-hub-list { list-style: none; padding: 0; }
.ct-zp-hub-list li { padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, 0.07); }
@media (max-width: 640px) { .ct-zp-data { padding: 18px 16px; } .ct-zp-table { font-size: 13px; } }
