/* ==============================================================
 * HC JOYN MAINPAGE - Footer Section
 *
 * Desktop-only. Three background variants (dark / bg / white) automatically
 * adjust text colors. Layout: brand column (logo + desc + social) +
 * N link columns + optional bottom bar with copyright + legal + company info.
 * ============================================================== */

.hcjm-footer{
  display:none;
}

@media (min-width:1024px){
  .hcjm-footer{
    display:block;
  }

  /* ---- BACKGROUND VARIANTS ---- */
  .hcjm-footer.is-bg-dark{
    background:#0F1024;
    color:rgba(255,255,255,.7);
  }
  .hcjm-footer.is-bg-bg{
    background:var(--hcjm-bg);
    color:var(--hcjm-text-sub);
    border-top:1px solid var(--hcjm-border);
  }
  .hcjm-footer.is-bg-white{
    background:#fff;
    color:var(--hcjm-text-sub);
    border-top:1px solid var(--hcjm-border);
  }
  .hcjm-footer.has-top-border.is-bg-dark{
    border-top:1px solid rgba(255,255,255,.08);
  }

  /* ---- PADDING VARIANTS ---- */
  .hcjm-footer.is-padding-small  { padding:32px 0 24px; }
  .hcjm-footer.is-padding-medium { padding:56px 0 32px; }
  .hcjm-footer.is-padding-large  { padding:72px 0 36px; }

  /* ---- HIDE ON MYPAGE VIEW (통합 숏코드 메인 페이지는 예외) ---- */
  body[data-hcjm-view="mypage"]:not(:has([data-hcjm-integrated="1"])) .hcjm-footer{display:none;}

  /* ==============================================================
   * MAIN GRID
   * ============================================================== */
  .hcjm-footer-grid{
    display:grid;
    grid-template-columns:repeat(var(--hcjm-footer-cols, 4), 1fr);
    gap:32px;
    margin-bottom:48px;
  }

  /* ---- Brand column (always wider) ---- */
  .hcjm-footer-brand{
    grid-column:span 1;
  }
  /* Make brand column visually wider — first column gets more space */
  .hcjm-footer-grid > .hcjm-footer-brand{
    padding-right:24px;
  }

  .hcjm-footer-logo{
    display:inline-flex;
    align-items:center;
    font-size:24px;
    font-weight:900;
    letter-spacing:-1px;
    color:inherit;
    text-decoration:none;
    margin-bottom:14px;
  }
  .hcjm-footer.is-bg-dark .hcjm-footer-logo{color:#fff;}
  .hcjm-footer.is-bg-bg   .hcjm-footer-logo,
  .hcjm-footer.is-bg-white .hcjm-footer-logo{color:var(--hcjm-text);}
  .hcjm-footer-logo span{color:var(--hcjm-primary-light);}
  .hcjm-footer.is-bg-bg .hcjm-footer-logo span,
  .hcjm-footer.is-bg-white .hcjm-footer-logo span{color:var(--hcjm-primary);}

  .hcjm-footer-logo-img{
    max-height:36px;
    width:auto;
    display:block;
  }

  .hcjm-footer-desc{
    margin:0 0 22px;
    font-size:13px;
    line-height:1.7;
    font-weight:500;
    opacity:.88;
  }

  /* ---- Social icons ---- */
  .hcjm-footer-social{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }
  .hcjm-footer-social-btn{
    width:36px; height:36px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.85);
    border-radius:10px;
    font-size:18px;
    text-decoration:none;
    transition:all var(--hcjm-dur-fast) ease;
  }
  .hcjm-footer-social-btn:hover{
    background:var(--hcjm-primary);
    color:#fff;
    transform:translateY(-2px);
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-social-btn,
  .hcjm-footer.is-bg-white .hcjm-footer-social-btn{
    background:var(--hcjm-bg);
    color:var(--hcjm-text-sub);
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-social-btn:hover,
  .hcjm-footer.is-bg-white .hcjm-footer-social-btn:hover{
    background:var(--hcjm-primary);
    color:#fff;
  }

  /* ---- Link columns ---- */
  .hcjm-footer-col h4{
    margin:0 0 16px;
    font-size:14px;
    font-weight:800;
    letter-spacing:-0.2px;
    color:#fff;
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-col h4,
  .hcjm-footer.is-bg-white .hcjm-footer-col h4{
    color:var(--hcjm-text);
  }

  .hcjm-footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:11px;
  }
  .hcjm-footer-col li{margin:0;}
  .hcjm-footer-col a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:inherit;
    text-decoration:none;
    font-size:13.5px;
    font-weight:500;
    opacity:.78;
    transition:all var(--hcjm-dur-fast) ease;
  }
  .hcjm-footer-col a:hover{
    opacity:1;
    color:#fff;
    transform:translateX(2px);
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-col a:hover,
  .hcjm-footer.is-bg-white .hcjm-footer-col a:hover{
    color:var(--hcjm-primary);
  }

  .hcjm-footer-link-badge{
    display:inline-block;
    padding:1px 6px;
    background:var(--hcjm-live);
    color:#fff;
    border-radius:4px;
    font-size:9.5px;
    font-weight:900;
    letter-spacing:.2px;
    line-height:1.4;
    vertical-align:1px;
  }

  /* ==============================================================
   * BOTTOM BAR
   * ============================================================== */
  .hcjm-footer-bottom{
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-bottom,
  .hcjm-footer.is-bg-white .hcjm-footer-bottom{
    border-top-color:var(--hcjm-border);
  }

  .hcjm-footer-bottom-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
  }

  .hcjm-footer-copy{
    margin:0;
    font-size:12.5px;
    opacity:.7;
    font-weight:500;
  }

  .hcjm-footer-legal{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }
  .hcjm-footer-legal li{margin:0;}
  .hcjm-footer-legal a{
    color:inherit;
    text-decoration:none;
    font-size:12.5px;
    font-weight:600;
    opacity:.78;
    transition:opacity var(--hcjm-dur-fast) ease;
  }
  .hcjm-footer-legal a:hover{opacity:1; color:#fff;}
  .hcjm-footer.is-bg-bg .hcjm-footer-legal a:hover,
  .hcjm-footer.is-bg-white .hcjm-footer-legal a:hover{color:var(--hcjm-primary);}

  .hcjm-footer-legal a.is-emphasized{
    font-weight:800;
    color:#fff;
    opacity:1;
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-legal a.is-emphasized,
  .hcjm-footer.is-bg-white .hcjm-footer-legal a.is-emphasized{
    color:var(--hcjm-text);
  }

  /* Company info (Korean B2C info) */
  .hcjm-footer-company{
    margin:20px 0 0;
    font-size:11.5px;
    line-height:1.7;
    opacity:.55;
    font-weight:500;
  }

  /* App download (mainpage-mini mpf2-app 스타일) */
  .hcjm-footer-app-wrap{
    margin:0 0 20px;
  }
  .hcjm-footer-app-label{
    margin:0 0 10px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    opacity:.75;
  }
  .hcjm-footer-apps{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .hcjm-footer-app{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    background:rgba(255,255,255,.12);
    color:#fff;
    border:1px solid rgba(255,255,255,.35);
    border-radius:8px;
    text-decoration:none;
    transition:background .2s ease, transform .2s ease, border-color .2s ease;
  }
  .hcjm-footer-app:hover{
    background:rgba(255,255,255,.2);
    border-color:rgba(255,255,255,.5);
    transform:translateY(-2px);
    color:#fff;
  }
  .hcjm-footer-app svg{
    width:22px;
    height:22px;
    flex-shrink:0;
  }
  .hcjm-footer-app > span{
    display:flex;
    flex-direction:column;
    line-height:1.2;
  }
  .hcjm-footer-app-sm{
    font-size:9px;
    opacity:.85;
  }
  .hcjm-footer-app-lg{
    font-size:14px;
    font-weight:600;
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-app,
  .hcjm-footer.is-bg-white .hcjm-footer-app{
    background:rgba(15,16,36,.06);
    color:var(--hcjm-text);
    border-color:var(--hcjm-border);
  }
  .hcjm-footer.is-bg-bg .hcjm-footer-app:hover,
  .hcjm-footer.is-bg-white .hcjm-footer-app:hover{
    background:var(--hcjm-primary-soft);
    border-color:var(--hcjm-primary);
    color:var(--hcjm-primary);
  }

  /* ==============================================================
   * NARROW DESKTOP TWEAKS
   * ============================================================== */
  @media (max-width:1199px){
    .hcjm-footer.is-padding-large  { padding:56px 0 28px; }
    .hcjm-footer-grid{gap:24px; margin-bottom:36px;}
    .hcjm-footer-grid > .hcjm-footer-brand{padding-right:0;}

    /* On narrower screens, collapse to 2-col with brand spanning full width */
    .hcjm-footer-grid{
      grid-template-columns:repeat(3, 1fr);
    }
    .hcjm-footer-brand{
      grid-column:span 3;
      margin-bottom:8px;
      padding-bottom:24px;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .hcjm-footer.is-bg-bg .hcjm-footer-brand,
    .hcjm-footer.is-bg-white .hcjm-footer-brand{
      border-bottom-color:var(--hcjm-border);
    }
  }
}

/* ==============================================================
 * MOBILE FOOTER — 로고·회사정보·앱·저작권 (탭바 위, 간단 레이아웃)
 * ============================================================== */
.hcjm-footer-mobile{
  display:block;
  background:#0F1024;
  color:rgba(255,255,255,.88);
  border-top:1px solid rgba(255,255,255,.12);
  padding:16px 16px calc(72px + env(safe-area-inset-bottom, 0px));
  margin-bottom:0;
}

body[data-hcjm-view="mypage"]:not(:has([data-hcjm-integrated="1"])) .hcjm-footer-mobile{
  display:none;
}

.hcjm-footer-mobile-inner{
  max-width:430px;
  margin:0 auto;
  text-align:center;
}

.hcjm-footer-mobile-brand{
  margin-bottom:10px;
}

.hcjm-footer-mobile .hcjm-footer-logo{
  display:inline-block;
  margin-bottom:6px;
  text-decoration:none;
  color:inherit;
}

.hcjm-footer-mobile .hcjm-footer-logo-img{
  display:block;
  max-height:42px;
  width:auto;
  margin:0 auto;
}

.hcjm-footer-mobile .hcjm-footer-logo:not(:has(img)){
  font-size:1.35em;
}

.hcjm-footer-mobile-name{
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  color:rgba(255,255,255,.95);
}

.hcjm-footer-mobile-info{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,.82);
  word-break:keep-all;
}

.hcjm-footer-mobile .hcjm-footer-app-label{
  margin:0 0 8px;
  font-size:12px;
  font-weight:600;
  color:rgba(255,255,255,.75);
  text-transform:none;
  letter-spacing:0;
}

.hcjm-footer-apps--compact{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin:0 0 4px;
}

.hcjm-footer-app-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 11px;
  font-size:11.5px;
  font-weight:600;
  line-height:1;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.9);
  text-decoration:none;
  background:rgba(255,255,255,.06);
  transition:background .15s ease, border-color .15s ease;
}

.hcjm-footer-app-chip i{
  font-size:14px;
  line-height:1;
}

.hcjm-footer-app-chip:hover,
.hcjm-footer-app-chip:focus-visible{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.35);
  color:#fff;
}

.hcjm-footer-mobile-copy{
  margin:12px 0 0;
  font-size:10.5px;
  line-height:1.45;
  color:rgba(255,255,255,.45);
}

@media (min-width:1024px){
  .hcjm-footer-mobile{
    display:none !important;
  }
}
