/*
Theme Name: Royal Keyword
Theme URI: https://rk.tion.cab
Description: 로얄키워드 모바일 앱 브랜드 사이트 전용 테마. 밝은 SaaS 디자인 시스템(글/페이지 공통).
Author: ROBOTION
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: royalkeyword
*/

:root{
  --rk-primary:#2f6fed; --rk-primary-strong:#1d4ed8; --rk-primary-050:#eef4ff;
  --rk-primary-100:#dbe7ff; --rk-ink:#0d1b2a; --rk-body:#3d4d63; --rk-muted:#6b7a90;
  --rk-line:#e6ecf3; --rk-bg:#ffffff; --rk-bg-soft:#f5f8fc; --rk-navy:#0f2038;
  --rk-radius:20px; --rk-radius-sm:14px; --rk-radius-xs:10px;
  --rk-shadow-sm:0 4px 16px rgba(16,42,80,.06);
  --rk-shadow:0 18px 44px -20px rgba(16,42,80,.24);
  --rk-shadow-lg:0 34px 80px -30px rgba(16,42,80,.34);
  --rk-maxw:1160px;
  --rk-sans:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR','Apple SD Gothic Neo',sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body.rk-body{
  margin:0;font-family:var(--rk-sans);color:var(--rk-body);
  background:var(--rk-bg);line-height:1.7;letter-spacing:-.01em;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;}
a{color:var(--rk-primary-strong);text-decoration:none;}
a:hover{text-decoration:underline;}
.rk-wrap{max-width:var(--rk-maxw);margin:0 auto;padding:0 24px;}

/* skip link */
.rk-skip{position:absolute;left:-9999px;top:0;background:var(--rk-primary);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:1000;}
.rk-skip:focus{left:0;}

/* ============ HEADER ============ */
.rk-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--rk-line);}
.rk-header .rk-wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px;}
.rk-logo{display:inline-flex;align-items:center;gap:11px;font-weight:800;color:var(--rk-ink);font-size:1.22rem;letter-spacing:-.02em;text-decoration:none;}
.rk-logo:hover{text-decoration:none;}
.rk-logo svg{display:block;width:34px;height:34px;flex:none;}
.rk-logo b{font-weight:800;}
.rk-nav{display:flex;align-items:center;gap:6px;}
.rk-nav li{list-style:none;margin:0;display:flex;}
.rk-nav a{color:var(--rk-ink);font-weight:600;font-size:.98rem;padding:9px 14px;border-radius:10px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;}
.rk-nav a:hover{background:var(--rk-primary-050);color:var(--rk-primary-strong);text-decoration:none;}
.rk-nav a.rk-cta,.rk-nav .rk-cta a{background:linear-gradient(135deg,var(--rk-primary),var(--rk-primary-strong));color:#fff;padding:10px 20px;box-shadow:0 12px 24px -12px rgba(47,111,237,.85);}
.rk-nav a.rk-cta:hover,.rk-nav .rk-cta a:hover{background:linear-gradient(135deg,var(--rk-primary-strong),#173db0);color:#fff;transform:translateY(-1px);}
.rk-burger{display:none;background:none;border:1px solid var(--rk-line);border-radius:10px;width:44px;height:44px;cursor:pointer;padding:0;align-items:center;justify-content:center;}
.rk-burger span{display:block;width:20px;height:2px;background:var(--rk-ink);position:relative;}
.rk-burger span::before,.rk-burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--rk-ink);}
.rk-burger span::before{top:-6px;}.rk-burger span::after{top:6px;}

/* ============ ARTICLE / PAGE HERO ============ */
.rk-page{padding:0 0 40px;}
.rk-post-hero{position:relative;padding:60px 0 0;}
.rk-crumb{font-size:.9rem;color:var(--rk-muted);margin-bottom:18px;}
.rk-crumb a{color:var(--rk-muted);}
.rk-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:var(--rk-primary-strong);background:var(--rk-primary-050);border:1px solid var(--rk-primary-100);padding:7px 14px;border-radius:999px;margin-bottom:18px;}
.rk-post-hero h1{font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.25;font-weight:800;color:var(--rk-ink);letter-spacing:-.03em;margin:0 0 18px;max-width:820px;}
.rk-post-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--rk-muted);font-size:.92rem;margin-bottom:34px;}
.rk-post-figure{margin:0 0 40px;border-radius:var(--rk-radius);overflow:hidden;box-shadow:var(--rk-shadow-lg);border:1px solid var(--rk-line);aspect-ratio:16/8;background:var(--rk-bg-soft);}
.rk-post-figure img{width:100%;height:100%;object-fit:cover;display:block;}
.rk-article{padding:0;}

/* TOC (easy-toc) 카드화 */
#ez-toc-container,.ez-toc-container{background:var(--rk-bg-soft)!important;border:1px solid var(--rk-line)!important;border-radius:var(--rk-radius-sm)!important;box-shadow:var(--rk-shadow-sm)!important;max-width:780px;margin:0 auto 34px!important;padding:20px 24px!important;}
#ez-toc-container .ez-toc-title,.ez-toc-title{color:var(--rk-ink)!important;font-weight:800!important;}
#ez-toc-container a,.ez-toc-list a{color:var(--rk-body)!important;text-decoration:none!important;}
#ez-toc-container a:hover{color:var(--rk-primary-strong)!important;}

/* ============ RELATED ============ */
.rk-related{max-width:var(--rk-maxw);margin:64px auto 0;padding:48px 24px 0;border-top:1px solid var(--rk-line);}
.rk-related h2{font-size:1.5rem;font-weight:800;color:var(--rk-ink);letter-spacing:-.02em;margin:0 0 24px;text-align:center;}
.rk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.rk-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rk-line);border-radius:var(--rk-radius);overflow:hidden;box-shadow:var(--rk-shadow-sm);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;}
.rk-card:hover{transform:translateY(-6px);box-shadow:var(--rk-shadow);text-decoration:none;}
.rk-card-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--rk-bg-soft);}
.rk-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.rk-card:hover .rk-card-thumb img{transform:scale(1.05);}
.rk-card-body{padding:20px 22px 24px;}
.rk-card-body h3{font-size:1.1rem;font-weight:700;color:var(--rk-ink);margin:0 0 8px;line-height:1.4;letter-spacing:-.01em;}
.rk-card-body p{margin:0;color:var(--rk-muted);font-size:.92rem;line-height:1.6;}
.rk-card-more{margin-top:14px;color:var(--rk-primary-strong);font-weight:700;font-size:.9rem;}

/* ============ ARCHIVE / INDEX ============ */
.rk-archive-head{padding:70px 0 10px;text-align:center;}
.rk-archive-head h1{font-size:2.2rem;font-weight:800;color:var(--rk-ink);letter-spacing:-.02em;margin:0 0 10px;}
.rk-archive-head p{color:var(--rk-muted);margin:0;}
.rk-archive{padding:40px 0 60px;}

/* ============ FOOTER ============ */
.rk-footer{background:var(--rk-navy);color:#c6d4e8;margin-top:80px;padding:60px 0 30px;}
.rk-footer a{color:#c6d4e8;text-decoration:none;}
.rk-footer a:hover{color:#fff;text-decoration:underline;}
.rk-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;}
.rk-foot-brand .rk-logo{color:#fff;}
.rk-foot-brand p{margin:16px 0 0;color:#8ea3c2;font-size:.92rem;max-width:340px;line-height:1.7;}
.rk-foot-col h4{color:#fff;font-size:.95rem;font-weight:700;margin:0 0 14px;letter-spacing:.01em;}
.rk-foot-col ul{list-style:none;margin:0;padding:0;}
.rk-foot-col li{margin:0 0 10px;font-size:.92rem;}
.rk-foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;color:#7f95b5;font-size:.86rem;}
.rk-foot-bottom nav{display:flex;gap:18px;flex-wrap:wrap;}

/* ============ COMMENTS off-look ============ */
.rk-page .comments-area,.rk-page #comments{display:none;}

@media (max-width:900px){
  .rk-cards{grid-template-columns:1fr 1fr;}
  .rk-foot-grid{grid-template-columns:1fr 1fr;}
  .rk-foot-brand{grid-column:1 / -1;}
}
@media (max-width:768px){
  .rk-nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--rk-line);padding:14px 24px 22px;gap:4px;box-shadow:var(--rk-shadow);transform:translateY(-140%);transition:transform .25s ease;}
  .rk-nav.open{transform:translateY(0);}
  .rk-nav a{padding:14px 12px;border-radius:10px;font-size:1.02rem;}
  .rk-nav .rk-cta{text-align:center;margin-top:6px;}
  .rk-burger{display:inline-flex;}
  .rk-post-figure{aspect-ratio:16/10;}
  .rk-post-hero{padding-top:40px;}
}
@media (max-width:560px){
  .rk-cards{grid-template-columns:1fr;}
  .rk-foot-grid{grid-template-columns:1fr;}
  .rk-wrap{padding:0 18px;}
}

/* ============ CONTACT FORM ============ */
.rk-form{max-width:780px;margin:8px auto 0;background:#fff;border:1px solid var(--rk-line);border-radius:var(--rk-radius);box-shadow:var(--rk-shadow);padding:34px;}
.rk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rk-field{margin:0 0 18px;display:flex;flex-direction:column;}
.rk-field label{font-weight:700;color:var(--rk-ink);font-size:.94rem;margin-bottom:8px;}
.rk-field label span{color:#e5484d;}
.rk-field input,.rk-field select,.rk-field textarea{font-family:inherit;font-size:1rem;color:var(--rk-ink);background:var(--rk-bg-soft);border:1.5px solid var(--rk-line);border-radius:12px;padding:13px 15px;transition:border-color .15s,box-shadow .15s;width:100%;}
.rk-field input:focus,.rk-field select:focus,.rk-field textarea:focus{outline:none;border-color:var(--rk-primary);box-shadow:0 0 0 4px var(--rk-primary-050);background:#fff;}
.rk-field textarea{resize:vertical;min-height:120px;}
.rk-field-hp{position:absolute;left:-9999px;height:0;overflow:hidden;}
.rk-consent{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--rk-body);margin:6px 0 22px;line-height:1.55;}
.rk-consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--rk-primary);}
.rk-form-submit{width:100%;border:none;cursor:pointer;font-family:inherit;font-size:1.08rem;font-weight:800;color:#fff;padding:16px;border-radius:999px;background:linear-gradient(135deg,var(--rk-primary),var(--rk-primary-strong));box-shadow:0 16px 34px -14px rgba(47,111,237,.85);transition:transform .2s,box-shadow .2s;}
.rk-form-submit:hover{transform:translateY(-2px);box-shadow:0 22px 44px -14px rgba(47,111,237,1);}
.rk-form-note{color:var(--rk-muted);font-size:.85rem;text-align:center;margin:16px 0 0;}
.rk-form-alert{max-width:780px;margin:0 auto 20px;padding:16px 20px;border-radius:14px;font-weight:600;}
.rk-form-alert.rk-ok{background:#e9f9ef;border:1px solid #b7ebc6;color:#137a3b;}
.rk-form-alert.rk-err{background:#fdecec;border:1px solid #f5c2c2;color:#c0303a;}
@media (max-width:640px){.rk-form-row{grid-template-columns:1fr;}.rk-form{padding:24px 20px;}}

/* page prose (privacy/terms/contact) uses .premium-content-wrapper too */
.rk-article > .premium-content-wrapper h2:first-child{border-top:none;padding-top:0;}
