/* =============================================
   common — 변수·헤더·푸터·폼·FAQ 등 공통 UI
   ============================================= */
:root{
  --blue:#387BF3;
  --blue-dark:#2A70F3;
  --blue-deep:#1F5FD8;
  --blue-accent:#3D7EF4;
  --sky:#EAF2FE;          /* 아주 옅은 블루 (카드 아이콘 배경 등) */
  --sky-2:#F2F7FD;        /* 히어로 배경 */
  --sky-3:#F7FAFC;        /* 헤더 배경 */
  --line:#E3E8EF;         /* 기본 테두리 */
  --line-2:#EDF1F6;
  --ink:#1A1A1A;          /* 진한 텍스트 */
  --ink-2:#4B4B4B;        /* 본문 */
  --ink-3:#8A94A6;        /* 옅은 텍스트/placeholder */
  --footer-bg:#E7EEF7;
  --footer-note:#EDF2F8;
  --radius:7px;
  --radius-lg:10px;
  --max:1200px;
  --shadow:0 6px 24px rgba(37,86,180,.08);
  --shadow-card:0 2px 10px rgba(20,40,80,.05);
}

body{
  font-family:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.2px;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* =============================================
   헤더
   ============================================= */
#site-header{
  position:sticky;top:0;z-index:100;
  background:var(--sky-3);
  border-bottom:1px solid var(--line-2);
}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  height:72px;display:flex;align-items:center;gap:32px;
}
.logo-link{display:flex;align-items:center;gap:10px}
.logo-link img{width:34px;height:auto}
/* 시안: 로고 텍스트 2줄 스택 (암보험 / 비교사이트) */
.logo-text{display:flex;flex-direction:column;align-items:flex-start;font-weight:800;line-height:1.15}
.logo-text .lt-main{color:var(--blue-dark);font-size:19px;font-weight:900}
.logo-text .lt-sub{color:#5b6474;font-size:12.5px;font-weight:600}
.gnb{display:flex;align-items:center;gap:66px;margin-left:auto}
.gnb a{font-size:16.5px;font-weight:600;color:#333;white-space:nowrap;transition:color .15s}
.gnb a:hover{color:var(--blue)}
.gnb h2{margin:0;font:inherit;display:contents}
.header-tel{display:none}
.header-tel a{
  display:inline-flex;align-items:center;gap:6px;
  font-size:15px;font-weight:700;color:var(--blue-dark);
  border:1.5px solid var(--blue);border-radius:22px;padding:8px 18px;
}
.ham-btn{display:none;margin-left:auto;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.ham-btn span{display:block;width:22px;height:2px;background:#333;border-radius:2px;transition:.2s}
.mobile-gnb{display:none}

/* 폼 카드 (메인/서브 공용) */
.form-card{
  background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);
  padding:30px 28px;border:1px solid #EAEFF6;
}
.form-card-title{font-size:15px;font-weight:600;color:var(--ink-2)}
.form-card-lead{font-size:22px;font-weight:900;color:var(--ink);margin:2px 0 22px}
.ins-form .frow{margin-bottom:16px}
.ins-form .frow-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flabel{display:block;font-size:13px;font-weight:700;color:#555;margin-bottom:7px}
.finput{
  width:100%;height:50px;border:1.5px solid var(--line);border-radius:6px;
  padding:0 15px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s;
}
.finput::placeholder{color:#B7BECB}
.finput:focus{outline:none;border-color:var(--blue)}
.ftextarea{width:100%;height:50px;min-height:50px;border:1.5px solid var(--line);border-radius:6px;padding:13px 15px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s;resize:vertical;line-height:1.4}
.ftextarea::placeholder{color:#B7BECB}
.ftextarea:focus{outline:none;border-color:var(--blue)}
.gender-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gender-btn{
  height:50px;border:1.5px solid var(--line);border-radius:6px;
  font-size:16px;font-weight:700;color:#8b93a2;background:#fff;transition:.15s;
}
.gender-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}
.privacy-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:18px 0 16px}
.privacy-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue);flex-shrink:0}
.privacy-row label{font-size:13px;font-weight:600;color:#555}
.privacy-detail-btn{font-size:13px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.privacy-full{
  display:none;max-height:220px;overflow-y:auto;background:#F7F9FC;border:1px solid var(--line);
  border-radius:6px;padding:14px 16px;font-size:11.5px;line-height:1.7;color:#5a6270;margin-bottom:16px;
}
.privacy-full.open{display:block}
.privacy-full strong{color:#333}
.submit-btn{
  width:100%;height:56px;background:var(--blue);color:#fff;border-radius:6px;
  font-size:17px;font-weight:800;transition:background .15s;
}
.submit-btn:hover{background:var(--blue-deep)}
.form-success{display:none;text-align:center;padding:40px 10px}
.form-success.show{display:block}
.form-success .fs-title{font-size:20px;font-weight:900;color:var(--blue);margin-bottom:10px}
.form-success .fs-desc{font-size:14px;color:var(--ink-2);line-height:1.7}

/* 공통 섹션 타이틀 */
.section{padding:56px 0}
.section.alt{background:var(--sky-2)}
.sec-head{text-align:center;margin-bottom:32px}
.sec-title{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:-.8px}
.sec-sub{margin-top:12px;font-size:16px;font-weight:500;color:var(--ink-3)}

/* FAQ 아코디언 */
.faq-list{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:box-shadow .15s}
.faq-item.open{box-shadow:var(--shadow-card);border-color:#D5E0F2}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 24px;text-align:left;font-size:16px;font-weight:700;color:var(--ink);
}
.faq-q .q-mark{display:none}
.faq-icon{flex:0 0 auto;width:24px;height:24px;position:relative;transition:transform .2s}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--blue);border-radius:2px}
.faq-icon::before{left:50%;top:4px;width:2px;height:16px;transform:translateX(-50%)}
.faq-icon::after{top:50%;left:4px;height:2px;width:16px;transform:translateY(-50%)}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 24px}
.faq-item.open .faq-a{max-height:600px}
.faq-a p{padding:0 0 22px;font-size:14.5px;line-height:1.8;color:var(--ink-2)}

/* 유의사항 / 푸터 */
.notice{background:#fff;padding:40px 0}
.notice-box{background:var(--footer-note);border:1px solid var(--line-2);border-radius:7px;padding:22px 26px}
.notice-box p{font-size:11.5px;line-height:1.85;color:#7a8398;margin-bottom:6px}
.notice-box p:last-child{margin-bottom:0}
.notice-box .n-strong{color:#5a6270;font-weight:700}
.notice-review{font-size:11.5px;color:#8a92a3;margin-top:6px}

#site-footer{background:var(--footer-bg);padding:30px 0}
.footer-inner{max-width:var(--max);margin:0 auto;padding:0 24px}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer-brand img{height:24px;width:auto}
.footer-info{font-size:12px;line-height:1.9;color:#6b7486}
.footer-tel{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--blue-dark);margin-bottom:10px}

/* 전화상담 바 */
.tel-bar{background:var(--sky-2);padding:26px 0}
.tel-bar .wrap{display:flex;align-items:center;justify-content:center;gap:12px}
.tel-bar a{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:900;color:var(--blue-dark)}

/* 공통 반응형 */
@media (max-width:1023px){
  .gnb,.header-tel{display:none}
  .ham-btn{display:flex}
  .header-inner{gap:16px;height:64px}
  .mobile-gnb{
    display:none;position:absolute;top:64px;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);padding:8px 0;
  }
  .mobile-gnb.open{display:block}
  .mobile-gnb a{display:block;padding:14px 24px;font-size:15px;font-weight:600;color:#333;border-bottom:1px solid var(--line-2)}
  .mobile-gnb a:last-child{border-bottom:none;color:var(--blue-dark);font-weight:800}
  .sec-title{font-size:26px}
  .section{padding:48px 0}
}
@media (max-width:600px){
  .wrap{padding-left:24px;padding-right:24px}
  .header-inner,.footer-inner{padding-left:18px;padding-right:18px}
  .form-card{padding:24px 20px}
  .sec-title{font-size:22px}
  .sec-sub{font-size:14px}
  .faq-q{font-size:14.5px;padding:18px 18px}
  .faq-a p{font-size:13.5px}
  .tel-bar a{font-size:18px}
  .ftextarea{height:66px;min-height:66px}
  .ftextarea::placeholder{font-size:13px}
}
