/* ==========================================================
   rt-pages.css — 서비스·홈·About·문의 페이지 공통 컴포넌트
   styles.css 토큰만 사용합니다. 새 색·새 모서리값을 만들지 마세요.
   - 글자: #1F2A2E (--bs-dark) / 본문 70% / 보조 60%
   - 선:   rgba(31,42,46,.12) (--bs-light)
   - 배경: #F4F8FA (--bs-light-gray)
   - 포인트: --rt-tangerine
   - 모서리: 카드·박스 0 (styles.css .card와 동일), 버튼·배지는 pill
   ========================================================== */
:root{
  --rt-ink:#1F2A2E;
  --rt-ink-70:rgba(31,42,46,.7);
  --rt-ink-60:rgba(31,42,46,.6);
  --rt-line:rgba(31,42,46,.12);
  --rt-line-soft:rgba(31,42,46,.06);
  --rt-surface:#F4F8FA;
}

/* 한글 줄바꿈 */
.rt-svc-body, .rt-price, .rt-card, .rt-link-card, .rt-member, .rt-cta, .rt-note, .about-content p, .accordion-body{word-break:keep-all;overflow-wrap:anywhere}
.rt-card h3, .rt-cta h2, .rt-price-main{text-wrap:balance}

/* 본문 */
.rt-svc-body h4{margin-top:2.5rem;margin-bottom:.9rem;line-height:1.5}
.rt-svc-body h4:first-child{margin-top:0}
.rt-svc-body p{line-height:1.9}
.rt-muted{color:var(--rt-ink-70)}

/* 목록 */
.rt-svc-list{list-style:none;padding:0;margin:0 0 1.5rem}
.rt-svc-list li{position:relative;padding-left:1.6rem;margin-bottom:.7rem;line-height:1.8;color:var(--rt-ink)}
.rt-svc-list li:before{content:"";position:absolute;left:0;top:.85em;width:.75rem;height:1px;background:var(--rt-ink)}

/* 진행 순서 */
.rt-step{border-top:1px solid var(--rt-line);padding:1.25rem 0;display:flex;gap:1.1rem;align-items:flex-start}
.rt-step:last-child{border-bottom:1px solid var(--rt-line)}
.rt-step-no{flex:0 0 2rem;padding-top:.1rem;color:var(--rt-ink-60);font-family:'Poppins',sans-serif}
.rt-step-title{color:var(--rt-ink);font-weight:500;margin-bottom:.25rem}
.rt-step-desc{color:var(--rt-ink-70);margin:0;line-height:1.8}

/* 카드 — 상단 룰 + 각진 블록 (홈·서비스·About 공통) */
.rt-card{display:flex;flex-direction:column;height:100%;border-top:2px solid var(--rt-ink);padding:1.6rem 0 0;
  text-decoration:none;background:transparent;transition:border-color .2s}
.rt-card:hover{border-top-color:var(--rt-tangerine)}
.rt-card-tag{font-size:.8rem;letter-spacing:.04em;color:var(--rt-ink-60);margin-bottom:.9rem;display:block}
.rt-card:hover .rt-card-tag{color:var(--rt-tangerine)}
.rt-card h3{font-size:1.2rem;line-height:1.55;margin-bottom:.7rem;color:var(--rt-ink)}
.rt-card p{line-height:1.8;color:var(--rt-ink-70);margin:0 0 1.2rem}
.rt-card-more{margin-top:auto;color:var(--rt-ink);font-size:.95rem}
.bg-dark .rt-card{border-top-color:rgba(255,255,255,.9)}
.bg-dark .rt-card h3,.bg-dark .rt-card-more{color:#fff}
.bg-dark .rt-card p,.bg-dark .rt-card-tag{color:rgba(255,255,255,.7)}

/* 함께하는 사람들 (About) */
.rt-member{height:100%;border-top:2px solid var(--rt-ink);padding:1.5rem 0 0}
.rt-member h4{color:var(--rt-ink);margin-bottom:.6rem}
.rt-member p{color:var(--rt-ink-70);line-height:1.85;margin:0}

/* 메모 박스 */
.rt-note{background:var(--rt-surface);padding:1.4rem 1.6rem;line-height:1.85;border-left:2px solid var(--rt-ink);color:var(--rt-ink-70)}

/* 가격 */
.rt-price{border-top:2px solid var(--rt-ink);padding:1.8rem 0 0}
.rt-price-head{display:flex;flex-direction:column;gap:.35rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rt-line)}
.rt-price-eyebrow{font-family:'Poppins',sans-serif;font-size:.85rem;color:var(--rt-ink-60)}
.rt-price-main{font-size:2rem;color:var(--rt-ink);line-height:1.25;font-weight:600}
.rt-price-sub{color:var(--rt-ink-70);line-height:1.75}
.rt-price-row{display:grid;grid-template-columns:1fr auto;gap:.2rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--rt-line-soft)}
.rt-price-k{color:var(--rt-ink)}
.rt-price-v{color:var(--rt-ink);font-weight:600;text-align:right;white-space:nowrap}
.rt-price-d{grid-column:1/-1;font-size:.9rem;color:var(--rt-ink-60);line-height:1.7}
.rt-price-note{font-size:.95rem;color:var(--rt-ink-70);line-height:1.9;margin:1.4rem 0 1.6rem}

/* 하단 CTA */
.rt-cta{background:var(--rt-ink);padding:2.8rem}
.rt-cta h2{color:#fff;font-size:1.7rem;line-height:1.5;margin-bottom:.75rem}
.rt-cta p{color:rgba(255,255,255,.7);line-height:1.8;margin:0}

/* 문의 폼 */
.rt-form{display:flex;flex-direction:column;gap:2.6rem}
.rt-q{font-size:1.15rem;color:var(--rt-ink);font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem}
.rt-q-no{flex:0 0 1.7rem;height:1.7rem;border-radius:50%;background:var(--rt-ink);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;font-weight:500}
.rt-q-sub{font-size:.95rem;color:var(--rt-ink-60);margin:0 0 1rem 2.3rem;line-height:1.7}
.rt-optional{font-size:.75rem;background:var(--rt-surface);color:var(--rt-ink-60);border-radius:56px;padding:.15rem .6rem;font-weight:400}
.rt-opts{display:grid;gap:.7rem;margin-left:2.3rem}
.rt-opts-2{grid-template-columns:repeat(2,1fr)}
.rt-opts-3{grid-template-columns:repeat(3,1fr)}
.rt-opts-4{grid-template-columns:repeat(4,1fr)}
.rt-opt{margin:0;cursor:pointer}
.rt-opt input{position:absolute;opacity:0;width:0;height:0}
.rt-opt-box{display:flex;flex-direction:column;gap:.25rem;height:100%;border:1px solid var(--rt-line);padding:.9rem 1.05rem;transition:.18s;background:#fff}
.rt-opt-label{font-size:.95rem;color:var(--rt-ink);line-height:1.5}
.rt-opt-hint{font-size:.8rem;color:var(--rt-ink-60);line-height:1.5}
.rt-opt:hover .rt-opt-box{border-color:var(--rt-ink-60)}
.rt-opt input:checked + .rt-opt-box{border-color:var(--rt-ink);background:var(--rt-ink)}
.rt-opt input:checked + .rt-opt-box .rt-opt-label{color:#fff;font-weight:600}
.rt-opt input:checked + .rt-opt-box .rt-opt-hint{color:rgba(255,255,255,.65)}
.rt-opt input:focus-visible + .rt-opt-box{outline:2px solid var(--rt-tangerine);outline-offset:2px}
.rt-form .form-control{padding:.7rem .2rem}

@media(max-width:768px){
  .rt-opts{margin-left:0}.rt-opts-2,.rt-opts-3,.rt-opts-4{grid-template-columns:1fr}.rt-q-sub{margin-left:0}
  .rt-price-main{font-size:1.6rem}.rt-cta{padding:1.9rem 1.5rem}.rt-cta h2{font-size:1.4rem}
}

/* 링크 카드 — .card 위에 얹는 형태. 호버하면 .btn처럼 어두워지고 화살표가 45도 돌아요 */
.rt-link-card{background:var(--rt-surface);text-decoration:none;transition:background-color .25s ease}
.rt-link-card .card-body{padding:2rem}
.rt-link-card h3{font-size:1.25rem;line-height:1.5;color:var(--rt-ink);margin-bottom:.75rem;transition:color .25s ease}
.rt-link-card p{color:var(--rt-ink-70);line-height:1.8;margin:0;transition:color .25s ease}
.rt-link-card .rt-card-tag{transition:color .25s ease}
.rt-link-meta{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--rt-line);color:var(--rt-ink);font-weight:500;transition:color .25s ease,border-color .25s ease}
.rt-link-arrow{background:#fff;color:var(--rt-ink);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);transition:transform .4s ease,background-color .25s ease}
.rt-link-card:hover{background:var(--bs-secondary)}
.rt-link-card:hover h3,.rt-link-card:hover .rt-link-meta{color:#fff}
.rt-link-card:hover p,.rt-link-card:hover .rt-card-tag{color:rgba(255,255,255,.7)}
.rt-link-card:hover .rt-link-meta{border-color:rgba(255,255,255,.15)}
.rt-link-card:hover .rt-link-arrow{background:var(--bs-primary);transform:rotate(45deg)}
@media(max-width:768px){.rt-link-card .card-body{padding:1.5rem}}

/* 어두운 배너 안 버튼: 기본 .btn은 호버 시 배경이 배너색(#1F2A2E)과 같아져서 흰색으로 뒤집어요 */
.rt-cta .btn:hover{background-color:#fff}
.rt-cta .btn:hover .btn-text{color:var(--rt-ink)}
.rt-cta .btn:hover .btn-icon{background-color:var(--bs-primary)!important}
