:root{--primary:#4bb1fd;--primary-2:#2aa6fb;--ink:#0b1220;--muted:#6b7280;--bg:#fff;--bg-alt:#f6fbff;--line:rgba(10,20,40,.10);--radius:18px;--shadow:0 10px 30px rgba(10,20,40,.10)}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Pretendard Variable","Pretendard","Noto Sans KR","Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.container{width:min(1200px,92vw);margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:10px;background:#000;color:#fff;padding:8px 10px;border-radius:8px}
.skip-link:focus{left:10px;z-index:9999}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:14px;background:var(--primary);color:#fff;border:1px solid transparent;font-weight:700;box-shadow:0 10px 20px rgba(75,177,253,.25);transition:.2s ease}
.btn:hover{transform:translateY(-1px);background:var(--primary-2)}.btn:active{transform:translateY(0)}
.btn--ghost{background:transparent;color:var(--primary);border-color:rgba(75,177,253,.35);box-shadow:none}
.btn--ghost:hover{background:rgba(75,177,253,.10)}.btn--block{width:100%}
.site-header{position:relative;z-index:50}
.navwrap{position:sticky;top:0;z-index:1000;backdrop-filter:blur(10px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
.navwrap.is-stuck{background:rgba(255,255,255,.98);box-shadow:0 10px 30px rgba(10,20,40,.08)}
.navwrap__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px}
.brand{display:flex;align-items:center;gap:10px}
.brand__mark{width:38px;height:38px;border-radius:14px;background:var(--primary);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 10px 20px rgba(75,177,253,.25)}
.brand__text{font-weight:900;letter-spacing:-.3px}
.gnb{display:flex;align-items:center;gap:14px}.gnb__quick{display:flex;align-items:center;gap:10px}
.gnb__hoverZone{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border-radius:14px;border:1px solid rgba(75,177,253,.35);background:#fff;font-weight:900;cursor:pointer;user-select:none}
.gnb__allIcon{width:12px;height:12px;border:2px solid var(--primary);border-left:0;border-top:0;transform:rotate(45deg);margin-top:-2px}
.mnavBtn{display:none;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#fff}
.mnavBtn__bar{display:block;width:18px;height:2px;margin:4px auto;background:var(--ink);border-radius:2px}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.2s ease}
.mega.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
.mega__inner{padding:22px 0 26px}
.mega__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mega__title{font-size:18px;font-weight:900}
.mega__close{width:40px;height:40px;border-radius:14px;border:1px solid var(--line);background:#fff;cursor:pointer}
.mega__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.megaCol{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:linear-gradient(180deg,rgba(75,177,253,.06),#fff)}
.megaCol__top{font-weight:900;display:block;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid rgba(75,177,253,.25)}
.megaCol__sub{list-style:none;margin:10px 0 0;padding:0}
.megaCol__sub a{display:block;padding:8px 6px;color:var(--muted);border-radius:10px}
.megaCol__sub a:hover{background:rgba(75,177,253,.10);color:var(--ink)}
.megaCol__hint{margin-top:10px;color:var(--muted);font-size:13px}
.mega__cta{display:flex;gap:10px;margin-top:16px}
.mega__empty{padding:20px;border:1px dashed var(--line);border-radius:var(--radius)}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:80}
.mnav{position:fixed;top:0;right:0;height:100%;width:min(360px,86vw);background:#fff;z-index:90;transform:translateX(110%);transition:.25s ease;box-shadow:var(--shadow)}
.mnav.is-open{transform:translateX(0)}
.mnav__top{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}
.mnav__brand{display:flex;align-items:center;gap:10px}
.mnav__close{width:40px;height:40px;border-radius:14px;border:1px solid var(--line);background:#fff}
.mnav__body{padding:16px}
.mnav__cta{display:grid;gap:10px;margin-bottom:16px}
.mnav__menu{border-top:1px solid var(--line);padding-top:12px}
.accItem{border-bottom:1px solid var(--line)}
.accBtn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border:0;background:transparent;font-weight:900;font-size:15px}
.accIcon{width:10px;height:10px;border:2px solid var(--muted);border-left:0;border-top:0;transform:rotate(45deg);transition:.2s ease}
.accItem.is-open .accIcon{transform:rotate(-135deg);border-color:var(--primary)}
.accPanel{display:none;padding:0 0 12px}.accItem.is-open .accPanel{display:block}
.accLink{display:block;padding:10px 8px;color:var(--muted);border-radius:12px}
.accLink:hover{background:rgba(75,177,253,.10);color:var(--ink)}
.accLink--top{color:var(--primary);font-weight:800}
.site-main{min-height:60vh}
.hero__slider{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.slides{position:relative;height:520px}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;pointer-events:none;transition:.5s ease}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,32,.72),rgba(11,18,32,.10))}
.slide.is-active{opacity:1;pointer-events:auto}
.slide__inner{position:relative;z-index:2;height:520px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.slide__eyebrow{font-weight:900;opacity:.92}
.slide__title{margin:10px 0;font-size:44px;line-height:1.12;letter-spacing:-.6px}
.slide__desc{max-width:560px;opacity:.9;margin:0 0 18px}
.slide__actions{display:flex;gap:10px;flex-wrap:wrap}
.navBtn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:16px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:26px;z-index:5;cursor:pointer;transition:.2s ease}
.navBtn:hover{background:rgba(255,255,255,.20)}.navBtn--prev{left:16px}.navBtn--next{right:16px}
.dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:8px;justify-content:center;z-index:6}
.dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.22);cursor:pointer}
.dot.is-active{background:var(--primary);border-color:transparent;box-shadow:0 10px 20px rgba(75,177,253,.25)}
.hero__below{background:linear-gradient(180deg,rgba(75,177,253,.10),#fff);padding:14px 0 18px;border-bottom:1px solid var(--line)}
.belowBar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(75,177,253,.18);background:#fff;border-radius:calc(var(--radius) + 6px);padding:14px 16px;box-shadow:0 10px 30px rgba(10,20,40,.06)}
.belowBar__left{display:flex;flex-direction:column;gap:4px}
.belowBar__title{font-size:15px}.belowBar__desc{font-size:13px;color:var(--muted)}
.belowBar__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.miniAction{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:13px}
.miniAction:hover{background:rgba(75,177,253,.08);border-color:rgba(75,177,253,.25)}
.miniAction--primary{background:var(--primary);color:#fff;border-color:transparent;box-shadow:0 10px 20px rgba(75,177,253,.22)}
.miniAction--primary:hover{background:var(--primary-2)}
.dotIcon{width:8px;height:8px;border-radius:999px;background:var(--primary);box-shadow:0 6px 14px rgba(75,177,253,.35)}
.section{padding:54px 0}.section--alt{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sectionHead{margin-bottom:16px}.sectionTitle{margin:0;font-size:26px;letter-spacing:-.4px}.sectionDesc{margin:6px 0 0;color:var(--muted)}
.infoCard{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:0 10px 30px rgba(10,20,40,.06)}
.productGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.productCard{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(10,20,40,.06);transition:.2s ease}
.productCard:hover{transform:translateY(-2px)}
.productCard__thumb{height:120px;background:linear-gradient(135deg,rgba(75,177,253,.55),rgba(75,177,253,.12))}
.productCard__body{padding:14px}.productCard__body strong{display:block}.productCard__body span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.centerCta{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ctaBox{border:1px solid rgba(75,177,253,.25);background:linear-gradient(135deg,rgba(75,177,253,.16),#fff);border-radius:calc(var(--radius) + 6px);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 10px 30px rgba(10,20,40,.06)}
.ctaBox h2{margin:0;font-size:22px}.ctaBox p{margin:6px 0 0;color:var(--muted)}.ctaBox__actions{display:flex;gap:10px;flex-wrap:wrap}
.tableCard{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 30px rgba(10,20,40,.06);overflow:hidden}
.priceTable{width:100%;border-collapse:collapse}
.priceTable th,.priceTable td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
.priceTable thead th{background:rgba(75,177,253,.08);font-weight:900}
.priceTable .right{text-align:right}.priceTable .strong{font-weight:900}.priceTable .muted{color:var(--muted)}
.site-footer{border-top:1px solid var(--line);background:#fff}
.footer__inner{display:flex;gap:18px;justify-content:space-between;padding:28px 0}
.footer__desc{color:var(--muted);margin:10px 0 0;max-width:420px}
.footer__cols{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.footerCol strong{display:block;margin-bottom:8px}
.footerCol a,.footerCol span{display:block;color:var(--muted);margin:6px 0}
.footerCol a:hover{color:var(--ink)}
.footer__bottom{border-top:1px solid var(--line);background:rgba(75,177,253,.04)}
.footer__bottomInner{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0}
.footer__miniLinks{display:flex;gap:10px}
.toTop{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s ease}
.toTop.is-show{opacity:1;transform:translateY(0);pointer-events:auto}
@media (max-width:1000px){.mega__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.productGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.slides,.slide__inner{height:460px}.slide__title{font-size:34px}.gnb__quick{display:none}}
@media (max-width:720px){.gnb{display:none}.mnavBtn{display:block}.slides,.slide__inner{height:420px}.slide__title{font-size:30px}.navBtn{display:none}.ctaBox{flex-direction:column;align-items:flex-start}.belowBar{flex-direction:column;align-items:flex-start}.belowBar__actions{width:100%;justify-content:flex-start}.miniAction{width:100%;justify-content:flex-start}}


/* ===== PATCH v2: top menu + mega flicker + mobile overlap + button refresh ===== */

/* Top menu (use gnuboard registered menu names) */
.gnbMenu{
  display:flex;
  align-items:center;
  gap:18px;
  list-style:none;
  margin:0;
  padding:0;
}
.gnbMenu__link{
  display:inline-flex;
  align-items:center;
  height:44px;
  padding:0 10px;
  border-radius:14px;
  font-weight:900;
  color:var(--ink);
}
.gnbMenu__link:hover{
  background:rgba(75,177,253,.10);
  color:var(--ink);
}

/* Button refresh (cleaner, less heavy) */
.btn{
  border-radius:16px;
  padding:11px 14px;
  font-weight:900;
  box-shadow:none;
}
.btn:hover{transform:none}
.btn--ghost{
  background:#fff;
  border-color:rgba(75,177,253,.30);
}
.btn--ghost:hover{
  background:rgba(75,177,253,.08);
}

/* Mega menu: fixed under header to eliminate hover gap/flicker */
.mega{
  position:fixed;
  left:0; right:0;
  top:72px; /* desktop header height approximation */
  z-index:1200;
  transform:translateY(-10px);
}
.mega.is-open{transform:translateY(0)}
.backdrop{z-index:1100}

/* When header height changes slightly, keep mega aligned */
@media (max-width: 1000px){
  .mega{ top:68px; }
}
@media (max-width: 720px){
  /* mobile: mega menu off (use drawer only) */
  .mega{ display:none !important; }
  .backdrop{ z-index:1100; }
  .mnav{
    background:#fff;
    z-index:1300;
  }
}

/* Prevent transparent overlap issues (ensure solid layers) */
.mnav, .mnav *{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}


/* ===== PATCH v3: fixed header always + no-flicker mega + larger typography + solid mobile drawer + footer cleanup ===== */
:root{--header-h:72px}

/* Header always fixed */
.navwrap{
  position:fixed !important;
  top:0; left:0; right:0;
}
.site-main{
  padding-top:var(--header-h);
}

/* Bigger logo/menu fonts */
.brand__mark{width:42px;height:42px}
.brand__text{font-size:20px}
.gnbMenu__link{font-size:16px}

/* Mega menu: CSS hover open (primary) for no flicker */
.mega{
  top:var(--header-h);
  opacity:0;
  pointer-events:none;
  transform:translateY(-10px);
  transition:opacity .18s ease, transform .18s ease;
}
/* Keep open when hovering header area OR mega itself */
.navwrap:hover .mega,
.mega:hover{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

/* Backdrop visibility controlled by class */
.backdrop.is-show{display:block !important}
.backdrop[hidden]{display:none !important}

/* Mobile drawer solid background (no transparency) */
@media (max-width: 720px){
  .mnav, .mnav__top, .mnav__body{background:#fff !important;}
  .mnav{opacity:1 !important;}
}

/* Footer columns now 2 */
.footer__cols{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}


/* ===== PATCH v4: Typography refresh (cleaner, lighter, bigger) ===== */

/* Clean font stack (Pretendard first) + comfortable base size */
body{
  font-family:"Pretendard Variable","Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-size:17px;
  letter-spacing:-0.2px;
}

/* Lighter default weights */
.brand__text{font-weight:700 !important;}
.gnbMenu__link{font-weight:700 !important;}
.btn{font-weight:700 !important;}
.sectionTitle{font-weight:800 !important;}
.sectionDesc{font-weight:400 !important;}
.productCard__body strong{font-weight:700 !important;}

/* Header taller + roomier */
:root{--header-h:84px;}
.navwrap__inner{padding:18px 0 !important;}
.brand__mark{width:46px;height:46px;border-radius:16px}
.brand__text{font-size:22px}
.gnbMenu{gap:22px}
.gnbMenu__link{
  height:52px;
  padding:0 14px;
  font-size:17px;
  border-radius:16px;
}

/* Buttons a bit bigger & cleaner */
.btn{
  padding:12px 16px;
  border-radius:16px;
}
.btn--ghost{background:#fff !important;}

/* Hero typography more “open” */
.slide__title{font-size:48px !important; letter-spacing:-0.6px;}
.slide__desc{font-size:17px;}
.section{padding:62px 0}

/* Mobile adjust */
@media (max-width:720px){
  body{font-size:16px;}
  :root{--header-h:76px;}
  .brand__text{font-size:20px}
  .slides,.slide__inner{height:410px}
  .slide__title{font-size:32px !important;}
}


/* ===== PATCH v5: Button typography & alignment refinement ===== */
.btn{
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:-0.1px;
  padding:10px 14px !important;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.btn--ghost{
  font-size:13.5px !important;
  padding:9px 13px !important;
}
.miniAction{
  font-size:13px !important;
  font-weight:600 !important;
  padding:9px 12px !important;
  line-height:1;
  align-items:center;
}
.slide__actions .btn{
  font-size:14px !important;
  padding:11px 15px !important;
}
@media (max-width:720px){
  .btn{
    font-size:13.5px !important;
    padding:9px 12px !important;
  }
  .miniAction{
    font-size:13px !important;
  }
}


/* ===== PATCH v6: Bigger but clean buttons ===== */
.btn{
  font-size:15.5px !important;
  font-weight:600 !important;
  padding:14px 20px !important;
  border-radius:18px;
}
.btn--ghost{
  font-size:15px !important;
  padding:13px 19px !important;
}
.miniAction{
  font-size:14.5px !important;
  padding:12px 18px !important;
}
.slide__actions .btn{
  font-size:16px !important;
  padding:15px 22px !important;
}

@media (max-width:720px){
  .btn{
    font-size:14.5px !important;
    padding:13px 18px !important;
  }
  .miniAction{
    font-size:14px !important;
    padding:12px 16px !important;
  }
}


/* ===== PATCH v7: Noto Sans KR base + taller menu + taller hero ===== */

/* Base font switch */
body{
  font-family:"Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size:17px;
  letter-spacing:-0.1px;
}

/* Header & menu height up */
:root{--header-h:96px;}

.navwrap__inner{
  padding:22px 0 !important;
}

.brand__mark{
  width:48px;
  height:48px;
}

.brand__text{
  font-size:23px;
  font-weight:700;
}

.gnbMenu{
  gap:26px;
}

.gnbMenu__link{
  height:60px;
  padding:0 18px;
  font-size:18px;
  font-weight:600;
}

/* Hero slider height up */
.slides,
.slide__inner{
  height:580px;
}

.slide__title{
  font-size:52px;
}

@media (max-width:720px){
  :root{--header-h:82px;}
  .brand__text{font-size:20px;}
  .gnbMenu__link{
    height:54px;
    font-size:16px;
  }
  .slides,
  .slide__inner{
    height:460px;
  }
  .slide__title{
    font-size:34px;
  }
}


/* ===== PATCH v8: header menu center + login icon + smoother slider ===== */

/* Center menu in desktop header (quick tools pinned right) */
.navwrap__inner{
  display:flex !important;
}
.gnb{
  flex:1;
  position:relative;
  justify-content:center;
}
.gnbMenu{
  justify-content:center;
}
.gnb__quick{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:10px;
}

/* Login icon button */
.iconBtn{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(75,177,253,.25);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.iconBtn svg{
  width:22px;
  height:22px;
  fill:var(--primary);
}
.iconBtn:hover{background:rgba(75,177,253,.08)}

/* Smoother slide transition */
.slide{
  transition:opacity .85s cubic-bezier(.22,.61,.36,1);
}


/* ===== PATCH v9: PC-only top consult + sharper menu weight ===== */
.gnbMenu__link{
  font-weight:500 !important;
  letter-spacing:-0.05px;
}
.topConsult{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:16px;
  border:1px solid rgba(75,177,253,.20);
  background:#fff;
  line-height:1;
  white-space:nowrap;
}
.topConsult__label{
  font-size:12px;
  color:var(--muted);
  font-weight:500;
}
.topConsult__num{
  font-size:15px;
  color:var(--ink);
  font-weight:700;
}
.topConsult:hover{background:rgba(75,177,253,.06)}
@media (max-width: 1000px){
  .gnbMenu__link{font-weight:500 !important;}
}
@media (max-width: 720px){
  .topConsult{display:none !important;} /* PC에서만 표시 */
}


/* ===== PATCH v10: fixed top consult at far top-right + mega submenu as one clean box ===== */

/* 상담문의 1544-1544 : monitor far top-right (desktop only) */
.topConsult{
  position:fixed !important;
  top:12px;
  right:12px;
  z-index:3000;
  box-shadow:0 10px 30px rgba(10,20,40,.10);
}
@media (max-width: 720px){
  .topConsult{display:none !important;}
}

/* Mega submenu: single box container */
.mega__inner{
  padding-top:18px;
}
.mega__grid{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 30px rgba(10,20,40,.08);
  gap:0;
}
.megaCol{
  border:0 !important;
  background:transparent !important;
  padding:10px 12px !important;
  border-radius:0 !important;
}
.megaCol + .megaCol{
  border-left:1px solid var(--line);
}
.megaCol__top{
  background:transparent !important;
  border:0 !important;
  padding:6px 0 !important;
  border-radius:0 !important;
  font-weight:700;
}
.megaCol__sub{
  margin-top:8px !important;
}
.megaCol__sub a{
  padding:8px 10px !important;
  border-radius:12px !important;
}
.megaCol__sub a:hover{
  background:rgba(75,177,253,.08) !important;
}

/* Make mega head + close simpler */
.mega__head{margin-bottom:10px}
.mega__close{border-radius:14px}

/* Mobile: keep drawer priority */
@media (max-width: 1000px){
  .mega__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .megaCol + .megaCol{border-left:0;}
  .megaCol{border-top:1px solid var(--line) !important;}
  .megaCol:nth-child(-n+2){border-top:0 !important;}
}


/* ===== PATCH v11: top consult accent button (right of login) ===== */
.topConsult{
  position:static !important;
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  margin-left:8px;
  padding:10px 16px;
  border-radius:18px;
  border:0;
  background:#ff6f4d; /* coral */
  color:#fff;
  box-shadow:0 8px 22px rgba(255,111,77,.35);
  z-index:3001;
}
.topConsult__label{
  color:rgba(255,255,255,.85);
  font-size:12px;
}
.topConsult__num{
  color:#fff;
  font-size:15px;
  font-weight:700;
}
.topConsult:hover{
  background:#ff5b36;
}
@media (max-width:720px){
  .topConsult{display:none !important;}
}


/* ===== PATCH v12: Mega menu style closer to preedlife.com/pc (clean full panel) ===== */
.mega{
  background:#fff;
  border-top:1px solid var(--line);
  box-shadow:0 18px 40px rgba(10,20,40,.08);
}
.mega__inner{
  max-width:1200px;
  margin:0 auto;
  padding:22px 18px 26px;
}
.mega__head{display:none;}
.mega__grid{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  gap:22px !important;
}
.megaCol{padding:0 !important;}
.megaCol + .megaCol{border-left:0 !important;}
.megaCol__top{
  font-weight:700 !important;
  font-size:15px !important;
  padding:6px 0 !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
  border-radius:0 !important;
}
.megaCol__sub{
  margin-top:10px !important;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.megaCol__sub a{
  padding:8px 0 !important;
  border-radius:0 !important;
  font-size:14px !important;
  color:rgba(0,0,0,.72) !important;
}
.megaCol__sub a:hover{
  background:transparent !important;
  color:var(--primary) !important;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Top menu underline hover like preedlife */
.gnbMenu__link{position:relative;}
.gnbMenu__link::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:10px;
  height:2px;
  background:transparent;
  border-radius:999px;
  transition:background .18s ease;
}
.gnbMenu__link:hover::after{background:var(--primary);}

/* Backdrop a bit lighter */
.backdrop{background:rgba(0,0,0,.25) !important;}

@media (max-width:720px){
  .mega{display:none !important;}
}


/* ===== PATCH v13: align 1st/2nd menu + vertical dividers + mega join button ===== */

/* Ensure gnb and mega share the same content width */
.navwrap .container,
.mega__inner{
  width:min(1200px,92vw);
}

/* Align mega grid columns with 1st menu: 1 column per top menu item (up to 6, else wrap) */
.mega__grid{
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap:0 !important;
}

/* Vertical dividers for clean separation */
.megaCol{
  position:relative;
  padding:0 18px 0 0 !important;
}
.megaCol::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:1px;
  height:100%;
  background:rgba(0,0,0,.06);
}
.megaCol:last-child::after{display:none;}

/* Submenu link alignment */
.megaCol__sub a{
  padding:8px 0 !important;
}

/* Join button under logo area (inside mega) */
.megaTop{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  padding:0 0 12px;
}
.megaJoin{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(75,177,253,.22);
  background:rgba(75,177,253,.08);
  color:var(--primary);
  font-weight:700;
  font-size:14px;
}
.megaJoin:hover{
  background:rgba(75,177,253,.14);
}

/* Only show join button when mega is open (desktop) */
.mega{padding-top:0}
.navwrap:hover .mega .megaTop{display:flex;}
.megaTop{display:none;}

@media (max-width:1000px){
  .mega__grid{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
  .megaCol::after{display:none;}
  .megaCol{padding:0 !important;}
  .megaTop{display:none !important;}
}


/* ===== PATCH v14: remove mega CTAs, align 1st/2nd menus, add boxed borders per submenu ===== */
.navwrap .container,
.mega__inner{
  width:min(1200px,92vw) !important;
}
.mega__inner{
  padding-left:0 !important;
  padding-right:0 !important;
}
.mega__grid{
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap:12px !important;
  padding:0 !important;
}
.megaCol{
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:18px !important;
  padding:14px 14px 12px !important;
  background:#fff !important;
}
.megaCol::after{display:none !important;}
.megaCol__top{
  border-bottom:1px solid rgba(0,0,0,.06) !important;
  padding:0 0 10px !important;
  margin:0 0 8px !important;
}
.megaCol__sub a{
  padding:8px 10px !important;
  border-radius:12px !important;
}
.megaCol__sub a:hover{
  background:rgba(75,177,253,.08) !important;
  text-decoration:none !important;
}
.megaTop, .megaJoin, .mega__cta{display:none !important;}


/* ===== PATCH v15: mega align with 1st menu container + square borders (no radius) ===== */

/* Keep mega background full width, but align contents to same container as header */
.mega{left:0;right:0;}
.mega__inner{
  max-width:1200px !important;
  width:92vw !important;
  margin:0 auto !important;
  padding:22px 0 26px !important; /* no side padding so left edge matches header container */
}

/* Ensure header container uses same width */
.navwrap .container{
  max-width:1200px !important;
  width:92vw !important;
}

/* Boxes: square (no rounded corners) */
.megaCol{
  border-radius:0 !important;
}
.megaCol__sub a{
  border-radius:0 !important;
}


/* ===== PATCH v16: no-flicker mega, flush under header, connected borders ===== */

/* 1) Mega 바로 아래(헤더 바로 밑) + hover 깜박임 제거 */
.navwrap{ position:fixed !important; } /* safety */
.navwrap{ overflow:visible; }
.mega{
  position:absolute !important;
  top:100% !important;  /* header 바로 아래 */
  left:0; right:0;
  transform:none !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease;
}
.navwrap:hover .mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
/* mega에 마우스 올라가도 유지(혹시 hover 트리거 밖으로 나갈 경우 대비) */
.mega:hover{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
/* backdrop는 데스크탑에서 사용 안함(깜박임/레이어 충돌 방지) */
@media (min-width:721px){
  .backdrop{ display:none !important; }
}

/* 2) 1차 메뉴 컨테이너와 2차 메뉴 컨테이너 좌우 정렬 동일 */
.navwrap .container,
.mega__inner{
  max-width:1200px !important;
  width:92vw !important;
  margin:0 auto !important;
}
.mega__inner{ padding:18px 0 22px !important; } /* 좌우 패딩 0으로 기준선 맞춤 */

/* 3) 박스 선을 '전체 연결' 형태로 (테이블처럼) */
.mega__grid{
  gap:0 !important;
  border:1px solid rgba(0,0,0,.10) !important;
}
.megaCol{
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:0 !important;
  margin:-1px 0 0 -1px;   /* border collapse */
  padding:14px 16px 12px !important;
  background:#fff !important;
}
.megaCol__top{
  border-bottom:1px solid rgba(0,0,0,.08) !important;
  padding:0 0 10px !important;
  margin:0 0 8px !important;
}
.megaCol__sub a{
  border-radius:0 !important;
  padding:8px 10px !important;
}


/* ===== PATCH v17: Mega menu like screenshot (connected grid + first column CTA) ===== */

/* Mega panel */
.mega{
  width:100%;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.12);
  box-shadow:none;
}
.mega__inner{
  max-width:1200px !important;
  width:92vw !important;
  margin:0 auto !important;
  padding:0 !important;
}

/* Connected grid with vertical separators */
.mega__grid{
  display:grid;
  grid-template-columns:1.25fr repeat(auto-fit, minmax(170px, 1fr));
  gap:0 !important;
  border-left:1px solid rgba(0,0,0,.12);
  border-right:1px solid rgba(0,0,0,.12);
}

/* Each column: no rounding, shared borders */
.megaCol{
  border:0 !important;
  border-right:1px solid rgba(0,0,0,.12) !important;
  border-radius:0 !important;
  padding:26px 22px 22px !important;
  background:transparent !important;
  min-height:260px;
}
.megaCol:last-child{
  border-right:0 !important;
}

.megaCol__top{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  font-size:18px !important;
  font-weight:700 !important;
  padding:0 0 16px !important;
  margin:0 0 18px !important;
  border-bottom:0 !important;
}
.megaCol__chev{
  font-size:18px;
  color:rgba(0,0,0,.35);
}
.megaCol__sub{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:0 !important;
}
.megaCol__sub a{
  font-size:14px !important;
  padding:0 !important;
  color:rgba(0,0,0,.78) !important;
}
.megaCol__sub a:hover{
  color:var(--primary) !important;
  text-decoration:none !important;
}

/* First column: 2-column link list + big CTA at bottom */
.megaCol--first .megaCol__sub{
  grid-template-columns:1fr 1fr;
  column-gap:26px;
  row-gap:10px;
}
.megaCta{
  margin-top:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  height:64px;
  width:100%;
  background:var(--primary);
  color:#fff;
  font-weight:700;
  font-size:16px;
  border-radius:0;
}
.megaCta__icon{
  margin-right:10px;
  opacity:.95;
}

/* Remove backdrop on desktop for stable hover */
@media (min-width:721px){
  .backdrop{display:none !important;}
}

/* Responsive */
@media (max-width:1000px){
  .mega__grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    border-left:0; border-right:0;
  }
  .megaCol{min-height:auto;}
  .megaCol--first .megaCol__sub{grid-template-columns:1fr;}
  .megaCta{height:56px;}
}
@media (max-width:720px){
  .mega{display:none !important;}
}


/* ===== PATCH v18: align mega columns to top menu (grid width synced by JS) ===== */
.mega__inner{
  display:flex;
  justify-content:center;
}
.mega__grid{
  width:auto;           /* JS sets exact width */
  max-width:100%;
  margin:0 auto;
}


/* ===== PATCH v19: avoid double-thick borders + set mega width to 1000px ===== */

/* Mega content width fixed */
.mega__grid{
  width:1000px !important;
  grid-template-columns:1.25fr repeat(auto-fit, minmax(170px, 1fr)) !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-right:0 !important; /* avoid double on last col edge */
}

/* Columns: use only left divider to prevent double borders */
.megaCol{
  border-right:0 !important;
  border-left:1px solid rgba(0,0,0,.12) !important;
}
.megaCol:first-child{
  border-left:0 !important;
}


/* ===== PATCH v20: explicit vertical dividers between specific mega columns ===== */

/* Reset: ensure outer border exists */
.mega__grid{
  border:1px solid rgba(0,0,0,.12) !important;
}

/* Give every column a left divider */
.megaCol{
  border-left:1px solid rgba(0,0,0,.12) !important;
}

/* Remove double left line on first column */
.megaCol:first-child{
  border-left:0 !important;
}

/* Also force right divider on last column (customer center right side) */
.megaCol:last-child{
  border-right:1px solid rgba(0,0,0,.12) !important;
}
