/* ==========================================================
   Lifree renewal — component styles (loaded by lifree-theme.php)
   ========================================================== */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
:root{
  --lf-primary:#0A50A3; --lf-primary-dark:#02338C; --lf-primary-soft:#E9F4FE; --lf-primary-line:#BFD8F5;
  --lf-text:#1F2430; --lf-muted:#6B7386; --lf-line:#E3E8F0; --lf-bg:#F6F8FB; --lf-white:#fff;
  --lf-pink:#E91961; --lf-pink-soft:#FDE6EF; --lf-blue:#1C43D8; --lf-blue-soft:#EAEFFC;
  --lf-green:#1A7C3C; --lf-green-soft:#EEF7EC; --lf-orange:#F26A0D; --lf-orange-soft:#FDF3E6;
  --lf-radius:16px; --lf-shadow:0 8px 24px rgba(10,80,163,.08);
  --lf-font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
}
body{word-break:keep-all;-webkit-font-smoothing:antialiased}
body,body .elementor-widget-container,body .elementor-heading-title,body .elementor-button,body .elementor-nav-menu a{font-family:var(--lf-font)}
.lf{color:var(--lf-text);line-height:1.6;font-family:var(--lf-font)}
.lf *{box-sizing:border-box}
.lf h2,.lf h3,.lf h4{margin:0;line-height:1.3;font-weight:700;color:var(--lf-text)}
.lf p{margin:0}
.lf-sec__title{font-size:2rem;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
.lf-sec__sub{color:var(--lf-muted);font-size:1.05rem;margin-bottom:28px}
.lf-note{font-size:.82rem;color:var(--lf-muted);line-height:1.6;margin-top:14px}
.lf-note--r{text-align:right}
.lf-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-weight:700;font-size:.9rem}
.lf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem;transition:.15s;border:1.5px solid transparent;cursor:pointer;line-height:1.2}
.lf-btn--primary{background:var(--lf-primary);color:#fff}.lf-btn--primary:hover{background:var(--lf-primary-dark);color:#fff}
.lf-btn--outline{border-color:var(--lf-primary);color:var(--lf-primary);background:#fff}.lf-btn--outline:hover{background:var(--lf-primary-soft)}
.lf-btn--sm{padding:10px 20px;font-size:.92rem}
/* breadcrumb */
.lf-crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:.85rem;color:var(--lf-muted)}
.lf-crumb a{color:inherit;text-decoration:none}.lf-crumb span+span::before{content:"›";margin-right:6px}
/* ---------- product hero ---------- */
.lf-phero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center}
.lf-phero__img{background:var(--lf-bg);border-radius:24px;padding:32px;display:flex;align-items:center;justify-content:center}
.lf-phero__img img{max-width:100%;height:auto;mix-blend-mode:multiply}
.lf-phero__type{display:inline-block;font-size:.85rem;font-weight:700;color:var(--lf-primary);background:var(--lf-primary-soft);border-radius:8px;padding:4px 10px;margin-bottom:14px}
.lf-phero__name{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:14px}
.lf-phero__tag{font-size:1.1rem;color:#3d4452;line-height:1.7;margin-bottom:22px}
.lf-phero__absorb{display:inline-flex;align-items:baseline;gap:10px;background:var(--lf-primary-soft);border-radius:14px;padding:12px 22px;margin-bottom:22px}
.lf-phero__absorb b{font-size:2rem;font-weight:800;color:var(--lf-primary);letter-spacing:-.02em}
.lf-phero__absorb span{font-weight:700;color:var(--lf-primary-dark)}
.lf-phero__absorb sup{font-size:.8rem;color:var(--lf-muted)}
.lf-phero__list{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:8px}
.lf-phero__list li{position:relative;padding-left:18px;font-size:1.02rem}
.lf-phero__list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--lf-primary)}
.lf-phero__cta{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
/* ---------- recommend ---------- */
.lf-reco{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:linear-gradient(90deg,#EEF5FD 0%,#F8FBFF 100%);border-radius:24px;padding:36px 44px;overflow:hidden}
.lf-reco__title{font-size:1.5rem;font-weight:800;margin-bottom:18px}
.lf-reco__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lf-reco__list li{display:flex;align-items:flex-start;gap:10px;font-size:1.05rem}
.lf-reco__list li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--lf-primary) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L19 7'/></svg>") center/14px no-repeat;margin-top:2px}
.lf-reco__img img{width:320px;max-width:100%;border-radius:16px;display:block}
/* ---------- compare ---------- */
.lf-cmp{display:grid;gap:24px}
.lf-cmp--2{grid-template-columns:repeat(2,1fr)}.lf-cmp--3{grid-template-columns:repeat(3,1fr)}.lf-cmp--4{grid-template-columns:repeat(4,1fr)}
.lf-cmp__card{background:#fff;border:1px solid var(--lf-line);border-radius:20px;overflow:hidden;text-align:center;display:flex;flex-direction:column}
.lf-cmp__head{padding:22px 16px 16px;font-weight:800;font-size:1.35rem}
.lf-cmp__head small{display:block;font-size:1.1rem;font-weight:700;margin-top:4px}
.lf-cmp__head--a{background:#EEF6C8}.lf-cmp__head--b{background:#D5F0FB}.lf-cmp__head--c{background:var(--lf-pink-soft)}
.lf-cmp__badge{display:inline-block;align-self:center;background:var(--lf-text);color:#fff;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:700;margin-top:-14px;position:relative}
.lf-cmp__img{padding:24px 28px 12px}.lf-cmp__img img{max-width:240px;width:100%;height:auto}
.lf-cmp__copy{padding:12px 24px 26px;font-size:1.1rem;font-weight:700;line-height:1.55;border-top:1px dashed var(--lf-line);margin:0 24px}
.lf-cmp__copy em{font-style:normal;color:var(--lf-primary)}
.lf-cmp__sub{padding:0 24px 26px;color:var(--lf-muted);font-size:.95rem;line-height:1.6}
.lf-callout{margin-top:24px;background:var(--lf-primary-soft);border-radius:14px;padding:18px 24px;font-weight:600;color:var(--lf-primary-dark);text-align:center;font-size:1.02rem}
/* ---------- table ---------- */
.lf-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lf-table{width:100%;border-collapse:separate;border-spacing:0;font-size:1rem;min-width:560px}
.lf-table th,.lf-table td{padding:16px 14px;text-align:center;border-bottom:1px solid var(--lf-line);vertical-align:middle;line-height:1.55}
.lf-table thead th{background:var(--lf-primary);color:#fff;font-weight:700;font-size:1.02rem}
.lf-table thead th:first-child{border-radius:12px 0 0 0}.lf-table thead th:last-child{border-radius:0 12px 0 0}
.lf-table tbody th{background:var(--lf-bg);font-weight:700;color:var(--lf-text);width:150px;text-align:left;padding-left:20px}
.lf-table tbody tr:last-child th,.lf-table tbody tr:last-child td{border-bottom:2px solid var(--lf-primary-line)}
.lf-table .lf-strong{font-weight:800;color:var(--lf-primary);font-size:1.15rem}
.lf-table--types thead th{background:#fff;color:var(--lf-text);border-bottom:2px solid var(--lf-primary);padding:12px 14px 16px}
.lf-table--types thead th img{max-width:150px;width:100%;height:auto;display:block;margin:0 auto 10px}
.lf-table--types thead th b{display:block;font-size:1.05rem}
.lf-table--types thead th:first-child{border-radius:0}.lf-table--types thead th:last-child{border-radius:0}
.lf-table td.hl{color:var(--lf-primary);font-weight:700}
/* ---------- features ---------- */
.lf-feat{display:grid;gap:20px}
.lf-feat--4{grid-template-columns:repeat(4,1fr)}.lf-feat--3{grid-template-columns:repeat(3,1fr)}
.lf-feat__card{background:#fff;border:1px solid var(--lf-line);border-radius:20px;padding:28px 22px;text-align:center;box-shadow:var(--lf-shadow)}
.lf-feat__icon{width:72px;height:72px;border-radius:50%;background:var(--lf-primary-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--lf-primary)}
.lf-feat__icon svg{width:36px;height:36px}
.lf-feat__icon img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.lf-feat__num{display:inline-block;font-size:.8rem;font-weight:800;color:var(--lf-primary);background:var(--lf-primary-soft);border-radius:999px;padding:3px 10px;margin-bottom:10px}
.lf-feat__title{font-size:1.18rem;font-weight:800;margin-bottom:10px}
.lf-feat__desc{color:#3d4452;line-height:1.65;font-size:.98rem}
/* ---------- steps ---------- */
.lf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.lf-steps__item{background:var(--lf-bg);border-radius:18px;padding:22px 20px 24px;position:relative}
.lf-steps__img{aspect-ratio:4/3;border-radius:12px;background:#fff;border:1px dashed var(--lf-line);display:flex;align-items:center;justify-content:center;color:var(--lf-muted);font-size:.85rem;margin-bottom:16px;overflow:hidden}
.lf-steps__img img{width:100%;height:100%;object-fit:cover}
.lf-steps__title{font-weight:800;font-size:1.05rem;margin-bottom:8px;color:var(--lf-primary-dark)}
.lf-steps__desc{font-size:.95rem;color:#3d4452;line-height:1.6}
/* ---------- detail images ---------- */
.lf-detail{max-width:1000px;margin:0 auto}
.lf-detail img{display:block;width:100%;height:auto}
.lf-detail__toggle{text-align:center;margin-top:20px}
.lf-detail--collapsed .lf-detail__body{max-height:1600px;overflow:hidden;position:relative}
.lf-detail--collapsed .lf-detail__body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(rgba(255,255,255,0),#fff)}
/* ---------- home cards ---------- */
.lf-finder{margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.lf-finder__btn{display:flex;align-items:center;gap:18px;padding:26px 28px;border-radius:20px;border:2px solid var(--lf-primary-line);background:#fff;text-decoration:none;color:var(--lf-text);transition:.15s}
.lf-finder__btn:hover{border-color:var(--lf-primary);background:var(--lf-primary-soft)}
.lf-finder__ico{flex:0 0 56px;height:56px;border-radius:50%;background:var(--lf-primary-soft);display:flex;align-items:center;justify-content:center;color:var(--lf-primary)}
.lf-finder__ico svg{width:30px;height:30px}
.lf-finder__t{font-size:1.2rem;font-weight:800;display:block}.lf-finder__s{color:var(--lf-muted);font-size:.95rem}
.lf-cards{display:grid;gap:18px}
.lf-cards--5{grid-template-columns:repeat(5,1fr)}.lf-cards--4{grid-template-columns:repeat(4,1fr)}.lf-cards--3{grid-template-columns:repeat(3,1fr)}.lf-cards--6{grid-template-columns:repeat(6,1fr)}
.lf-card{border-radius:20px;border:1px solid var(--lf-line);background:#fff;overflow:hidden;display:flex;flex-direction:column;text-align:center;transition:.15s}
.lf-card:hover{transform:translateY(-4px);box-shadow:var(--lf-shadow)}
.lf-card__head{padding:20px 14px 12px}
.lf-card__kicker{font-size:1.15rem;font-weight:800;line-height:1.35}
.lf-card__sub{font-size:.9rem;color:#3d4452;margin-top:6px;line-height:1.5}
.lf-card__img{padding:6px 20px 10px;display:flex;justify-content:center;gap:8px}
.lf-card__img img{width:100%;max-width:170px;height:auto}
.lf-card__name{font-weight:700;font-size:1.02rem;padding:0 14px 8px;line-height:1.4}
.lf-card__list{list-style:none;margin:0;padding:0 18px 12px;text-align:left;font-size:.9rem;color:#3d4452;display:grid;gap:4px}
.lf-card__list li::before{content:"•";color:var(--lf-primary);margin-right:6px}
.lf-card__cta{margin:auto 18px 20px}
.lf-card--pink{background:linear-gradient(#FEF5F6,#fff 60%)}.lf-card--pink .lf-card__kicker{color:var(--lf-pink)}.lf-card--pink .lf-btn{border-color:var(--lf-pink);color:var(--lf-pink)}
.lf-card--green{background:linear-gradient(#F4F7F0,#fff 60%)}.lf-card--green .lf-card__kicker{color:var(--lf-green)}.lf-card--green .lf-btn{border-color:var(--lf-green);color:var(--lf-green)}
.lf-card--blue{background:linear-gradient(#F3F6FC,#fff 60%)}.lf-card--blue .lf-card__kicker{color:var(--lf-blue)}.lf-card--blue .lf-btn{border-color:var(--lf-blue);color:var(--lf-blue)}
.lf-card--orange{background:linear-gradient(#FEF6EE,#fff 60%)}.lf-card--orange .lf-card__kicker{color:var(--lf-orange)}.lf-card--orange .lf-btn{border-color:var(--lf-orange);color:var(--lf-orange)}
.lf-card--yellow{background:linear-gradient(#FEFAEE,#fff 60%)}.lf-card--yellow .lf-card__kicker{color:#C98A00}.lf-card--yellow .lf-btn{border-color:#C98A00;color:#C98A00}
.lf-card__absorb{font-size:.85rem;color:var(--lf-primary);font-weight:700;padding-bottom:10px}
.lf-mini{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.lf-mini a{text-decoration:none;color:var(--lf-text);text-align:center;font-size:.95rem;font-weight:600}
.lf-mini img{width:100%;aspect-ratio:1;object-fit:contain;padding:8px;border-radius:16px;background:var(--lf-bg);margin-bottom:8px}
/* banner */
.lf-banner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;background:linear-gradient(90deg,#EAF3FF,#F7FAFF);border-radius:24px;padding:32px 40px}
.lf-banner__t{font-size:1.5rem;font-weight:800;margin-bottom:6px}.lf-banner__s{color:var(--lf-muted)}
/* hub */
.lf-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* ---------- responsive ---------- */
@media(max-width:1024px){
  .lf-cards--5,.lf-cards--6{grid-template-columns:repeat(3,1fr)}.lf-cards--4,.lf-feat--4,.lf-steps,.lf-cmp--4{grid-template-columns:repeat(2,1fr)}
  .lf-mini{grid-template-columns:repeat(3,1fr)}.lf-phero{gap:28px}
}
@media(max-width:767px){
  .lf-br{display:none}
  .lf-sec__title{font-size:1.5rem}.lf-phero{grid-template-columns:1fr;gap:20px}.lf-phero__name{font-size:1.75rem}.lf-phero__tag{font-size:1rem}.lf-phero__absorb b{font-size:1.6rem}
  .lf-reco{grid-template-columns:1fr;padding:26px 22px}.lf-reco__img{display:none}
  .lf-cmp--2,.lf-cmp--3,.lf-cmp--4,.lf-feat--4,.lf-feat--3,.lf-steps,.lf-finder,.lf-cards--5,.lf-cards--4,.lf-cards--3,.lf-cards--6,.lf-hub{grid-template-columns:1fr}
  .lf-cards--5,.lf-cards--4,.lf-cards--6{grid-template-columns:repeat(2,1fr)}.lf-mini{grid-template-columns:repeat(2,1fr)}
  .lf-banner{grid-template-columns:1fr;padding:24px}.lf-table{font-size:.92rem}.lf-table tbody th{width:110px;padding-left:12px}
  .lf-card__kicker{font-size:1rem}.lf-card__img img{max-width:130px}
}
/* ---------- home hero ---------- */
.lf-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center;min-height:520px}
.lf-hero__title{font-size:3.2rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:18px}
.lf-hero__brand{display:block;color:var(--lf-primary);margin-top:8px}
.lf-hero__sub{font-size:1.15rem;color:#3d4452;line-height:1.7;margin-bottom:28px}
.lf-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.lf-hero__img img{width:100%;height:auto;display:block}
.lf-extras{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}
.lf-extra{display:flex;align-items:center;gap:16px;padding:14px 20px;border-radius:16px;background:var(--lf-bg);text-decoration:none;color:var(--lf-text);border:1px solid var(--lf-line)}
.lf-extra img{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#fff}
.lf-extra span{font-size:.95rem;color:#3d4452}.lf-extra b{display:block;color:var(--lf-primary);font-size:1.05rem;margin-top:2px}
.lf-card__names{display:flex;justify-content:center;gap:14px}.lf-card__names span{font-size:.92rem}
.lf-card--pink .lf-card__names,.lf-card .lf-card__names{font-weight:700}
.lf-hubgroup{margin-bottom:56px}.lf-hubgroup__head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}.lf-hubgroup__sub{color:var(--lf-muted)}
a.lf-card{text-decoration:none;color:inherit}
/* FAQ page layout */
.lf-faqpage{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
.lf-side{display:grid;gap:16px;position:sticky;top:100px}
.lf-side__card{background:#fff;border:1px solid var(--lf-line);border-radius:18px;padding:24px}
.lf-side__card h3{font-size:1.1rem;margin-bottom:8px}.lf-side__card p{color:var(--lf-muted);font-size:.92rem;margin-bottom:14px;line-height:1.6}
.lf-side__row{padding:12px 0;border-bottom:1px solid var(--lf-line)}.lf-side__row:last-child{border:0}
.lf-side__label{display:block;font-size:.85rem;color:var(--lf-muted)}.lf-side__row b{font-size:1.15rem;color:var(--lf-primary)}.lf-side__row small{display:block;color:var(--lf-muted)}
.lf-pagehero{padding:56px 0 40px}.lf-pagehero h1{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}.lf-pagehero p{color:#3d4452;font-size:1.1rem;line-height:1.7}
@media(max-width:1024px){.lf-hero{grid-template-columns:1fr}.lf-hero__title{font-size:2.4rem}.lf-faqpage{grid-template-columns:1fr}.lf-side{position:static}}
@media(max-width:767px){.lf-hero{min-height:0;gap:20px}.lf-hero__title{font-size:2rem}.lf-extras{grid-template-columns:1fr}.lf-pagehero h1{font-size:1.8rem}.lf-hubgroup__head{flex-direction:column;gap:4px}}
/* ---------- youtube ---------- */
.lf-yt{display:grid;gap:18px}
.lf-yt--portrait{grid-template-columns:repeat(4,1fr)}.lf-yt--landscape{grid-template-columns:repeat(2,1fr)}
.lf-yt__item{display:block;text-decoration:none;color:var(--lf-text)}
.lf-yt__thumb{position:relative;display:block;border-radius:16px;overflow:hidden;background:#000}
.lf-yt--portrait .lf-yt__thumb{aspect-ratio:9/16}.lf-yt--landscape .lf-yt__thumb{aspect-ratio:16/9}
.lf-yt__thumb img,.lf-yt__thumb iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.lf-yt__play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(0,0,0,.55) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M8 5v14l11-7z'/></svg>") center/26px no-repeat;transition:.15s}
.lf-yt__item:hover .lf-yt__play{background-color:#E6001A}.lf-yt__item.is-playing .lf-yt__play{display:none}
.lf-yt__title{display:block;margin-top:10px;font-size:.95rem;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:767px){.lf-yt--portrait{grid-template-columns:repeat(2,1fr)}.lf-yt--landscape{grid-template-columns:1fr}}
