:root{
  --green-900:#1f3d2c;
  --green-700:#2e6b4f;
  --green-500:#4c8a68;
  --green-100:#eaf3ec;
  --beige-50:#faf8f3;
  --ink:#22261f;
  --grey:#6b7268;
  --line:#e2e0d5;
  --white:#fff;
  --danger:#b3452c;
  --warn:#c98a1e;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Malgun Gothic","맑은 고딕","Apple SD Gothic Neo",sans-serif;
  background:var(--beige-50);
  color:var(--ink);
  line-height:1.55;
  /* 한글은 브라우저 기본값이 글자 단위로 아무 데서나 줄바꿈해서
     "한약재"가 "한약"+"재"로 쪼개지는 것처럼 단어가 잘립니다.
     keep-all은 띄어쓰기(어절) 단위로만 줄바꿈해 이를 막고,
     overflow-wrap은 그래도 넘칠 때(긴 영문/URL 등)의 안전장치입니다. */
  word-break:keep-all;
  overflow-wrap:break-word;
}
a{color:var(--green-700); text-decoration:none;}
a:hover{text-decoration:underline;}
.nf-shell{min-height:100vh; display:flex; flex-direction:column;}
.nf-topbar{background:var(--green-900); color:#fff;}
.nf-topbar-inner{
  max-width:1100px; margin:0 auto; padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.nf-logo{color:#fff; font-size:20px; font-weight:700;}
.nf-modulenav{display:flex; flex-wrap:wrap;}
.nf-modulenav a{
  color:#dce9df; margin-left:18px; font-size:14px; padding:6px 10px; border-radius:6px; white-space:nowrap;
}
.nf-modulenav a.active, .nf-modulenav a:hover{background:var(--green-700); color:#fff; text-decoration:none;}
.nf-modulenote{
  background:var(--green-700); color:#eafaf0; font-size:12px; text-align:center; padding:4px 10px;
}
.nf-accountbar{display:flex; align-items:center; gap:14px;}
.nf-accountbar a{color:#dce9df; font-size:13px; padding:6px 10px; border-radius:6px;}
.nf-accountbar a.active, .nf-accountbar a:hover{background:var(--green-700); color:#fff; text-decoration:none;}
.nf-main{max-width:1100px; margin:0 auto; padding:32px 20px; width:100%; flex:1;}
.nf-footer{
  background:var(--green-900); color:#cfe3d6; font-size:12px; text-align:center; padding:18px 10px; margin-top:40px;
}
.nf-footer-sub{opacity:.7; margin-top:4px;}

/* ---- 공통 컴포넌트 ---- */
.nf-hero{
  background:linear-gradient(135deg,var(--green-700),var(--green-500));
  color:#fff; border-radius:16px; padding:40px 32px; margin-bottom:32px;
}
.nf-hero h1{font-size:30px; margin:0 0 10px;}
.nf-hero p{font-size:15px; opacity:.95; max-width:620px;}
.nf-badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;}
.nf-badge{
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4);
  padding:6px 12px; border-radius:999px; font-size:13px;
}
.nf-card{
  background:var(--white); border:1px solid var(--line); border-radius:12px; padding:24px; margin-bottom:24px;
}
.nf-card h2{margin-top:0; font-size:19px; color:var(--green-900);}
.nf-grid{display:grid; gap:20px;}
.nf-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.nf-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

form.nf-form label{display:block; font-size:13px; color:var(--grey); margin:14px 0 6px;}
form.nf-form input, form.nf-form select, form.nf-form textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; font-size:14px; background:#fff;
}
form.nf-form textarea{min-height:90px;}
.nf-btn{
  display:inline-block; background:var(--green-700); color:#fff !important; border:none;
  padding:11px 22px; border-radius:8px; font-size:14px; cursor:pointer; font-weight:600; text-decoration:none;
  white-space:nowrap; flex-shrink:0;
}
.nf-btn:hover{background:var(--green-900);}
.nf-btn.secondary{background:#fff; color:var(--green-700) !important; border:1px solid var(--green-700);}
.nf-btn.small{padding:6px 12px; font-size:12px;}

.nf-table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -2px;}
table.nf-table{width:100%; min-width:560px; border-collapse:collapse; font-size:14px;}
table.nf-table th, table.nf-table td{padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap;}
table.nf-table th{background:var(--green-100); color:var(--green-900); font-weight:700;}
table.nf-table tr:hover td{background:#f9fbf8;}
/* 품목/메모처럼 줄바꿈이 필요한 칸은 개별적으로 nowrap 해제 */
table.nf-table td.nf-wrap{white-space:normal; min-width:160px;}

.nf-status{padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600;}
.nf-status.new{background:#eef2ff; color:#3b4bb0;}
.nf-status.progress{background:#fff4e0; color:var(--warn);}
.nf-status.converted{background:var(--green-100); color:var(--green-900);}
.nf-status.dormant{background:#f0f0f0; color:var(--grey);}
.nf-status.ok{background:var(--green-100); color:var(--green-900);}
.nf-status.low{background:#fdeee9; color:var(--danger);}
.nf-status.nf-seg-new{background:#eef2ff; color:#3b4bb0;}
.nf-status.nf-seg-dormant{background:#fdeee9; color:var(--danger);}
.nf-status.nf-seg-vip{background:#fff4e0; color:var(--warn);}
.nf-status.nf-seg-active{background:var(--green-100); color:var(--green-900);}

.nf-subnav{display:flex; flex-wrap:wrap; gap:6px; margin:-4px 0 18px;}
.nf-subnav a{
  font-size:13px; padding:7px 14px; border-radius:999px; border:1px solid var(--line);
  color:var(--green-900); background:#fff;
}
.nf-subnav a:hover{background:var(--green-100); text-decoration:none;}
.nf-subnav a.active{background:var(--green-700); color:#fff !important; border-color:var(--green-700);}

.nf-kpi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin-bottom:20px;}
.nf-kpi-box{border:1px solid var(--line); border-radius:12px; padding:16px; background:#fff;}
.nf-kpi-box .num{font-size:24px; font-weight:700; color:var(--green-700);}
.nf-kpi-box .label{font-size:12px; color:var(--grey); margin-bottom:4px;}

.nf-product-card{border:1px solid var(--line); border-radius:12px; padding:18px; background:#fff;}
.nf-product-card h3{margin:0 0 6px; font-size:17px;}
.nf-product-card .price{color:var(--green-700); font-weight:700; font-size:16px;}
.nf-meta-list{font-size:13px; color:var(--grey); margin:8px 0;}
.nf-quality-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:16px 0;}
.nf-quality-item{border:1px solid var(--line); border-radius:10px; padding:14px; text-align:center; background:var(--green-100);}
.nf-quality-item .label{font-size:12px; color:var(--grey);}
.nf-quality-item .value{font-size:15px; font-weight:700; color:var(--green-900); margin-top:4px;}

.nf-breadcrumb{font-size:13px; color:var(--grey); margin-bottom:16px;}
.nf-alert{padding:12px 16px; border-radius:8px; font-size:14px; margin-bottom:18px;}
.nf-alert.info{background:#eef2ff; color:#3b4bb0;}
.nf-alert.warn{background:#fff4e0; color:#8a5a00;}
.nf-alert.danger{background:#fdeee9; color:var(--danger);}
.nf-alert.success{background:var(--green-100); color:var(--green-900);}

.nf-kv{width:100%; font-size:14px; border-collapse:collapse;}
.nf-kv th{width:130px; text-align:left; color:var(--grey); padding:6px 0; vertical-align:top; font-weight:600;}
.nf-kv td{padding:6px 0;}

/* 헤더 장바구니 아이콘 배지 */
.nf-cart-link{position:relative;}
.nf-cart-badge{
  position:absolute; top:-2px; right:-10px; background:#e8674a; color:#fff;
  font-size:10px; font-weight:700; line-height:1; padding:3px 5px; border-radius:999px; min-width:16px; text-align:center;
}

/* =========================================================
   자사몰(nf-shop-*) — 쇼핑몰다운 상품 리스트/상세/장바구니/결제 UI
   ========================================================= */
.nf-shop-toolbar{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:18px;
}
.nf-shop-search{display:flex; gap:8px; flex:1; min-width:200px;}
.nf-shop-search input[type="text"]{
  flex:1; padding:10px 14px; border:1px solid var(--line); border-radius:999px; font-size:14px; background:#fff;
}
.nf-shop-search select{padding:10px 12px; border:1px solid var(--line); border-radius:999px; font-size:13px; background:#fff; color:var(--ink);}
.nf-shop-count{font-size:13px; color:var(--grey);}

.nf-shop-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px;}
.nf-shop-card{
  border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden;
  display:flex; flex-direction:column; transition:box-shadow .15s, transform .15s;
}
.nf-shop-card:hover{box-shadow:0 10px 24px rgba(31,61,44,.12); transform:translateY(-2px);}
.nf-shop-thumb{
  aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; font-size:44px;
  background:linear-gradient(135deg,var(--green-100),var(--beige-50)); position:relative;
}
.nf-shop-thumb .nf-shop-origin{
  position:absolute; top:8px; left:8px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px;
  background:rgba(255,255,255,.92); color:var(--green-900);
}
.nf-shop-thumb .nf-shop-stockflag{
  position:absolute; top:8px; right:8px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px;
}
.nf-shop-stockflag.in{background:rgba(255,255,255,.92); color:var(--green-700);}
.nf-shop-stockflag.low{background:#fff4e0; color:var(--warn);}
.nf-shop-stockflag.out{background:#fdeee9; color:var(--danger);}
.nf-shop-body{padding:16px; display:flex; flex-direction:column; gap:6px; flex:1;}
.nf-shop-cat{font-size:11px; font-weight:700; color:var(--green-700); text-transform:uppercase; letter-spacing:.02em;}
.nf-shop-body h3{margin:0; font-size:16px;}
.nf-shop-body h3 a{color:var(--ink);}
.nf-shop-spec{font-size:12px; color:var(--grey);}
.nf-shop-certline{font-size:11px; color:var(--green-700); font-weight:600;}
.nf-shop-priceline{display:flex; align-items:baseline; justify-content:space-between; margin-top:auto; padding-top:8px;}
.nf-shop-price{font-size:18px; font-weight:800; color:var(--green-900);}
.nf-shop-unit{font-size:12px; color:var(--grey); font-weight:400;}
.nf-shop-addform{display:flex; gap:6px; padding:0 16px 16px;}
.nf-shop-addform .nf-btn{width:100%; text-align:center;}

/* 상품 상세 */
.nf-shop-hero-thumb{
  aspect-ratio:1/1; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:96px;
  background:linear-gradient(135deg,var(--green-100),var(--beige-50)); margin-bottom:16px;
}
.nf-shop-trustrow{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0;}
.nf-shop-trust{
  font-size:12px; font-weight:600; color:var(--green-900); background:var(--green-100);
  padding:6px 12px; border-radius:999px;
}
.nf-shop-buybox{border:1px solid var(--line); border-radius:12px; padding:16px; background:var(--beige-50); margin-top:18px;}
.nf-qty-stepper{display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff;}
.nf-qty-stepper button{
  width:36px; height:38px; border:none; background:#fff; color:var(--green-900); font-size:16px; cursor:pointer; font-weight:700;
}
.nf-qty-stepper button:hover{background:var(--green-100);}
.nf-qty-stepper input{
  width:56px; height:38px; border:none; border-left:1px solid var(--line); border-right:1px solid var(--line);
  text-align:center; font-size:14px;
}
.nf-shop-linetotal{font-size:13px; color:var(--grey); margin-top:8px;}
.nf-shop-linetotal strong{color:var(--green-700); font-size:16px;}

/* 장바구니 */
.nf-cart-row{display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line);}
.nf-cart-row:last-child{border-bottom:none;}
.nf-cart-thumb{
  width:56px; height:56px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:26px; background:linear-gradient(135deg,var(--green-100),var(--beige-50));
}
.nf-cart-info{flex:1; min-width:120px;}
.nf-cart-info .name{font-weight:700; font-size:14px;}
.nf-cart-info .unit{font-size:12px; color:var(--grey);}
.nf-cart-qtybox{display:flex; align-items:center; gap:10px;}
.nf-cart-subtotal{width:110px; text-align:right; font-weight:700; color:var(--green-900); font-size:14px;}

/* 결제(체크아웃) */
.nf-checkout-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:24px; align-items:start;}
@media (max-width:760px){ .nf-checkout-grid{grid-template-columns:1fr;} }
.nf-order-row{display:flex; justify-content:space-between; gap:10px; font-size:14px; padding:8px 0; border-bottom:1px dashed var(--line);}
.nf-order-row .name{color:var(--ink);}
.nf-order-row .sub{color:var(--grey); font-size:12px;}
.nf-summary-line{display:flex; justify-content:space-between; font-size:14px; padding:5px 0; color:var(--grey);}
.nf-summary-total{
  display:flex; justify-content:space-between; align-items:baseline; font-size:19px; font-weight:800;
  color:var(--green-900); padding-top:12px; margin-top:8px; border-top:2px solid var(--green-900);
}
.nf-pay-methodrow{display:flex; align-items:center; gap:10px; padding:12px; border:1px dashed var(--line); border-radius:10px; background:var(--green-100); margin:16px 0; cursor:default;}
.nf-pay-logo{font-weight:800; color:var(--green-900); font-size:13px; white-space:nowrap; cursor:default;}
.nf-pay-logo::before{content:"🔒 "; }
#toss-payment-btn{width:100%; text-align:center; padding:15px; font-size:16px;}
.nf-secure-note{font-size:11px; color:var(--grey); text-align:center; margin-top:10px;}
.nf-pay-result-icon{font-size:52px; text-align:center; margin-bottom:6px;}

/* =========================================================
   랜딩페이지 전용 (nf-lp-*) — 퍼널 구조 랜딩페이지
   나머지 페이지(CRM/자사몰/ERP)의 스타일에는 영향을 주지 않도록
   전부 nf-lp- 접두사로 분리했습니다.
   ========================================================= */
html{scroll-behavior:smooth;}
.nf-lp-page{padding-bottom:0;}

.nf-lp-promo{
  background:var(--green-100); color:var(--green-900); border:1px solid #d7e8dc;
  text-align:center; font-size:13px; font-weight:700; padding:10px 14px; border-radius:10px; margin-bottom:20px;
}

.nf-lp-hero{display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:center; margin-bottom:8px;}
@media (max-width:820px){ .nf-lp-hero{grid-template-columns:1fr;} }
.nf-lp-eyebrow{
  display:inline-block; background:var(--green-100); color:var(--green-900); font-size:12px; font-weight:700;
  padding:5px 12px; border-radius:999px; margin-bottom:14px;
}
.nf-lp-hero h1{font-size:32px; line-height:1.32; margin:0 0 14px; color:var(--green-900);}
.nf-lp-hero .sub{font-size:15px; color:var(--grey); max-width:520px; margin:0 0 22px;}
.nf-lp-cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px;}
.nf-btn.lg{padding:14px 26px; font-size:15px; border-radius:10px;}
.nf-lp-social-proof{font-size:13px; color:var(--grey); margin-bottom:4px;}

.nf-lp-hero-media{position:relative;}
/* 이미지가 없거나 로딩 실패해도 브랜드 색상 블록으로 자연스럽게 대체되도록
   래퍼(div)에 배경색을 깔고, 실제 <img>는 그 위를 덮습니다 — img가 실패하면
   JS로 숨기고 래퍼의 배경색만 남습니다. */
.nf-lp-hero-img-wrap{
  background:var(--green-100); border-radius:20px; width:100%; aspect-ratio:1/1; overflow:hidden;
  box-shadow:0 14px 34px rgba(31,61,44,.18); border:1px solid var(--line);
}
.nf-lp-hero-img{width:100%; height:100%; object-fit:cover; display:block;}
/* 데스크톱은 2단 레이아웃이라 정사각형이 옆의 텍스트와 균형이 맞지만,
   모바일에서는 화면 전체 폭 = 정사각형 높이가 되어 이미지가 지나치게
   커집니다 — 화면이 좁아지면 더 낮은 비율로 바꿔 화면을 덜 차지하게 합니다. */
@media (max-width:640px){ .nf-lp-hero-img-wrap{aspect-ratio:4/3;} }
.nf-lp-hero-badge{
  position:absolute; left:-14px; bottom:-14px; background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:12px 16px; box-shadow:0 8px 20px rgba(0,0,0,.1); font-size:13px; font-weight:700; color:var(--green-900);
  max-width:220px;
}
@media (max-width:820px){ .nf-lp-hero-badge{left:12px; bottom:12px;} }

.nf-lp-section{margin:56px 0;}
.nf-lp-section-head{text-align:center; max-width:640px; margin:0 auto 28px;}
.nf-lp-section-head h2{font-size:24px; color:var(--green-900); margin:0 0 8px;}
.nf-lp-section-head p{font-size:14px; color:var(--grey); margin:0;}
.nf-lp-tag{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:.02em; color:var(--green-700);
  background:var(--green-100); padding:4px 10px; border-radius:999px; margin-bottom:10px;
}

.nf-lp-pain-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px;}
.nf-lp-pain-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; text-align:left;}
.nf-lp-pain-card .ico{font-size:26px; margin-bottom:10px;}
.nf-lp-pain-card p{font-size:14px; margin:0; color:var(--ink);}

.nf-lp-check-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:28px;}
.nf-lp-check-item{
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; text-align:center;
}
.nf-lp-check-item .ico{font-size:22px; margin-bottom:8px;}
.nf-lp-check-item .name{font-weight:700; font-size:14px; color:var(--green-900);}
.nf-lp-check-item .desc{font-size:12px; color:var(--grey); margin-top:4px;}

/* 사진 위에 그라데이션을 얹어 글씨를 우겨넣는 대신, 텍스트 영역(고정 브랜드색)과
   사진 영역을 아예 분리했습니다 — 어떤 사진(밝든 어둡든)을 넣어도 글자 대비 문제가
   생기지 않고, 사진도 가려지는 부분 없이 그대로 보입니다. */
.nf-lp-banner{
  display:grid; grid-template-columns:minmax(230px,34%) 1fr; border-radius:18px; overflow:hidden;
}
@media (max-width:680px){ .nf-lp-banner{grid-template-columns:1fr;} }

.nf-lp-banner-text{background:var(--green-900); color:#fff; padding:28px 30px; display:flex; flex-direction:column; justify-content:center;}
.nf-lp-banner-text h3{font-size:19px; margin:0 0 8px;}
.nf-lp-banner-text p{font-size:13px; margin:0; opacity:.9;}
.nf-lp-banner-text a{color:#fff; text-decoration-color:rgba(255,255,255,.6);}

/* min-height + height:100% 조합은 grid가 옆 칸(텍스트) 높이에 맞춰 늘려줄 때만
   동작합니다 — 텍스트가 짧으면 그리드가 기준으로 삼을 높이가 없어 이미지가
   자기 원본 비율(정사각형)대로 커져버립니다. aspect-ratio로 항상 같은
   비율을 갖도록 고정했습니다. */
.nf-lp-banner-img-wrap{background:var(--green-100); aspect-ratio:4/3; overflow:hidden;}
.nf-lp-banner-img{width:100%; height:100%; object-fit:cover; display:block;}
@media (max-width:680px){ .nf-lp-banner-img-wrap{aspect-ratio:16/9;} }

.nf-lp-magnet{
  display:grid; grid-template-columns:1fr 1.15fr; gap:0; background:#fff; border:1px solid var(--line);
  border-radius:20px; overflow:hidden; box-shadow:0 10px 30px rgba(31,61,44,.08);
}
@media (max-width:820px){ .nf-lp-magnet{grid-template-columns:1fr;} }
/* height:100%는 데스크톱 그리드(양옆 stretch)에서는 동작하지만, 모바일에서
   1열로 쌓이면 부모 높이가 auto가 되어 값이 불안정해집니다 — aspect-ratio로
   바꿔 어떤 레이아웃에서도 항상 같은 비율로 렌더링되게 했습니다. */
.nf-lp-magnet-img-wrap{background:var(--beige-50); aspect-ratio:1/1; overflow:hidden;}
.nf-lp-magnet-img{width:100%; height:100%; object-fit:cover; display:block;}
@media (max-width:640px){ .nf-lp-magnet-img-wrap{aspect-ratio:16/9;} }
.nf-lp-magnet-body{padding:32px;}
.nf-lp-magnet-body h3{font-size:21px; color:var(--green-900); margin:0 0 10px;}
.nf-lp-magnet-body p{font-size:14px; color:var(--grey); margin:0 0 16px;}
.nf-lp-magnet-list{list-style:none; margin:0 0 22px; padding:0; font-size:14px;}
.nf-lp-magnet-list li{margin-bottom:8px; padding-left:22px; position:relative;}
.nf-lp-magnet-list li::before{content:"✔"; position:absolute; left:0; color:var(--green-700); font-weight:700;}

.nf-lp-steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px;}
.nf-lp-step{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; position:relative;}
.nf-lp-step .num{
  width:30px; height:30px; border-radius:50%; background:var(--green-700); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center; font-size:14px; margin-bottom:12px;
}
.nf-lp-step h4{font-size:15px; margin:0 0 6px; color:var(--green-900);}
.nf-lp-step p{font-size:13px; color:var(--grey); margin:0;}

.nf-lp-testi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px;}
.nf-lp-testi{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px;}
.nf-lp-testi p.quote{font-size:14px; margin:0 0 14px; color:var(--ink);}
.nf-lp-testi-who{display:flex; align-items:center; gap:10px;}
.nf-lp-avatar{
  width:36px; height:36px; border-radius:50%; background:var(--green-100); color:var(--green-900);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex-shrink:0;
}
.nf-lp-testi-who .name{font-size:13px; font-weight:700; color:var(--green-900);}
.nf-lp-testi-who .role{font-size:12px; color:var(--grey);}

.nf-lp-form-card{background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px;}
.nf-lp-form-note{font-size:12px; color:var(--grey); margin-top:10px;}
.nf-lp-checkline{display:flex; align-items:flex-start; gap:8px; font-size:13px; margin:16px 0; color:var(--ink);}
.nf-lp-checkline input{margin-top:3px; flex-shrink:0;}
.nf-lp-checkline.sample{
  background:var(--green-100); padding:12px 14px; border-radius:10px; font-weight:600; color:var(--green-900);
}

.nf-lp-faq details{border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin-bottom:10px; background:#fff;}
.nf-lp-faq summary{cursor:pointer; font-weight:700; font-size:14px; color:var(--green-900); list-style:none;}
.nf-lp-faq summary::-webkit-details-marker{display:none;}
.nf-lp-faq summary::before{content:"Q. "; color:var(--green-700);}
.nf-lp-faq details p{font-size:13px; color:var(--grey); margin:10px 0 0; padding-left:20px;}

.nf-lp-final-cta{
  background:linear-gradient(135deg,var(--green-700),var(--green-900)); color:#fff; border-radius:20px;
  padding:40px 32px; text-align:center;
}
.nf-lp-final-cta h2{font-size:24px; margin:0 0 10px;}
.nf-lp-final-cta p{font-size:14px; opacity:.9; margin:0 0 22px;}
.nf-lp-final-cta .nf-btn{background:#fff; color:var(--green-900) !important;}
.nf-lp-final-cta .nf-btn:hover{background:var(--green-100);}

.nf-lp-float{position:fixed; right:22px; bottom:22px; display:flex; flex-direction:column; gap:12px; z-index:80;}
.nf-lp-float a{
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:24px; box-shadow:0 6px 18px rgba(0,0,0,.2); text-decoration:none !important;
}
.nf-lp-float a.call{background:var(--green-700); color:#fff !important;}
.nf-lp-float a.kakao{background:#FEE500; color:#3c1e1e !important;}

.nf-lp-stickybar{display:none;}
@media (max-width:640px){
  .nf-lp-float{display:none;}
  .nf-lp-page{padding-bottom:72px;}
  .nf-lp-stickybar{
    display:flex; position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid var(--line);
    padding:10px 14px; gap:10px; z-index:80; box-shadow:0 -6px 16px rgba(0,0,0,.08);
  }
  .nf-lp-stickybar a{
    flex:1; text-align:center; padding:13px; border-radius:10px; font-weight:700; font-size:14px; text-decoration:none !important;
  }
  .nf-lp-stickybar a.call{background:var(--green-700); color:#fff !important;}
  .nf-lp-stickybar a.kakao{background:#FEE500; color:#3c1e1e !important;}
}
