@charset "utf-8";
/* Info
 ========================================================================== */
/**
    * 1. Writer: Gyuri Son., Goun Lee. (Weaverloft Corp.)
    * 2. Production Date: 2026-03
    * 3. Client: Neopharm
 */

:root {
  --red-color: #E00719;
  --dark-red-color: #DF2023;
}

/*========== Header ==========*/
.header {position: fixed; top: 0; left:0; z-index: 999;  margin: 0 auto; height: 80px; width: 100%; margin: 0 auto; transition: .2s ease-in;transform: translateY(0);}
body:has(#main) .header {background: #fff;}
.header.scrolled-down {transform: translateY(-100%);}
.header.scrolled-up {background: #fff;border-bottom: 1px solid #f2f2f2;}
.header .header-area { display: flex; align-items: center; justify-content: center; gap:20px;  width: 100%; height: 100%;  width: calc(100% - clamp(40px,calc(80 / 1599 * 100vw), 80px)); margin: 0 auto;}
.header .header-area .brand {min-width: 168px;}
.header .header-area .brand img { width: clamp(84px,calc(168 / 1599 * 100vw), 168px);}
.header .site-nav { display:flex; gap:20px;  width: 100%; align-items: center; justify-content: center;}
.header .site-nav-link { font-weight: 500; padding: 4px 18px; letter-spacing: -3%; transition: color .2s ease-in; font-size:clamp(14px,calc(20 / 1399 * 100vw), 20px)}
.header .header-cta { margin-left: auto; display: flex; gap: 10px; }
.header .header-cta .link-button {width: clamp(120px,calc(207 / 1599 * 100vw), 207px); height: auto;  opacity: 1; border-radius: 30px; gap: 10px; padding:clamp(6px,calc(12 / 1599 * 100vw), 12px) clamp(12px,calc(28 / 1599 * 100vw), 28px); background: #333; display: flex; align-items: center; transition: background .2s ease-in;}
.header .header-cta .link-button img {width: clamp(60px,calc(130 / 1599 * 100vw), 130px); height: auto;}
.header .header-cta .link-button .header-cta-icon {width: clamp(6px,calc(12 / 1599 * 100vw), 12px); height: auto; aspect-ratio: 1/1; transition: transform .2s ease-in;}

.header .site-nav-link.active {color:#fff; background:var(--point-color);border-radius: 40px;}

@media (hover:hover) {
  .header .header-cta .link-button:hover {background: #E73100;}
  .header .header-cta .link-button:hover .header-cta-icon {transform: translate(4px, -4px);}
  .header .site-nav-link:not(.active):hover {color:var(--point-color);}
}

#sitemap {visibility: hidden; pointer-events: none;}
.hamburger-menu {display: none !important;}

/*========== Buttons ==========*/
.btn-arrow { width: 20px; height: 20px; aspect-ratio: 1/1; background: var(--green-color); display: flex;align-items: center;justify-content: center; border-radius: 50%;}
.btn-arrow svg {margin-left: 2px;}
.btn-arrow.theme-white {background: #fff;}
.btn-arrow.size-60 {width: 60px;height: 60px;}
.btn-arrow.size-28 {width: 28px; height: 28px;}

/*========== Label ==========*/
/* 태그 label 상태별 스타일 */
.contest-status.label-sm {display: flex; padding: 3px 6px; justify-content: center; align-items: center; gap: 10px; color:#fff; border-radius: 5px;}
.contest-status.status-open {background: var(--green-color);}
.contest-status.status-waiting {background: #EF6250;}
.contest-status.status-closed {background: #BBBBBB;}
.contest-status.status-result {background: var(--green-color);}
.contest-status.status-coming-soon {background: #666;}

/*========== Modal ==========*/
/* 모달 팝업 기본 스타일 */
.modal-popup {
  --modal-radius:10px;
  --modal-width:400px;
  --modal-width-narrow: 480px;
  --modal-width-wide: 780px;
  --content-padding:40px 20px 30px;
  visibility: hidden; opacity: 0; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; z-index: 9980; width: 100%; height: 100vh; height: 100dvh; background-color: rgba(0, 0, 0, 0.4); transition: none; pointer-events: none;}
.modal-popup *{word-break: keep-all;}
.modal-popup .modal-wrap { opacity: 0; max-width: var(--modal-width); width: 100%; max-height: 94vh; max-height: 94dvh; transition: opacity 0.3s, transform 0.3s; transition-timing-function: ease-in; transform: translateY(20px); }
.modal-popup .modal-icon {width: auto;}
.modal-popup .modal-content { position: relative; overflow: hidden; width: 100%; max-height: inherit; display: flex; flex-direction: column; align-items: center;  padding: var(--content-padding); background-color: #fff; box-shadow: 0 3px 20px rgba(0, 0, 0, 0.16);  border-radius:var(--modal-radius); }
.modal-popup .modal-title { font-size: 20px; font-weight: 700; line-height: 1.4; padding-bottom: 1rem;}
.modal-popup .modal-txt-wrap { padding-block: 40px 60px; overflow-y: auto; text-align: center; max-height:64vh;}
.modal-popup.basic-modal .modal-txt-wrap { padding-block: 16px 20px; }
.modal-popup .modal-desc {line-height:1.5 ; color:var(--font-color-6);}
.modal-popup .modal-close-btn { position: absolute; top:20px; right:20px; width: 20px; height: 20px; }
.modal-popup .modal-close-btn button { width: 100%; height: auto; aspect-ratio: 1/1; background: url("/atp_gcontest/front/assets/images/common/icon-close.svg") no-repeat center / cover; font-size: inherit;}
.modal-popup .modal-btn-wrap {display: flex; gap: 10px; width: 100%; justify-content: center;}
.modal-popup .modal-btn-wrap button { font-size: 14px; font-weight: 500; }
.modal-popup .modal-wrap.wide { max-width: var(--modal-width-wide); }
.modal-header { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 20px 20px 16px 20px; border-bottom: 1px solid var(--border-color-c); }
.modal-body { width: 100%; padding: 30px 30px 40px 30px; overflow-y: auto; overflow-x: hidden; }
.modal-popup *::-webkit-scrollbar { width: 6px; }
.modal-popup *::-webkit-scrollbar-thumb { border-radius: 6px; background: #BBBBC4; }
.modal-popup.basic-modal .modal-btn-wrap button { flex: 1; }
.modal-popup .modal-btn-wrap .front-btn.green { background-color: var(--point-color); color: #fff; }
.modal-popup .modal-btn-wrap .front-btn.grey { border: 1px solid var(--border-color-c); color: #333; }
.modal-popup .modal-btn-wrap .front-btn.green:hover { background: #008b37; }
.modal-popup .modal-btn-wrap .front-btn.grey:hover { background: var(--bg-color); }

/* 모달 오픈시 */
.modal-popup.open { visibility: visible; opacity: 1; transition: opacity 0.3s, visibility 0.3s; pointer-events: auto;}
.modal-popup.open .modal-wrap {opacity:1; transform: translateY(0);}

@media screen and (max-width: 1024px) {
  .modal-popup .modal-content {padding-block: clamp(28px, 3.91vw, 40px) clamp(20px, 2.93vw, 30px); padding-inline: clamp(16px, 1.95vw, 20px);}
  .modal-popup .modal-close-btn { width: clamp(16px, 1.95vw, 20px); height: clamp(16px, 1.95vw, 20px); top: clamp(16px, 1.95vw, 20px); right: clamp(16px, 1.95vw, 20px); }
  .modal-popup .modal-wrap { width: calc(100% - 72px); margin: 0 36px; }
  .modal-popup .modal-wrap.wide { width: calc(100% - 92px); margin: 0 46px; }
  .modal-popup .modal-title { padding-bottom: 10px; font-size: clamp(16px, 1.95vw, 20px); }
  .modal-popup .modal-desc { font-size: clamp(14px, 1.56vw, 16px);}
  .modal-header { padding-block: clamp(16px, 1.95vw, 20px) clamp(12px, 1.56vw, 16px); padding-inline: clamp(16px, 1.95vw, 20px); }
  .modal-body { padding-block: clamp(16px, 2.93vw, 30px) clamp(20px, 3.91vw, 40px); padding-inline: clamp(16px, 2.93vw, 30px); }
}

@media screen and (max-width: 768px) {
  .modal-popup .modal-btn-wrap button { line-height: 40px; }
}

/*========== Footer ==========*/
.footer {position: relative; width: 100%; height:clamp(450px, 25vw, 600px); z-index: 5;}
.footer .footer-area {width: 100%; height: 100%;}
.footer .footer-background {position: absolute;  left:0; width: 100%; height: 100%;  z-index: 0;}
.footer .footer-background .footer-bg-1 {position: absolute; width: 100%; z-index: 3; height: 100%; overflow: hidden;}
.footer .footer-background .footer-bg-1 img {object-fit: cover; width: 100%; height: 100%; object-position: top;}
.footer .footer-background .footer-bg-2 {position: absolute; width: 100%; z-index: 1; height: 100%; overflow: hidden;}
.footer .footer-background .footer-bg-2 img {object-fit: cover; width: 100%; height: 100%; object-position: top;}
.footer .footer-background .footer-bg-3 {position: absolute; width: clamp(185px, 50vw, 800px); z-index: 2; top:clamp(-260px, -13vw, -50px); left:-10%;}
.footer-character-1 {position: absolute; bottom: calc(100% + 20px); left: 0; width: 30.21%; min-width: 144px; }
.footer-character-2 {position: absolute; width: 7.86%; top:10%; max-width:151px; left:calc(50% + 20vw); z-index: 5;}
.footer .footer-area .footer-inner {max-width:1432px; width: 100%; padding-block: 150px; padding-inline: 16px; display: flex; flex-direction: column; color:#fff; position: relative; z-index: 1; margin: 0 auto; height: 100%; justify-content: flex-end; }
.footer .footer-area .footer-inner .footer-top {border-bottom: 1px solid #fff; display: flex; justify-content: space-between; align-items: flex-end; padding-bottom:20px ;position: relative;}
.footer .footer-area .footer-inner .footer-top .wrap {display: flex; gap: 16px; align-items: flex-end;}
.footer .footer-area .footer-inner .footer-top .wrap .footer-copy {opacity: 0.8; font-size: 14px; line-height: 1;}
.footer .footer-area .footer-inner .footer-bottom {padding-top: 20px; display: flex; justify-content: space-between; align-items: flex-start;}
.footer .footer-area .footer-inner .footer-bottom .footer-links {display: flex; gap: 20px;}
.footer .footer-area .footer-inner .footer-bottom .footer-links > a {color: #FFF; letter-spacing: -0.48px; }
.footer .footer-area .footer-inner .footer-bottom .footer-links .privacy-policy {font-weight: 600;}
.footer .footer-area .footer-inner .footer-bottom .footer-sns {display: flex;width: 37px;height: 37px;align-items: center;justify-content: center; background: #fff; border-radius: 50%;}

@media screen and (min-width: 2999px ){
  .footer {height:600px;}
}


/* 260319 이고운 추가 */
@media screen and (max-width: 1024px) {
  .site-nav {display: none !important;}
  .header-cta .link-button {display: none !important;}
  .pb--0 {padding-bottom: 0 !important;}

  /* 햄버거 버튼 */
  .hamburger-menu {display: flex !important; width: 24px; height: 24px; align-items: center; justify-content: center; flex-direction: column; gap: 3px; cursor: pointer; z-index: 1001;}
  .hamburger-menu-line {display: block; width: 18px; height: 2px; background: #333; border-radius: 2px; transition: transform .25s ease, opacity .25s ease;}

  /* 헤더 */
  .header {height: 56px; width: 100%; background: #fff; border-bottom: 1px solid #f2f2f2;}
  .header .brand {width: 84px;}
  .header .header-area {width: 100%; padding-inline:15px; position: relative; z-index: 999; background: #fff;}

  /* ===== 사이트맵 (모바일 메뉴) ===== */
  #sitemap { position: fixed; inset: 0; z-index: 10; visibility: hidden; pointer-events: none; width: 100%; height: 100dvh;  transition: visibility .3s ease, opacity .3s ease; }
  .sitemap-inner {position: relative; width: 100%; height: 100dvh; z-index: 997;}
  .sitemap-dimmer { position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .3s ease;}
  .sitemap-container { position: absolute; top: 0; right: 0; width: 100%; max-width:100%;  height: 100dvh; background: #fff; overflow-y: auto; transform: translateX(100%); transition: transform .35s cubic-bezier(.4,0,.2,1); display: flex; flex-direction: column;}
  .sitemap-body { display: flex; flex-direction: column; padding: 56px 0 0;}

  /* GNB 목록 */
  .sitemap-block {list-style: none; padding: 30px 20px; margin: 0; border-bottom: 5px solid #F7F8FA;}
  .sitemap-gnb-item > a {display: block; padding-bottom:20px; font-size: 16px; font-weight: 500; color: var(--font-color-1); line-height: 1;}
  .info-content-block {padding: 20px 16px; border-top: 1px solid var(--border-color-e);}
  .sitemap-submenu-ls { border-top: 1px solid #eee; padding-block: 16px 0;}
  .sitemap-submenu-item > a {display: block; font-weight: 500; font-size: 14px; color: var(--font-color-6); padding-bottom: 19px;}
  .sitemap-submenu-item:last-child > a {padding-bottom: 0;}
  .sitemap-gnb-item.community > a {padding-bottom: 16px;}
  .sitemap-footer {padding: 24px 20px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; width: 100%;}
  .sitemap-img-cont {display: flex; align-items: flex-end; justify-content: space-between; width: 100%;}
  .sitemap-img-cont img {width: 81px;}
  .sitemap-footer .footer-link {max-width: 100%; width: 100%; height: 40px; border-radius: 40px; gap: 10px; display: flex;align-items: center; justify-content: space-between; padding:14px 20px; background: #fff; border:1px solid var(--font-color-9);  transition: all .2s ease-in;}
  .sitemap-footer .footer-link .link-atopalm-img {width: 86px;}
  .sitemap-footer .footer-link .header-cta-icon {width: 12px; height: 12px; aspect-ratio: 1/1; transition: all .2s ease-in;}
  .sitemap-footer .copyright {font-size: 10px; color: var(--font-color-a);padding-top: 8px; border-top: 1px solid var(--border-color-e); width: 100%;}


  /* 접수 정보 배너 */
  .sitemap .info-content {display: flex;align-items: center;gap: 10px;padding: 12px;background: #F8F8F8; border-radius: 6px;}
  .sitemap .info-content .info-img {display: none;}
  .sitemap .info-content .content {display: flex; align-items: center; gap: 6px; width: 100%;}
  .sitemap .info-content .contest-head {display: flex; align-items: center; gap: 8px; flex: 1;}
  .sitemap .info-content .contest-title {font-size: clamp(12px,calc(14 / 1024 * 100vw),14px); font-weight: 600; color: #333; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
  .sitemap .info-content .contest-meta {flex-shrink: 0;}
  .sitemap .info-content .divide {display: block; width: 1px; height: 16px; background: #ddd; flex-shrink: 0;}
  .sitemap .info-content .info-links {flex-shrink: 0; padding-left:10px;}
  .sitemap .info-content .info-link-item {display: flex; align-items: center; gap: 6px; font-size: clamp(12px,calc(14 / 1024 * 100vw),14px); font-weight: 600; color: var(--point-color);}
  .sitemap .info-content .info-icon {width: clamp(13px, calc(17 / 1024 * 100vw), 17px); filter:drop-shadow(2px 2px 2px rgba(0,0,0,0.1));}
  .sitemap .info-content .info-link-txt {white-space: nowrap;}
  .sitemap .info-content .info-arrow-btn {width: 5px;}
  .sitemap .contest-status.label-sm {font-size: clamp(8px,1.56vw,16px);}
  .sitemap .info-content:not(.status-open) .info-icon {width: clamp(16px, calc(24 / 1024 * 100vw), 24px);}


  .sitemap .info-content.status-open .is-winners {display: none;}
  .sitemap .info-content.status-waiting .is-winners {display: none;}
  .sitemap .info-content.status-closed .is-apply {display: none;}
  .sitemap .info-content.status-closed .is-winners {display: none;}

  .sitemap .info-content.status-result .is-apply {display: none;}
  .sitemap .info-content.status-result .is-guide {display: none;}




  .sitemap .info-content.status-open .info-link-item.is-guide {display: none;}
  .sitemap .info-content.status-waiting .info-link-item.is-apply {display: none;}
  .sitemap .info-content.status-waiting .info-link-txt {color:#93561E;}
  .sitemap .info-content.status-closed .info-link-txt {color:#93561E;}
  .sitemap .info-content.status-open .info-link-txt {color: #009B3D}
  .sitemap .info-content.status-coming-soon {position: relative;}
  .sitemap .info-content.status-coming-soon .contest-title {font-size: clamp(12px,1.37vw,14px); padding-left: 0px;}
  .sitemap .info-content.status-coming-soon .contest-meta {display: none;}
  .sitemap .info-content.status-coming-soon .info-links {display: none;}
  .sitemap .info-content.status-coming-soon .divide {display: none;}
  .sitemap .info-content.status-coming-soon .info-img {display: block; width: 58px; height:46px; position: absolute; right:10px; bottom:0; overflow: hidden; }
  .sitemap .info-content.hidden {display: none;}

  /* 사이트맵 열릴 때 */
  #sitemap.open { visibility: visible; pointer-events: auto;transition: transform .35s cubic-bezier(.4,0,.2,1);}
  #sitemap.open .sitemap-dimmer {opacity: 1;}
  #sitemap.open .sitemap-container {transform: translateX(0); transition: transform .35s cubic-bezier(.4,0,.2,1);}
  body.sitemap-open { overflow: hidden; }
  body.sitemap-open main,
  body.sitemap-open .footer,
  body.sitemap-open .floating-inner,
  body.sitemap-open .popup-group { visibility: hidden; }

  /* 햄버거 → X 변환 (사이트맵 열릴 때) */
  body.sitemap-open .hamburger-menu-line:nth-child(1) {transform: translateY(3px) rotate(45deg);}
  body.sitemap-open .hamburger-menu-line:nth-child(2) {opacity: 0; transform: translateX(-4px);}
  body.sitemap-open .hamburger-menu-line:nth-child(3) {transform: translateY(-7px) rotate(-45deg);}

  .footer {height:clamp(300px, 52.6vw, 404px);}
  .footer .footer-area .footer-inner {padding-block: 100px 130px;}
  .footer-character-2 {left:calc(50% + 30vw);}
  .footer-character-1 {left:10vw;}
  .footer .footer-background .footer-bg-1 img {object-position: 20%;}
}


@media screen and (max-width: 768px) {
  .footer .footer-area .footer-inner .footer-top { padding-bottom: clamp(10px, 2.6vw, 20px); }
  .footer .footer-area .footer-inner .footer-top .wrap .footer-logo { width: clamp(101px, 26.17vw, 201px); aspect-ratio: 201 / 48; }
  .footer .footer-area .footer-inner .footer-top .atopalm-logo { width: clamp(101px, 16.93vw, 130px); aspect-ratio: 130 / 18; }
  .footer .footer-area .footer-inner .footer-top .wrap .footer-copy { position: absolute; bottom: clamp(-89px, -16.39vw, -59px); font-size: clamp(10px, 1.82vw, 14px); }
  .footer .footer-area .footer-inner .footer-bottom { padding-top: clamp(10px, 2.6vw, 20px); }
  .footer .footer-area .footer-inner .footer-bottom .footer-links { font-size: clamp(11px, 2.08vw, 16px); }
  .footer .footer-area .footer-inner .footer-bottom .footer-sns { width: clamp(32px, 4.82vw, 37px); height: clamp(32px, 4.82vw, 37px); }

  .footer-character-2 {display: none;}
  .btn-arrow.size-28 {width: 16px; height: 16px;}

}