@charset "utf-8";
/**
 * 모바일/태블릿 전용 반응형
 * - PC(1024px 이상)에는 절대 적용되지 않음
 * - 슬라이더 height:auto 사용 금지 (slick 깨짐 방지)
 */

.nav-toggle {
  display: none !important;
}

/* ===== PC 잠금: 기존 데스크탑 레이아웃 유지 ===== */
@media screen and (min-width: 1024px) {
  .nav-toggle {
    display: none !important;
  }
  .main-nav-panel {
    display: block !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .main_bg,
  .sliders,
  .stw_sliders {
    height: 635px !important;
  }
  .main_slide_wrap .slide {
    height: 635px !important;
  }
  .vc_col-sm-4 {
    float: left !important;
    width: 370px !important;
    max-width: 370px !important;
    margin-right: 20px !important;
  }
}

/* ===== 태블릿 / 모바일 ===== */
@media screen and (max-width: 1023px) {
  body,
  body.body-main,
  body.body-index {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  #wrap,
  #wrapmain,
  #container,
  #wrapper,
  #container.main,
  .main_slide_wrap {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #wrapmain {
    min-height: 0 !important;
  }
  body.body-main section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nav-toggle {
    display: block !important;
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 100001;
  }
  .nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    margin: 5px auto;
    background: #ffffff;
    border-radius: 1px;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.35);
  }
  body.is-nav-open .nav-toggle span:nth-child(1) {
    -webkit-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg);
  }
  body.is-nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
  }
  body.is-nav-open .nav-toggle span:nth-child(3) {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg);
  }

  .navbar > .container {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 14px;
    box-sizing: border-box;
  }
  .fixed-menu,
  .fixed-menu2 {
    height: 72px !important;
  }
  .navbar-nav {
    margin-top: 0 !important;
  }
  #logo .logo {
    width: auto !important;
  }
  #logo .logo img.fixed-logo {
    width: 170px !important;
    height: auto !important;
    max-width: 55vw;
  }
  .fixed-menu #logo,
  .fixed-menu2 #logo {
    padding-top: 12px;
  }

  .main-nav-panel {
    display: none !important;
    position: absolute !important;
    left: 0;
    right: 0;
    top: 72px;
    margin: 0;
    padding: 10px 0 18px;
    background: rgba(68, 64, 60, 0.98) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
    z-index: 100000;
  }
  body.is-nav-open .main-nav-panel {
    display: block !important;
  }
  .main-nav-panel .navbar-nav {
    float: none !important;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .main-nav-panel .navbar-nav > li {
    float: none !important;
    display: block;
    margin: 0;
  }
  .main-nav-panel .menu-item a,
  .main-nav-panel .menu-item a:hover,
  .main-nav-panel .menu-item a:focus,
  .main-nav-panel .menu-item a:active {
    display: block;
    padding: 14px 16px;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
  }
  .main-nav-panel .menu-item a:hover,
  .main-nav-panel .menu-item a:focus {
    color: #f79f2f !important;
  }

  /* 슬라이더: 고정 높이만 사용 (가로 비율이 더 보이도록 낮게) */
  .main_bg,
  .sliders,
  .stw_sliders {
    height: 400px !important;
    min-height: 0 !important;
  }
  .main_slide_wrap .slide {
    height: 400px !important;
  }
  .main_slide_wrap .slide .txt_box {
    width: 88% !important;
    left: 50%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 26px !important;
    line-height: 1.35 !important;
  }
  .main_slide_wrap .slide .txt_box p.main_txt {
    font-size: 15px !important;
  }
  .main_slide_wrap .slide .txt_box span.btext {
    font-size: 36px !important;
  }
  .main_slide_wrap .slide .txt_box a {
    margin-top: 16px;
    font-size: 14px;
  }
  .main_slide_wrap .slide.slide_trust .trust_title {
    font-size: 26px !important;
  }
  .main_slide_wrap .slide.slide_trust .trust_sub,
  .main_slide_wrap .slide.slide_trust .trust_lines li {
    font-size: 16px !important;
  }
  .main_slide_wrap .slick-arrow {
    width: 28px;
    height: 44px;
  }
  .main_slide_wrap .slide_trust_stars {
    width: 65%;
  }

  #services.container,
  .section > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  #services {
    padding-top: 90px !important;
    padding-bottom: 48px !important;
  }
  .section-heading {
    font-size: 32px !important;
  }
  .vc_row.wpb_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .vc_col-sm-4 {
    float: left !important;
    width: 48% !important;
    max-width: 48% !important;
    margin: 0 1% 16px !important;
    box-sizing: border-box !important;
  }
  .vc_col-sm-6,
  .vc_col-sm-12 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    box-sizing: border-box !important;
  }
  .wpb_wrapper .cb-container {
    height: auto !important;
    padding: 32px 18px !important;
  }
  .cb-text-area p br {
    display: none;
  }
  .cb-text-area p {
    line-height: 1.7;
  }

  #contact-us.section {
    padding-top: 80px !important;
  }
  #contact-us .section-subheading {
    font-size: 22px !important;
    letter-spacing: -1px !important;
    margin-bottom: 16px !important;
  }
  #contact-us .section-subheading + .section-subheading {
    font-size: 15px !important;
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }
  .main_contact_tel,
  .main_contact_map {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 16px !important;
    box-sizing: border-box;
  }
  .main_contact_tel {
    padding: 32px 18px !important;
  }
  .main_tel_text {
    font-size: 17px !important;
    letter-spacing: -1px !important;
    line-height: 1.4;
  }
  .main_tel_t01,
  .main_tel_t02 {
    font-size: 22px !important;
    height: auto !important;
    margin-top: 22px !important;
    word-break: break-all;
  }
  .main_tel_t01 {
    padding-bottom: 18px;
  }
  .main_contact_map img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  .con_bottom {
    width: 100% !important;
    max-width: 100%;
  }
  .con_bottom_box {
    margin-top: 48px;
    height: 240px;
    background-position: center center;
  }
  .con_bottom_title {
    font-size: 22px;
    white-space: normal;
    padding: 0 16px;
  }
  .con_bottom_btn {
    min-width: 150px;
    padding: 12px 28px;
    font-size: 16px;
  }
  .footer_text {
    width: 100% !important;
    max-width: 100%;
    padding: 28px 16px;
    box-sizing: border-box;
    line-height: 1.6;
    word-break: keep-all;
  }
}

/* ===== 모바일 ===== */
@media screen and (max-width: 767px) {
  .fixed-menu,
  .fixed-menu2 {
    height: 64px !important;
  }
  .main-nav-panel {
    top: 64px !important;
  }
  #logo .logo img.fixed-logo {
    width: 148px !important;
  }
  .main_bg,
  .sliders,
  .stw_sliders,
  .main_slide_wrap .slide {
    height: 300px !important;
  }
  .main_slide_wrap .slide .txt_box {
    width: 92% !important;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 18px !important;
  }
  .main_slide_wrap .slide .txt_box span.btext {
    font-size: 26px !important;
  }
  .main_slide_wrap .slide .txt_box p.main_txt {
    font-size: 12px !important;
    margin-top: 8px !important;
  }
  .main_slide_wrap .slide .txt_box a {
    margin-top: 12px !important;
    padding: 8px 18px !important;
    font-size: 12px !important;
  }
  .main_slide_wrap .slide.slide_trust .trust_title {
    font-size: 18px !important;
  }
  .main_slide_wrap .slide.slide_trust .trust_sub,
  .main_slide_wrap .slide.slide_trust .trust_lines li {
    font-size: 12px !important;
    line-height: 1.4;
  }
  .main_slide_wrap .slick-arrow {
    display: none !important;
  }
  .main_slide_wrap .slide_trust_stars {
    width: 100%;
  }
  .section-heading {
    font-size: 26px !important;
  }
  .vc_col-sm-4 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
  }
  h4.cb-heading {
    font-size: 18px;
    margin-top: 18px;
  }
  .cb-text-area p {
    font-size: 14px;
  }
  .con_bottom_box {
    height: 210px;
    margin-top: 32px;
  }
  .con_bottom_title {
    font-size: 18px;
    margin-bottom: 14px;
  }
  #contact-us .section-subheading {
    font-size: 18px !important;
  }
  .main_tel_t01,
  .main_tel_t02 {
    font-size: 18px !important;
  }
}

@media screen and (max-width: 480px) {
  .main_bg,
  .sliders,
  .stw_sliders,
  .main_slide_wrap .slide {
    height: 260px !important;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 15px !important;
  }
  .main_slide_wrap .slide .txt_box span.btext {
    font-size: 22px !important;
  }
  .wpb_wrapper .cb-container {
    padding: 26px 14px !important;
  }
  .con_bottom_btn {
    min-width: 136px;
    padding: 11px 22px;
    font-size: 15px;
  }
}
