@charset "utf-8";
/*
 * 대운프런티어 공통 UI: 버튼 통일 + 모션 정리
 * - responsive.css 다음(order 2)에 로드되어 테마 기본 스타일을 덮어쓴다.
 * - 버튼은 세 가지만 쓴다: 기본(채움) / 보조(외곽선) / 텍스트 링크(→), 모서리는 6px 사각형
 * - 모션은 짧은 거리(28px)·부드러운 감속·한 번만 재생으로 통일한다.
 */

:root{
    --dw-ease-out: cubic-bezier(.22, 1, .36, 1);
    --dw-btn-h: 52px;
    --dw-btn-radius: 6px;
    --dw-btn-fs: 16px;
}

/* ===================================================================
 * 버튼
 * =================================================================== */

/* 보조(외곽선) 버튼 — 테마 기본 버튼 .gw-btn01 */
.gw-btn01{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:var(--dw-btn-h);padding:12px 28px;
    border:1px solid var(--main-color);border-radius:var(--dw-btn-radius);
    background:transparent;color:var(--main-color);
    font-family:"Noto Sans KR", sans-serif;font-size:var(--dw-btn-fs);font-weight:600;line-height:1.2;
    letter-spacing:-0.01em;text-transform:none;
    transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s var(--dw-ease-out);
}
.gw-btn01::before{display:none;}
.gw-btn01:hover{background:var(--main-color);border-color:var(--main-color);color:#fff;}

/* 기본(채움) 버튼 — 게시판 작성완료·답변등록 등 .gw-btn0102 */
.gw-btn0102{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;
    min-height:var(--dw-btn-h);height:auto;padding:12px 28px;line-height:1.2;
    border:1px solid var(--main-color);border-radius:var(--dw-btn-radius);
    background:var(--main-color);color:#fff;
    font-family:"Noto Sans KR", sans-serif;font-size:var(--dw-btn-fs);font-weight:600;letter-spacing:-0.01em;text-transform:none;
    transition:background-color .25s ease, border-color .25s ease;
}
.gw-btn0102:hover{background:#1f3360;border-color:#1f3360;color:#fff;}

/* 원형 테두리 'VIEW MORE' / 'SUBMIT' 버튼 → 같은 알약형 버튼으로 */
.gw-main-btn01{display:flex;width:fit-content;height:auto;margin-left:auto;margin-right:auto;padding:0;border:0;background:none;cursor:pointer;}
.gw-main-btn01 .gw-main-btn01-inner{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    position:relative;left:0;width:auto;height:var(--dw-btn-h);padding:0 30px;
    border:1px solid var(--main-color);border-radius:var(--dw-btn-radius);background:transparent;
    transition:background-color .25s ease, border-color .25s ease;
}
.gw-main-btn01 .gw-main-btn01-inner:before,
.gw-main-btn01 .gw-main-btn01-inner .circle{display:none;}
.gw-main-btn01 .gw-main-btn01-inner span{position:static;transform:none;opacity:1;font-family:"Noto Sans KR", sans-serif;font-size:var(--dw-btn-fs);font-weight:600;letter-spacing:0.02em;color:var(--main-color);transition:color .25s ease;}
.gw-main-btn01 .gw-main-btn01-inner i{position:static;margin:0;opacity:1;font-size:18px;color:var(--main-color);transition:color .25s ease, transform .25s var(--dw-ease-out);}
/* 어두운 배경 위(오시는길) */
.gw-main-btn01.gw-fff-btn .gw-main-btn01-inner{border-color:rgba(255,255,255,0.7);}
.gw-main-btn01.gw-fff-btn .gw-main-btn01-inner span,
.gw-main-btn01.gw-fff-btn .gw-main-btn01-inner i{color:#fff;}
/* 문의 폼 SUBMIT 은 기본(채움) 버튼 */
#gw-theme10-main-inquiry button.gw-main-btn01 .gw-main-btn01-inner{background:var(--main-color);}
#gw-theme10-main-inquiry button.gw-main-btn01 .gw-main-btn01-inner span,
#gw-theme10-main-inquiry button.gw-main-btn01 .gw-main-btn01-inner i{color:#fff;}

@media (hover: hover) and (min-width:1025px) {
    /* gw.css 의 '원으로 줄어드는' hover 효과 무력화 */
    .gw-main-btn01:hover .gw-main-btn01-inner{width:auto;left:0;background:var(--main-color);color:#fff;}
    .gw-main-btn01:hover .gw-main-btn01-inner span{opacity:1;color:#fff;}
    .gw-main-btn01:hover .gw-main-btn01-inner i{opacity:1;color:#fff;transform:translateX(3px);}
    .gw-main-btn01:hover .gw-main-btn01-inner .circle{animation:none;}
    .gw-main-btn01.gw-fff-btn:hover .gw-main-btn01-inner{background:#fff;border-color:#fff;}
    .gw-main-btn01.gw-fff-btn:hover .gw-main-btn01-inner span,
    .gw-main-btn01.gw-fff-btn:hover .gw-main-btn01-inner i{color:var(--main-color);}
    #gw-theme10-main-inquiry button.gw-main-btn01:hover .gw-main-btn01-inner{background:#1f3360;border-color:#1f3360;}
}

/* 슬라이더 화살표(제품·갤러리): 원형 진행 링 → 사각 버튼 */
#gw-theme10-main-product .gw-product-arrow,
#gw-theme10-main-gallery .gw-gallery-arrow{gap:8px;}
#gw-theme10-main-product .gw-product-arrow .swiper-prev,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-prev,
#gw-theme10-main-product .gw-product-arrow .swiper-next,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-next{
    width:var(--dw-btn-h);height:var(--dw-btn-h);border:1px solid #d5dae3;border-radius:var(--dw-btn-radius);background:#fff;
    font-size:18px;transition:background-color .25s ease, border-color .25s ease;
}
#gw-theme10-main-product .gw-product-arrow svg,
#gw-theme10-main-gallery .gw-gallery-arrow svg{display:none;}
#gw-theme10-main-product .gw-product-arrow .swiper-prev i,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-prev i,
#gw-theme10-main-product .gw-product-arrow .swiper-next i,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-next i{color:#111;transition:color .25s ease;}
#gw-theme10-main-product .gw-product-arrow .swiper-prev:hover,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-prev:hover,
#gw-theme10-main-product .gw-product-arrow .swiper-next:hover,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-next:hover{background:var(--main-color);border-color:var(--main-color);}
#gw-theme10-main-product .gw-product-arrow .swiper-prev:hover i,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-prev:hover i,
#gw-theme10-main-product .gw-product-arrow .swiper-next:hover i,
#gw-theme10-main-gallery .gw-gallery-arrow .swiper-next:hover i{color:#fff;}

/* 같은 모서리 기준: 헤더 JOIN/LOGIN, 메인 문의 폼 입력칸 */
.hd_login li{border-radius:var(--dw-btn-radius);}
#gw-theme10-main-inquiry .gw-input-container .gw-input-item,
#gw-theme10-main-inquiry .gw-input-container .gw-file-input-container,
#gw-theme10-main-inquiry .gw-input-container .file-name,
#gw-theme10-main-inquiry .gw-textarea-item > textarea{border-radius:var(--dw-btn-radius);}
#gw-theme10-main-inquiry .gw-file-input-button{border-radius:4px;}

/* 생산공정 슬라이드 표시: 원이 차오르는 점 → 막대 (현재 슬라이드만 길게) */
#gw-theme10-main-business .right-pagination .swiper-pagination-bullet{width:16px;height:3px;margin:0 3px !important;border-radius:2px;background:#cfd5e0;transition:width .35s var(--dw-ease-out), background-color .35s ease;}
#gw-theme10-main-business .right-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{width:36px;background:var(--main-color);}
#gw-theme10-main-business .right-pagination .swiper-pagination-bullet svg{display:none !important;}

/* 텍스트 링크 'VIEW MORE →' */
.gw-more-btn{display:inline-flex;align-items:center;gap:8px;font-family:"Noto Sans KR", sans-serif;font-size:15px;font-weight:600;letter-spacing:0.02em;}
.gw-more-btn > span:before{display:none;}
.gw-more-btn:after{content:"\e90b";font-family:xeicon;font-size:16px;font-weight:400;transition:transform .25s var(--dw-ease-out);}
.gw-more-btn:hover:after{transform:translateX(4px);}

/* 메인 About: 정사각형 링크 박스 → 외곽선 알약 버튼 */
#gw-theme10-main-about .gw-about-box .gw-about-link{
    flex-direction:row;align-items:center;justify-content:center;gap:8px;
    width:auto;height:var(--dw-btn-h);padding:0 26px;
    border:1px solid #d5dae3;border-radius:var(--dw-btn-radius);
    font-size:var(--dw-btn-fs);font-weight:600;
    transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}
#gw-theme10-main-about .gw-about-box .gw-about-link i{transition:transform .25s var(--dw-ease-out);}
#gw-theme10-main-about .gw-about-box .gw-about-link:hover i{transform:translateX(3px);}

/* 메인 비주얼 버튼: 첫 번째는 채움(흰색), 두 번째는 외곽선(흰색) */
#gw-theme-main-visual .gw-slide-btn-container{width:auto;height:auto;gap:12px;}
#gw-theme-main-visual .gw-slide-btn-container .gw-btn01{
    width:auto;min-width:160px;max-width:none;padding:12px 30px;
    border:1px solid rgba(255,255,255,0.75);color:#fff;background:transparent;
}
#gw-theme-main-visual .gw-slide-btn-container .gw-btn01:first-child{background:#fff;border-color:#fff;color:var(--main-color);}
#gw-theme-main-visual .gw-slide-btn-container .gw-btn01:before{display:none;}
#gw-theme-main-visual .gw-slide-btn-container .gw-btn01:hover{background:#fff;border-color:#fff;color:var(--main-color);}
#gw-theme-main-visual .gw-slide-btn-container .gw-btn01:first-child:hover{background:rgba(255,255,255,0.88);}

/* ===================================================================
 * 카드 hover: 색 반전 대신 살짝 떠오르기
 * =================================================================== */
#gw-theme10-main-product .gw-product-list .swiper-slide a{transition:transform .35s var(--dw-ease-out), box-shadow .35s var(--dw-ease-out);}
/* 협력사 로고: 흰 카드 없이 섹션 배경 위에 바로 */
#gw-theme10-main-partners .gw-partner-grid .gw-partner-item{background:transparent;box-shadow:none;transition:transform .35s var(--dw-ease-out);}
@media (hover: hover) and (min-width:1025px) {
    #gw-theme10-main-product .gw-product-list .swiper-slide a:hover{background:#fff;transform:translateY(-6px);box-shadow:0 18px 40px rgba(16,30,60,0.12);}
    #gw-theme10-main-product .gw-product-list .swiper-slide a:hover .gw-txt-box dl dt{color:var(--main-color);}
    #gw-theme10-main-product .gw-product-list .swiper-slide a:hover .gw-txt-box dl dd{color:#666;}
    #gw-theme10-main-partners .gw-partner-grid .gw-partner-item:hover{transform:translateY(-4px);}
}

/* ===================================================================
 * 등장 모션
 * =================================================================== */

/* AOS: 100px → 28px, 감속 곡선 통일 (지속시간·once 는 AOS.init 옵션) */
html [data-aos="fade-up"]{transform:translate3d(0,28px,0);}
html [data-aos="fade-down"]{transform:translate3d(0,-28px,0);}
html [data-aos="fade-left"]{transform:translate3d(28px,0,0);}
html [data-aos="fade-right"]{transform:translate3d(-28px,0,0);}
html [data-aos][data-aos]{transition-timing-function:var(--dw-ease-out);}

/* WOW + animate.css: 요소 높이만큼(100%) 올라오던 것을 28px 로 */
.wow.animated{animation-duration:.8s !important;animation-timing-function:var(--dw-ease-out);}
@keyframes fadeInUp   {from{opacity:0;transform:translate3d(0,28px,0);}  to{opacity:1;transform:translateZ(0);}}
@keyframes fadeInDown {from{opacity:0;transform:translate3d(0,-28px,0);} to{opacity:1;transform:translateZ(0);}}
@keyframes fadeInLeft {from{opacity:0;transform:translate3d(-28px,0,0);} to{opacity:1;transform:translateZ(0);}}
@keyframes fadeInRight{from{opacity:0;transform:translate3d(28px,0,0);}  to{opacity:1;transform:translateZ(0);}}
/* 깜빡이는 pulse 는 부드러운 등장으로 대체 */
.wow.animated.pulse{animation-name:fadeInUp;}

/* 메인 비주얼: 제목 아래 가로선을 흐르는 슬라이드 진행 바 숨김 */
#gw-theme-main-visual .gw-progress-container{display:none;}

/* 메인 비주얼: 스크롤 안내(회전 글자) 사용 안 함 */
#gw-theme-main-visual .scroll{display:none;}

/* 메인 오시는길 글 영역: transform(-50%,-50%) 가운데 정렬은 AOS 위치 계산(offsetTop)을 185px 어긋나게 해
 * 제목·버튼이 화면에 들어와도 늦게 나타난다. 부모(.gw-right)의 flex 가운데 정렬만 쓴다. */
#gw-theme10-main-location .gw-right .gw-text-container.gw-center{position:relative;top:auto;left:auto;transform:none;}

/* ===================================================================
 * 구글 지도 임베드: 왼쪽 위 장소 정보 카드가 보이지 않게 위쪽 100px 를 잘라냄
 * (아래쪽 구글 로고·저작권 표기는 가리지 않는다)
 * =================================================================== */
#sub-location #gw-map-img,
#gw-theme10-main-location .gw-left .gw-map{position:relative;}
#sub-location #gw-map-img > iframe,
#gw-theme10-main-location .gw-left .gw-map > iframe{position:absolute;left:0;top:-100px;width:100%;height:calc(100% + 100px);}

/* ===================================================================
 * 반응형
 * =================================================================== */
@media screen and (max-width:1024px) {
    :root{--dw-btn-h: 48px;--dw-btn-fs: 15px;}
}
@media screen and (max-width:576px) {
    #gw-theme-main-visual .gw-slide-btn-container{width:100%;padding:0 20px;}
    #gw-theme-main-visual .gw-slide-btn-container .gw-btn01{flex:1;min-width:0;}
}

/* 움직임 줄이기 설정 사용자 */
@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
    [data-aos]{opacity:1 !important;transform:none !important;}
    .wow{visibility:visible !important;}
}
