/*
Theme Name: RestVar 2026
Template: generatepress
Description: restvar.com 리뉴얼 — 30~40대 부모 타깃, 편집형 홈, 읽기 중심 글 페이지, 회원 혜택
Version: 0.1.0
Text Domain: restvar
*/

/* ==========================================================
   1. 디자인 토큰 — 색·타이포·간격은 여기서만 바꾼다
   ========================================================== */
:root{
  --rv-bg:#FBF8F3;            /* 크림 바탕 */
  --rv-surface:#FFFFFF;
  --rv-surface-2:#F4EFE7;
  --rv-ink:#22363B;           /* 짙은 청록 본문 */
  --rv-ink-2:#5A6B70;
  --rv-ink-3:#8C9AA0;
  --rv-line:#E7E0D4;
  --rv-accent:#E4633F;        /* 코랄: 주요 버튼·링크 강조 1색 */
  --rv-accent-hover:#C9532F;
  --rv-accent-soft:#FBE7DF;
  --rv-parenting:#4F8C6F;     /* 육아 라벨 */
  --rv-parenting-soft:#E3F0E8;
  --rv-car:#4E6F8E;           /* 자동차 라벨 */
  --rv-car-soft:#E2EAF2;
  --rv-radius:14px;
  --rv-radius-sm:8px;
  --rv-shadow:0 1px 2px rgba(34,54,59,.05),0 8px 24px -12px rgba(34,54,59,.18);
  --rv-font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;
  --rv-max:1120px;
  --rv-read:720px;
}

/* 다크 테마 토큰 — html[data-theme="dark"] 일 때만. 전환 기준은 functions.php 의 RV_DARK_START/END */
:root[data-theme="dark"]{
  --rv-bg:#17232A;--rv-surface:#1F2E35;--rv-surface-2:#283A42;
  --rv-ink:#EEE8DD;--rv-ink-2:#B5C0C4;--rv-ink-3:#83929A;--rv-line:#31434B;
  --rv-accent:#F07A58;--rv-accent-hover:#F6906F;--rv-accent-soft:rgba(240,122,88,.18);
  --rv-parenting:#8CC5A9;--rv-parenting-soft:rgba(79,140,111,.25);
  --rv-car:#9DBBD8;--rv-car-soft:rgba(78,111,142,.3);
  --rv-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}
html{transition:background-color .25s}
body,.rv-header,.rv-card,.rv-topic,.rv-about,.rv-footer,.rv-summary,.rv-toc,.rv-author{transition:background-color .25s,border-color .25s,color .25s}

/* GP 전역 색 변수 덮어쓰기 (링크·버튼 등 GP 기본 요소가 토큰을 따라오게) */
:root{
  --contrast:var(--rv-ink);--contrast-2:var(--rv-ink-2);--contrast-3:var(--rv-ink-3);
  --base:var(--rv-surface-2);--base-2:var(--rv-bg);--base-3:var(--rv-surface);
  --accent:var(--rv-accent-soft);--accent-2:var(--rv-accent);
}

/* ==========================================================
   2. 베이스
   ========================================================== */
html{scroll-behavior:smooth}
body{background:var(--rv-bg);color:var(--rv-ink);font-family:var(--rv-font);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--rv-ink);text-decoration:none;transition:color .15s}
a:hover{color:var(--rv-accent)}
h1,h2,h3,h4{font-family:var(--rv-font);color:var(--rv-ink);letter-spacing:-.01em;line-height:1.3;font-weight:700;margin:0 0 .5em}
img{max-width:100%;height:auto}
.site-content{padding:0;display:block}
.content-area,#primary,.site-main,.inside-article{width:100%;max-width:none;margin:0}
#page{background:transparent}
.rv-wrap{max-width:var(--rv-max);margin:0 auto;padding:0 20px}
.rv-read{max-width:var(--rv-read);margin:0 auto;padding:0 20px}
.rv-eyebrow{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--rv-ink-3)}
.rv-section{padding:56px 0}
.rv-section + .rv-section{padding-top:0}
.rv-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.rv-section-head h2{font-size:24px;margin:0}
.rv-section-head a{font-size:14px;color:var(--rv-ink-2);white-space:nowrap}
.rv-section-head a:hover{color:var(--rv-accent)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 버튼 */
.rv-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:15px;line-height:1;border:1.5px solid transparent;cursor:pointer;transition:all .15s}
.rv-btn-primary{background:var(--rv-accent);color:#fff}
.rv-btn-primary:hover{background:var(--rv-accent-hover);color:#fff}
.rv-btn-ghost{background:transparent;border-color:var(--rv-line);color:var(--rv-ink)}
.rv-btn-ghost:hover{border-color:var(--rv-ink);color:var(--rv-ink)}
.rv-btn-sm{padding:9px 14px;font-size:14px}

/* 카테고리 라벨 */
.rv-label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:var(--rv-surface-2);color:var(--rv-ink-2)}
.rv-label--parenting{background:var(--rv-parenting-soft);color:var(--rv-parenting)}
.rv-label--car{background:var(--rv-car-soft);color:var(--rv-car)}

/* ==========================================================
   3. 헤더
   ========================================================== */
.rv-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--rv-bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rv-line)}
.rv-header-in{display:flex;align-items:center;gap:28px;height:64px}
.rv-logo{font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--rv-ink);display:inline-flex;align-items:baseline}
.rv-logo b{color:var(--rv-accent)}
.rv-logo small{font-weight:500;font-size:12px;color:var(--rv-ink-3);margin-left:4px}
.rv-nav{display:flex;gap:4px;margin-left:8px}
.rv-nav a{padding:8px 12px;border-radius:8px;font-weight:600;font-size:15px;color:var(--rv-ink-2)}
.rv-nav a:hover,.rv-nav a.is-active{color:var(--rv-ink);background:var(--rv-surface-2)}
.rv-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.rv-search{display:flex;align-items:center;border:1.5px solid var(--rv-line);border-radius:999px;background:var(--rv-surface);padding:0 6px 0 14px;height:38px}
.rv-search input{border:0;background:transparent;font:inherit;font-size:14px;width:150px;outline:0;color:var(--rv-ink)}
.rv-search button{border:0;background:transparent;padding:6px;cursor:pointer;color:var(--rv-ink-3);display:flex}
.rv-search button:hover{color:var(--rv-accent)}
.rv-theme{border:1.5px solid var(--rv-line);background:var(--rv-surface);border-radius:999px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--rv-ink-2);padding:0}
.rv-theme:hover{color:var(--rv-accent);border-color:var(--rv-accent)}
.rv-theme .i-moon,.rv-theme .i-auto{display:none}
html[data-theme="dark"] .rv-theme .i-sun{display:none}
html[data-theme="dark"] .rv-theme .i-moon{display:block}
html[data-theme-mode="auto"] .rv-theme .i-sun,html[data-theme-mode="auto"] .rv-theme .i-moon{display:none}
html[data-theme-mode="auto"] .rv-theme .i-auto{display:block}
.rv-burger{display:none;border:0;background:transparent;padding:8px;cursor:pointer;color:var(--rv-ink)}
.rv-mobile-nav{display:none;border-top:1px solid var(--rv-line);background:var(--rv-bg)}
.rv-mobile-nav.is-open{display:block}
.rv-mobile-nav a{display:block;padding:14px 20px;font-weight:600;border-bottom:1px solid var(--rv-line)}
.rv-mobile-nav form{padding:14px 20px}
.rv-mobile-nav .rv-search{width:100%}
.rv-mobile-nav .rv-search input{width:100%}
@media (max-width:860px){
  .rv-nav,.rv-header .rv-search,.rv-header-actions .rv-btn-ghost{display:none}
  .rv-burger{display:flex}
}

/* ==========================================================
   4. 홈
   ========================================================== */
.rv-intro{padding:56px 0 40px}
.rv-intro-in{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.rv-intro h1{font-size:clamp(28px,4vw,42px);line-height:1.25;margin:10px 0 14px;letter-spacing:-.02em}
.rv-intro h1 em{font-style:normal;color:var(--rv-accent)}
.rv-intro p{font-size:17px;color:var(--rv-ink-2);margin:0 0 22px;max-width:520px}
.rv-intro-actions{display:flex;gap:10px;flex-wrap:wrap}
.rv-intro-card{background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);padding:22px 24px;box-shadow:var(--rv-shadow)}
.rv-intro-card .rv-eyebrow{margin-bottom:10px;display:block}
.rv-intro-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rv-intro-card li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--rv-ink-2)}
.rv-intro-card li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--rv-accent);margin-top:9px}
.rv-intro-card strong{color:var(--rv-ink)}
@media (max-width:860px){.rv-intro-in{grid-template-columns:1fr;gap:24px}.rv-intro{padding:36px 0 28px}}

/* 대표 후기 3 */
.rv-featured{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.rv-featured .rv-card--hero{grid-row:span 2}
@media (max-width:860px){.rv-featured{grid-template-columns:1fr}.rv-featured .rv-card--hero{grid-row:auto}}

/* 카드 */
.rv-card{display:flex;flex-direction:column;background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);overflow:hidden;transition:transform .2s,box-shadow .2s;position:relative}
.rv-card:hover{transform:translateY(-3px);box-shadow:var(--rv-shadow)}
.rv-card-media{aspect-ratio:16/10;background:var(--rv-surface-2);overflow:hidden}
.rv-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.rv-card:hover .rv-card-media img{transform:scale(1.03)}
.rv-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:1}
.rv-card-body>*{width:100%}
.rv-card-meta .rv-label{width:auto}
.rv-card-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--rv-ink-3)}
.rv-card h3{font-size:17px;line-height:1.4;margin:0}
.rv-card h3 a::after{content:"";position:absolute;inset:0}
.rv-card p{margin:0;font-size:14px;color:var(--rv-ink-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rv-card--hero .rv-card-media{aspect-ratio:16/11}
.rv-card--hero h3{font-size:24px}
.rv-card--hero p{-webkit-line-clamp:3;font-size:15px}
.rv-card--row{flex-direction:row}
.rv-card--row .rv-card-media{flex:0 0 42%;aspect-ratio:auto}
.rv-card--row .rv-card-body{justify-content:center}
.rv-card--row p{display:none}
@media (max-width:600px){.rv-card--row{flex-direction:column}.rv-card--row .rv-card-media{flex:none;aspect-ratio:16/10}}
.rv-card-verdict{font-size:13.5px;color:var(--rv-ink);background:var(--rv-surface-2);border-radius:var(--rv-radius-sm);padding:8px 10px;margin-top:auto;display:flex;gap:8px}
.rv-card-verdict::before{content:"결론";flex:none;font-weight:700;color:var(--rv-accent);font-size:12px;margin-top:2px}
.rv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1000px){.rv-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.rv-grid{grid-template-columns:1fr}}
.rv-grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.rv-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.rv-grid--3{grid-template-columns:1fr}}

/* 카테고리 진입 — 육아 중심(넓게), 자동차 보조 */
.rv-topics{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
.rv-topic{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:220px;border-radius:var(--rv-radius);padding:26px 28px;position:relative;overflow:hidden;color:var(--rv-ink);background:var(--rv-surface);border:1px solid var(--rv-line)}
.rv-topic{background-repeat:no-repeat;background-position:right center;background-size:auto 100%}
.rv-topic--parenting{background-color:#F3F8F4;background-image:url(assets/img/topic-parenting.webp)}
.rv-topic--car{background-color:#F1F5F9;background-image:url(assets/img/topic-car.webp)}
.rv-topic > *{position:relative;z-index:1}
.rv-topic::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,243,.96) 0,rgba(251,248,243,.9) 45%,rgba(251,248,243,0) 75%);z-index:0}
.rv-topic p{max-width:360px}
.rv-topic--parenting{min-height:260px}
@media (max-width:860px){.rv-topic{background-size:auto 70%;background-position:right bottom}.rv-topic::before{background:linear-gradient(90deg,rgba(251,248,243,.97) 0,rgba(251,248,243,.85) 55%,rgba(251,248,243,.35) 100%)}}
.rv-topic h3{font-size:24px;margin:8px 0 6px}
.rv-topic p{margin:0 0 14px;color:var(--rv-ink-2);font-size:15px;max-width:420px}
.rv-topic .rv-topic-tags{display:flex;gap:6px;flex-wrap:wrap}
.rv-topic .rv-topic-tags span{font-size:12.5px;background:rgba(255,255,255,.75);border-radius:999px;padding:4px 10px;color:var(--rv-ink-2)}
.rv-topic-count{position:absolute;top:22px;right:24px;font-size:13px;color:var(--rv-ink-3)}
.rv-topic:hover{border-color:var(--rv-ink-3)}
@media (max-width:860px){.rv-topics{grid-template-columns:1fr}.rv-topic{min-height:170px}}

/* 아빠 소개 */
.rv-about{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);padding:28px 30px}
.rv-avatar{width:84px;height:84px;border-radius:50%;background:var(--rv-accent-soft);display:flex;align-items:center;justify-content:center;font-size:36px;flex:none;overflow:hidden}
.rv-about .rv-avatar{width:110px;height:110px}
.rv-avatar img{width:100%;height:100%;object-fit:cover}
.rv-about h2{font-size:20px;margin:0 0 6px}
.rv-about p{margin:0 0 12px;color:var(--rv-ink-2);font-size:15px}
.rv-about-facts{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--rv-ink-2)}
.rv-about-facts b{color:var(--rv-ink);display:block;font-size:17px}
@media (max-width:600px){.rv-about{grid-template-columns:1fr}}

/* 회원 CTA — 작게, 혜택 중심 */
.rv-cta{background:var(--rv-ink);color:#fff;border-radius:var(--rv-radius);padding:30px 32px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}
.rv-cta h2{color:#fff;font-size:22px;margin:0 0 6px}
.rv-cta p{margin:0;color:rgba(255,255,255,.75);font-size:15px}
.rv-cta ul{margin:12px 0 0;padding:0;list-style:none;display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,.85)}
.rv-cta li::before{content:"✓ ";color:var(--rv-accent)}
.rv-cta .rv-btn-primary{white-space:nowrap}
.rv-cta--inline{margin:44px 0 0}
@media (max-width:700px){.rv-cta{grid-template-columns:1fr}}

/* ==========================================================
   5. 목록(카테고리·블로그·검색)
   ========================================================== */
.rv-archive-head{padding:44px 0 24px}
.rv-archive-head h1{font-size:clamp(26px,3.5vw,34px);margin:8px 0 6px}
.rv-archive-head p{margin:0;color:var(--rv-ink-2)}
.rv-pagination{display:flex;justify-content:center;gap:6px;margin:36px 0 0}
.rv-pagination .page-numbers{padding:8px 14px;border-radius:999px;border:1.5px solid var(--rv-line);font-size:14px;font-weight:600}
.rv-pagination .page-numbers.current{background:var(--rv-ink);color:#fff;border-color:var(--rv-ink)}
.rv-empty{padding:60px 0;text-align:center;color:var(--rv-ink-2)}

/* ==========================================================
   6. 글 페이지
   ========================================================== */
.rv-post-head{padding:44px 0 20px}
.rv-post-head .rv-label{margin-bottom:14px}
.rv-post-head h1{font-size:clamp(26px,3.6vw,38px);line-height:1.3;letter-spacing:-.02em;margin:0 0 14px}
.rv-post-meta{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--rv-ink-3);flex-wrap:wrap}
.rv-post-meta .rv-avatar{width:30px;height:30px;font-size:15px}
.rv-post-meta b{color:var(--rv-ink-2);font-weight:600}
.rv-bookmark{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--rv-line);background:var(--rv-surface);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--rv-ink-2)}
.rv-bookmark:hover,.rv-bookmark.is-on{border-color:var(--rv-accent);color:var(--rv-accent)}
.rv-bookmark.is-on svg{fill:var(--rv-accent)}

/* 첫 화면 요약 — 대상·기간·한줄 결론 */
.rv-summary{background:var(--rv-surface);border:1px solid var(--rv-line);border-left:4px solid var(--rv-accent);border-radius:var(--rv-radius-sm);padding:16px 20px;margin:0 0 28px;display:grid;gap:8px}
.rv-summary-row{display:grid;grid-template-columns:72px 1fr;gap:12px;font-size:15px}
.rv-summary-row dt{color:var(--rv-ink-3);font-weight:600;font-size:13.5px;margin-top:2px}
.rv-summary-row dd{margin:0;color:var(--rv-ink)}
.rv-summary-row--verdict dd{font-weight:600}
.rv-post-hero{border-radius:var(--rv-radius);overflow:hidden;margin:0 0 28px;background:var(--rv-surface-2)}
.rv-post-hero img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}

/* 본문 */
.rv-entry{font-size:17.5px;line-height:1.85}
.rv-entry > *{max-width:100%}
.rv-entry h2{font-size:24px;margin:2em 0 .7em;padding-top:.2em}
.rv-entry h3{font-size:19.5px;margin:1.6em 0 .6em}
.rv-entry p{margin:0 0 1.2em}
.rv-entry img{border-radius:var(--rv-radius-sm);margin:.4em 0}
.rv-entry figure{margin:1.4em 0}
.rv-entry figcaption{font-size:13.5px;color:var(--rv-ink-3);text-align:center;margin-top:6px}
.rv-entry a{color:var(--rv-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(228,99,63,.4)}
.rv-entry blockquote{margin:1.5em 0;padding:14px 20px;background:var(--rv-surface-2);border-left:4px solid var(--rv-accent);border-radius:var(--rv-radius-sm);font-size:16.5px}
.rv-entry ul,.rv-entry ol{padding-left:1.4em;margin:0 0 1.2em}
.rv-entry table{width:100%;border-collapse:collapse;font-size:15px;margin:1.4em 0;display:block;overflow-x:auto}
.rv-entry th,.rv-entry td{border:1px solid var(--rv-line);padding:8px 12px;text-align:left}
.rv-entry th{background:var(--rv-surface-2)}

/* 접이식 목차 (h2 3개 이상일 때만 JS로 삽입) */
.rv-toc{border:1px solid var(--rv-line);border-radius:var(--rv-radius-sm);background:var(--rv-surface);margin:0 0 28px;font-size:15px}
.rv-toc summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style:none;display:flex;justify-content:space-between}
.rv-toc summary::after{content:"펼치기";font-size:13px;font-weight:500;color:var(--rv-ink-3)}
.rv-toc[open] summary::after{content:"접기"}
.rv-toc ol{margin:0;padding:0 16px 12px 34px}
.rv-toc li{padding:3px 0}
.rv-toc a{color:var(--rv-ink-2)}
.rv-toc a:hover{color:var(--rv-accent)}

/* 글 하단 */
.rv-post-foot{margin-top:40px;display:grid;gap:28px}
.rv-tags{display:flex;gap:6px;flex-wrap:wrap}
.rv-tags a{font-size:13px;padding:5px 11px;border-radius:999px;background:var(--rv-surface-2);color:var(--rv-ink-2)}
.rv-author{display:flex;gap:18px;align-items:center;background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);padding:20px 22px}
.rv-author .rv-avatar{width:60px;height:60px;font-size:26px}
.rv-author h3{font-size:16px;margin:0 0 4px}
.rv-author p{margin:0;font-size:14px;color:var(--rv-ink-2)}
.rv-related h2{font-size:20px;margin:0 0 14px}
.rv-related .rv-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.rv-related .rv-grid{grid-template-columns:1fr}}
.rv-comments{margin-top:40px}
.rv-comments .comments-title{font-size:20px}

/* ==========================================================
   7. 페이지·회원 폼
   ========================================================== */
.rv-page-head{padding:44px 0 16px}
.rv-page-head h1{font-size:clamp(26px,3.5vw,34px);margin:0}
.rv-page-body{padding-bottom:60px}
.rv-page-body #wpmem_login,.rv-page-body #wpmem_reg,.rv-page-body .wpmem_msg{max-width:440px}
#wpmem_login fieldset,#wpmem_reg fieldset{border:0;padding:0;margin:0}
#wpmem_login legend,#wpmem_reg legend{font-weight:700;font-size:20px;margin-bottom:14px}
#wpmem_login label,#wpmem_reg label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px;color:var(--rv-ink-2)}
#wpmem_login input[type=text],#wpmem_login input[type=password],#wpmem_reg input[type=text],#wpmem_reg input[type=password],#wpmem_reg input[type=email],
.rv-page-body input[type=text],.rv-page-body input[type=email],.rv-page-body input[type=password],.rv-page-body textarea{width:100%;border:1.5px solid var(--rv-line);border-radius:10px;padding:11px 14px;font:inherit;font-size:15px;background:var(--rv-surface);color:var(--rv-ink)}
.rv-page-body input:focus,.rv-page-body textarea:focus{outline:0;border-color:var(--rv-accent);box-shadow:0 0 0 3px var(--rv-accent-soft)}
#wpmem_login input[type=submit],#wpmem_reg input[type=submit],.rv-page-body .button,.rv-page-body input[type=submit]{background:var(--rv-accent);color:#fff;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer;margin-top:16px}
#wpmem_login input[type=submit]:hover,#wpmem_reg input[type=submit]:hover{background:var(--rv-accent-hover)}
.wpmem_msg{background:var(--rv-accent-soft);border-radius:var(--rv-radius-sm);padding:12px 16px;margin-bottom:16px;font-size:15px}
.rv-member-box{background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);padding:24px 26px;max-width:520px}
.rv-member-box h3{font-size:18px;margin:0 0 10px}
.rv-member-box ul{margin:0 0 16px;padding-left:1.2em;color:var(--rv-ink-2);font-size:15px}

/* 보관함 */
.rv-bookmarks-empty{padding:40px;text-align:center;color:var(--rv-ink-2);background:var(--rv-surface);border:1px dashed var(--rv-line);border-radius:var(--rv-radius)}

/* ==========================================================
   8. 푸터
   ========================================================== */
.rv-footer{margin-top:64px;border-top:1px solid var(--rv-line);background:var(--rv-surface)}
.rv-footer-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding:44px 20px 28px}
.rv-footer h4{font-size:14px;margin:0 0 10px;color:var(--rv-ink-3);font-weight:600}
.rv-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.rv-footer p{margin:6px 0 0;color:var(--rv-ink-2);font-size:14.5px;max-width:380px}
.rv-footer-bottom{border-top:1px solid var(--rv-line);padding:16px 20px;font-size:13px;color:var(--rv-ink-3);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:760px){.rv-footer-in{grid-template-columns:1fr;gap:22px}}

/* GP 잔여 요소 정리 */
.site-header,.main-navigation,.site-footer,.page-header{display:none}
.inside-article{padding:0}
.entry-header,.entry-meta{display:none}

/* 댓글 폼 */
.rv-comments .comment-form textarea,.rv-comments .comment-form input[type=text],.rv-comments .comment-form input[type=email],.rv-comments .comment-form input[type=url]{width:100%;border:1.5px solid var(--rv-line);border-radius:10px;padding:11px 14px;font:inherit;font-size:15px;background:var(--rv-surface);color:var(--rv-ink)}
.rv-comments .comment-form textarea{min-height:140px}
.rv-comments .comment-form input:focus,.rv-comments .comment-form textarea:focus{outline:0;border-color:var(--rv-accent);box-shadow:0 0 0 3px var(--rv-accent-soft)}
.rv-comments .comment-form-author,.rv-comments .comment-form-email,.rv-comments .comment-form-url{display:inline-block;width:calc(33.33% - 8px);margin-right:8px;vertical-align:top}
.rv-comments .comment-form-cookies-consent{font-size:14px;color:var(--rv-ink-2)}
.rv-comments .form-submit input[type=submit],.rv-entry .report-button,.rv-entry button.report-btn{background:var(--rv-accent);color:#fff;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer}
.rv-comments .comment-list{list-style:none;padding:0}
.rv-comments .comment-body{background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius-sm);padding:16px 18px;margin-bottom:12px;font-size:15px}
.rv-comments .comment-reply-title{font-size:20px}
/* 신고 버튼(스니펫 39)은 보조 버튼 톤으로 */
.rv-entry [class*="report"] button,.rv-entry button[id*="report"],.rv-entry .report-button{background:transparent;color:var(--rv-ink-2);border:1.5px solid var(--rv-line);font-size:13px;padding:8px 14px}
/* 모바일 미세 조정 */
@media (max-width:600px){.rv-intro h1 br{display:none}.rv-logo small{display:none}.rv-comments .comment-form-author,.rv-comments .comment-form-email,.rv-comments .comment-form-url{display:block;width:100%;margin:0}}

/* WP-Members 폼 폭·버튼 정리 */
.rv-page-body #wpmem_reg,.rv-page-body #wpmem_login{background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);padding:26px 28px;max-width:460px}
#wpmem_reg .div_text,#wpmem_login .div_text{margin-bottom:6px}
#wpmem_reg .div_text input,#wpmem_login .div_text input,#wpmem_reg input.textbox,#wpmem_login input.textbox,#wpmem_login input[type=password],#wpmem_reg input[type=password]{width:100%!important;max-width:none!important}
#wpmem_reg .button_div,#wpmem_login .button_div{text-align:left;margin-top:6px}
#wpmem_reg .button_div input,#wpmem_login .button_div input{margin:0}
#wpmem_reg .req-text,#wpmem_login .req-text{font-size:13px;color:var(--rv-ink-3);margin-top:12px}
#wpmem_reg legend,#wpmem_login legend{font-size:18px}
.rv-member-benefits{margin-top:18px;font-size:14px;color:var(--rv-ink-2);max-width:460px}
.rv-member-benefits ul{margin:6px 0 0;padding-left:1.2em}
/* 자동차 카드: 폭이 좁아 일러스트를 작게, 문구 폭 제한 */
.rv-topic--car{background-size:auto 78%;background-position:right 12px bottom}
.rv-topic--car p{max-width:230px}
.rv-topic--car::before{background:linear-gradient(90deg,rgba(251,248,243,.97) 0,rgba(251,248,243,.92) 50%,rgba(251,248,243,.15) 80%)}
.rv-topic--parenting{background-size:auto 92%;background-position:right 8px bottom}
/* 모바일: 일러스트를 문구 아래 오른쪽에 작게 */
@media (max-width:860px){
  .rv-topic,.rv-topic--parenting,.rv-topic--car{padding-bottom:128px;background-size:auto 118px;background-position:right 14px bottom 6px;min-height:0}
  .rv-topic::before,.rv-topic--car::before{display:none}
  .rv-topic p,.rv-topic--car p{max-width:none}
}
/* 일러스트 배경색(크림)과 카드 배경을 일치시켜 경계가 안 보이게 */
.rv-topic--parenting{background-color:#FAF5EC}
.rv-topic--car{background-color:#FEF7EC}
.rv-topic--parenting::before{background:linear-gradient(90deg,rgba(243,248,244,.95) 0,rgba(243,248,244,.85) 40%,rgba(243,248,244,0) 70%)}
.rv-topic--car::before{background:linear-gradient(90deg,rgba(241,245,249,.97) 0,rgba(241,245,249,.9) 50%,rgba(241,245,249,0) 80%)}

/* ---- 다크 모드 컴포넌트 보정 ---- */
html[data-theme="dark"] .rv-cta{background:var(--rv-surface-2);border:1px solid var(--rv-line)}
html[data-theme="dark"] .rv-topic--parenting,html[data-theme="dark"] .rv-topic--car{background-image:none;background-color:var(--rv-surface)}
html[data-theme="dark"] .rv-topic::before{display:none}
html[data-theme="dark"] .rv-topic-art{display:block}
.rv-topic-art{display:none;position:absolute;right:16px;bottom:14px;height:calc(100% - 28px);width:auto;border-radius:12px;opacity:.95;z-index:0;object-fit:cover}
html[data-theme="dark"] .rv-topic--car .rv-topic-art{height:70%}
html[data-theme="dark"] .rv-topic h3,html[data-theme="dark"] .rv-topic p{position:relative;z-index:1}
html[data-theme="dark"] .rv-topic .rv-topic-tags span{background:var(--rv-surface-2)}
html[data-theme="dark"] .rv-topic p{max-width:52%}
@media (max-width:860px){html[data-theme="dark"] .rv-topic p{max-width:none}html[data-theme="dark"] .rv-topic-art{height:118px;bottom:6px;right:14px}}
html[data-theme="dark"] .rv-entry img,html[data-theme="dark"] .rv-card-media img,html[data-theme="dark"] .rv-post-hero img{filter:brightness(.9)}
html[data-theme="dark"] .rv-label--parenting{color:var(--rv-parenting)}
html[data-theme="dark"] .rv-label--car{color:var(--rv-car)}
html[data-theme="dark"] .rv-intro-card,html[data-theme="dark"] .rv-summary{background:var(--rv-surface)}
html[data-theme="dark"] .rv-avatar{background:#3A2A25}
html[data-theme="dark"] ::selection{background:var(--rv-accent);color:#fff}
/* 다크: 일러스트를 오른쪽 고정폭 스티커로, 문구는 그 왼쪽까지만 */
html[data-theme="dark"] .rv-topic-art,html[data-theme="dark"] .rv-topic--car .rv-topic-art{width:210px;height:160px;object-fit:cover;object-position:right center;right:18px;bottom:18px}
html[data-theme="dark"] .rv-topic h3,html[data-theme="dark"] .rv-topic p,html[data-theme="dark"] .rv-topic .rv-topic-tags{max-width:calc(100% - 240px)}
html[data-theme="dark"] .rv-topic .rv-topic-count{z-index:1}
@media (max-width:860px){
  html[data-theme="dark"] .rv-topic-art,html[data-theme="dark"] .rv-topic--car .rv-topic-art{width:150px;height:110px;right:14px;bottom:10px}
  html[data-theme="dark"] .rv-topic h3,html[data-theme="dark"] .rv-topic p,html[data-theme="dark"] .rv-topic .rv-topic-tags{max-width:none}
}
