/* =========================================================
   모바일 반응형 v2 (미림미디어랩)
   ========================================================= */
@media (max-width: 820px){

  html, body{ overflow-x:hidden !important; min-width:0 !important; width:100% !important; }
  img{ max-width:100% !important; height:auto !important; }

  /* 전역 큰 글씨 보정 (common.css h1:100px, h2:55px 대응) */
  h1{ font-size:30px !important; line-height:1.25 !important; }
  h2{ font-size:22px !important; }
  h3{ font-size:16px !important; line-height:1.5 !important; }
  h4{ font-size:15px !important; line-height:1.6 !important; }

  /* 우측 고정 도트 네비 숨김 */
  #loc_icon{ display:none !important; }

  /* ---------- 상단 메뉴: 모바일 헤더 바 ---------- */
  #menu-container{ position:static !important; height:auto !important;
    background:linear-gradient(90deg,#9552f9,#b06bf2) !important; opacity:1 !important; }
  #menu-container.fixed{ background:linear-gradient(90deg,#9552f9,#b06bf2) !important; }
  .menu-item{ width:100% !important; }
  .mainmenu{ min-width:0 !important; width:100% !important; padding:10px 12px !important;
    position:static !important; display:flex !important; align-items:center !important;
    justify-content:space-between !important; box-sizing:border-box !important; }
  .mainmenu .logo{ width:auto !important; float:none !important; }
  .mainmenu .logo img{ height:24px !important; width:auto !important; }
  .mainmenu .mmenu{ width:auto !important; float:none !important; padding-top:0 !important; }
  .mainmenu .mmenu ul{ display:flex !important; align-items:center !important; list-style:none !important; margin:0 !important; padding:0 !important; }
  .mainmenu .mmenu li{ float:none !important; padding-left:11px !important; font-size:12px !important; }
  .mainmenu .mmenu li a{ float:none !important; font-size:12px !important; color:#fff !important; }
  .mainmenu .mmenu li a .covi-logo{ height:13px !important; }
  .mainmenu .mmenu li a .saifex-logo{ height:11px !important; }
  .mainmenu .mmenu li.nav-divider{ padding-left:11px !important; color:rgba(255,255,255,.5) !important; }
  /* candp 팝업(메뉴 내) 숨김 */
  #popupla_01,#popupla_02,#popupla_03,#popupla_04,#popupla_05,#popupla_06,#popupla_07,
  #popupla_08,#popupla_09,#popupla_10,#popupla_11,#popupla_12,#popupla_13,#popupla_14,#popupla_15{ display:none !important; }

  /* ---------- index 메인 ---------- */
  #main_wrapper{ min-width:0 !important; width:100% !important; height:auto !important;
    padding:30px 0 40px !important;
    background:linear-gradient(160deg,#7d3ff0 0%,#a45bdf 35%,#fe7d5a 100%) !important; }
  #banner-fade{ display:none !important; }
  .vi_1,.vi_2,.vi_3{ min-width:0 !important; }
  .main01textcopytle{ position:static !important; }
  .main01textcopytle .textcopyone{ width:100% !important; max-width:100% !important;
    margin-top:10px !important; padding:0 16px !important; box-sizing:border-box !important; }
  #wrap{ height:auto !important; }
  #app{ font-size:40px !important; }
  .main01textcopytle .textcopyone h1{ margin-top:18px !important; font-size:40px !important; }
  .main01textcopytle .textcopyone h2{ margin-top:8px !important; font-size:22px !important; }
  .main01textcopytle .textcopyone h3{ margin-top:16px !important; font-size:15px !important; line-height:1.5 !important; }

  #div1{ height:auto !important; }
  #div2,#div3,#div4{ height:auto !important; }
  .mainbsl02,.mainbsl03,.mainbsl04{ height:auto !important; padding:44px 0 !important;
    margin-top:0 !important; background-size:cover !important; }
  .mainbsl02 .con_tle,.mainbsl03 .con_tle,.mainbsl04 .con_tle{ width:100% !important;
    padding:0 18px !important; box-sizing:border-box !important; }
  .con_tle .texttle{ width:100% !important; float:none !important; padding-top:0 !important; padding-bottom:18px !important; }
  .con_tle .texttle .hbarimg{ display:none !important; }
  .con_tle .texttle .textment{ float:none !important; width:100% !important; }
  .con_tle .texttle .textment h1{ font-size:28px !important; margin-bottom:10px !important; }
  .con_tle .texttle .textment h4{ font-size:15px !important; line-height:1.65 !important; padding-top:6px !important; }
  .con_tle .imgtle{ width:100% !important; float:none !important; text-align:center !important; }

  .footerimgtexttle{ height:auto !important; padding:40px 0 !important; background-size:cover !important; }
  .footerimgtexttle .fmenttext{ width:100% !important; padding:8px 18px !important; box-sizing:border-box !important; }
  .footerimgtexttle .fmenttext h1{ font-size:26px !important; padding-bottom:18px !important; }
  .footerimgtexttle .fmenttext h3{ font-size:15px !important; padding-bottom:22px !important; line-height:1.5 !important; }
  .footeraddtle{ height:auto !important; font-size:12px !important; padding:16px 14px !important; line-height:1.7 !important; }

  /* ---------- 서브페이지 공통 ---------- */
  /* 절대배치 히어로(about01contle 등) → 일반 흐름 */
  [class*="contle"]{ min-width:0 !important; width:100% !important; max-width:100% !important;
    position:static !important; height:auto !important; box-sizing:border-box !important; overflow:hidden !important; }
  .about01contle{ background-size:cover !important; padding:24px 0 !important; }
  [class*="tment"]{ position:static !important; min-width:0 !important; width:100% !important;
    margin-top:0 !important; margin-bottom:16px !important; }
  /* about 스크롤 배너 이미지 */
  .about01contle marquee{ height:auto !important; }
  .about01contle marquee img{ height:48px !important; width:auto !important; max-width:none !important; }

  [class*="contentle"], .contentle, .contentle03{ width:100% !important; max-width:100% !important;
    padding-left:16px !important; padding-right:16px !important; box-sizing:border-box !important; }
  .imgtext01,.imgtext02,.leftbox,.rightbox,.twobox,.conbox01,.conbox02,.ntext{
    float:none !important; width:100% !important; max-width:100% !important;
    margin-left:auto !important; margin-right:auto !important; }
  .imgtext01 ul,.imgtext02 ul{ width:100% !important; max-width:420px !important; margin:0 auto !important; }
  .conbox01 .leftbox li,.conbox01 .rightbox li,.listst li,.pb_10 li,.twobox li{
    width:auto !important; float:none !important; display:inline-block !important; }
  .pagetit{ font-size:30px !important; }
  .pagestit{ font-size:20px !important; }

  table{ max-width:100% !important; }
  iframe{ max-width:100% !important; }
}

@media (max-width: 480px){
  #app{ font-size:32px !important; }
  .main01textcopytle .textcopyone h1{ font-size:32px !important; }
  .mainmenu .mmenu li{ padding-left:8px !important; font-size:11px !important; }
  .mainmenu .mmenu li a{ font-size:11px !important; }
  .con_tle .texttle .textment h1{ font-size:24px !important; }
}

/* 모바일: 스크롤 리빌 요소 항상 표시 (숨김 방지) */
@media (max-width: 820px){
  #div1,#div2,#div3,#div4,
  .mainbsl02,.mainbsl03,.mainbsl04,
  .footerimgtexttle,.footeraddtle,
  .main01textcopytle,
  [class*="contle"],[class*="tment"],[class*="contentle"],
  .fadein, .video-card, .swiper-container{
    visibility:visible !important; opacity:1 !important;
  }
}

/* 모바일: 넓은 컨테이너 전반 보정 (candp01tle 등 'tle' 류 포함) */
@media (max-width: 820px){
  [class*="tle"]{ min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; }
  .candp01tle,.candp02tle,.candp03tle,.candp04tle,.imgboxtle{
    width:100% !important; padding-left:16px !important; padding-right:16px !important; }
  .potboxboxtle,.potboxboxst,.poto_box,.imgbox,[class*="potbox"]{
    width:100% !important; float:none !important; max-width:100% !important; margin-left:auto !important; margin-right:auto !important; }
  .potboxboxst img,.imgboxtle img{ width:100% !important; height:auto !important; }
}

/* 모바일: candp 포트폴리오/이미지 박스 보정 */
@media (max-width: 820px){
  .pagecoment,.portfoliobox,.candpimgtbox,.pagestit{
    width:100% !important; max-width:100% !important; float:none !important;
    box-sizing:border-box !important; padding-left:16px !important; padding-right:16px !important; }
  .portfoliobox ul,.portfoliobox li,.candpimgtbox ul,.candpimgtbox li,
  .pagecoment ul,.pagecoment li,.litextst{
    float:none !important; width:auto !important; max-width:100% !important; }
  .portfoliobox img,.candpimgtbox img,.pagecoment img{ max-width:100% !important; height:auto !important; }
  /* 최종 안전망: 콘텐츠 요소가 뷰포트를 넘지 않도록 */
  #div1 *,#div2 *,#div3 *,#div4 *{ max-width:100% !important; }
}

/* 모바일: candp 롤링 장식 아이콘(절대배치) 흐름 정렬 */
@media (max-width: 820px){
  .candpimgtbox{ position:relative !important; overflow:hidden !important; text-align:center !important; height:auto !important; }
  .roolbox01,.roolbox02,.roolbox03,.roolbox04,.roolbox05{
    position:static !important; left:auto !important; top:auto !important; right:auto !important;
    display:inline-block !important; width:auto !important; margin:4px !important; }
  .roolbox01 img,.roolbox02 img,.roolbox03 img,.roolbox04 img,.roolbox05 img{ max-width:80px !important; height:auto !important; }
  .pagetit{ width:100% !important; max-width:100% !important; }
  .candptextbox,.candptextbox *{ max-width:100% !important; }
}

/* =========== 모바일 v3: 세부 최적화 =========== */
@media (max-width: 820px){
  /* ABOUT/파트너 로고: 중앙정렬 플렉스 그리드 */
  .leftbox ul,.rightbox ul,.twobox ul,.listst,.pb_10{
    display:flex !important; flex-wrap:wrap !important; justify-content:center !important;
    gap:8px !important; padding:0 !important; margin:0 auto 8px !important; list-style:none !important; }
  .leftbox li,.rightbox li,.twobox li,.listst li,.pb_10 li{
    width:auto !important; float:none !important; margin:0 !important; padding:0 !important; }
  .leftbox li img,.rightbox li img,.twobox li img,.listst li img,.pb_10 li img{
    height:42px !important; width:auto !important; }
  .pagestit{ text-align:center !important; margin:8px 0 !important; }

  /* MOOC 영상 슬라이더 가로 넘침 + 높이 보정 */
  .swiper-container{ width:100% !important; max-width:100% !important; overflow:hidden !important; padding:0 16px !important; box-sizing:border-box !important; }
  .swiper-slide{ width:100% !important; box-sizing:border-box !important; }
  .video-card{ width:100% !important; max-width:100% !important; padding-top:0 !important; margin:0 auto !important; }
  .video-card iframe{ width:100% !important; height:210px !important; }

  /* CONTACT 좌우 여백 */
  .contact01contle,.contact01tle,.maptle,.box01tle,.rightcontle,.studio_box{
    padding-left:18px !important; padding-right:18px !important; box-sizing:border-box !important; }
  .contactpagecoment,.mpagecoment{ word-break:keep-all !important; line-height:1.6 !important; }
  .mpagetit,.mpagecoment,.box01tle,.maptle{ width:100% !important; }
  .mapimg{ padding-left:18px !important; padding-right:18px !important; box-sizing:border-box !important; }
  .mapimg iframe,.mapimg img{ width:100% !important; max-width:100% !important; }
  .studio_imgae img{ width:100% !important; height:auto !important; margin-bottom:10px !important; }

  /* 본문 텍스트가 가장자리에 붙지 않도록 공통 여백 */
  .pagecoment,.about02contle .contentle,.contentle03{ padding-left:18px !important; padding-right:18px !important; }
}
