/* ===== tc top tiny bar (#hd_tnb) ===== */
#hd_tnb.tc-tnb{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:10px 16px !important;
  margin:0 !important;
  list-style:none !important;
  background:rgba(15,23,42,.04) !important;  /* NOT white */
  border-bottom:1px solid rgba(15,23,42,.08) !important;
}

/* KILL all separators (border/pseudo) that look like | */
#hd_tnb.tc-tnb, #hd_tnb.tc-tnb *{
  border-left:0 !important;
  border-right:0 !important;
  background-image:none !important;
}
#hd_tnb.tc-tnb li::before, #hd_tnb.tc-tnb li::after,
#hd_tnb.tc-tnb li + li::before,
#hd_tnb.tc-tnb a::before,  #hd_tnb.tc-tnb a::after{
  content:none !important;
}

/* 3 zones */
#hd_tnb.tc-tnb .tc-tnb-left,
#hd_tnb.tc-tnb .tc-tnb-right{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex:1 !important;
}
#hd_tnb.tc-tnb .tc-tnb-right{ justify-content:flex-end !important; }
#hd_tnb.tc-tnb .tc-tnb-center{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 !important;
  white-space:nowrap !important;
}

/* date */
#hd_tnb.tc-tnb .tc-date{
  font-weight:900 !important;
  color:#0f172a !important;
}

/* links (내정보/알림) */
#hd_tnb.tc-tnb .tc-link{
  color:#0f172a !important;
  font-weight:800 !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:6px 8px !important;
  border-radius:6px !important;
  background:rgba(15,23,42,.03) !important;
  transition:transform .12s ease, background-color .12s ease;
}
#hd_tnb.tc-tnb .tc-link:hover{
  transform:scale(1.06);
  background:rgba(15,23,42,.07) !important;
}

/* badge */
#hd_tnb.tc-tnb .tc-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:18px;
}

/* buttons */
#hd_tnb.tc-tnb .tc-btn{
  height:34px;
  padding:0 14px;
  border-radius:8px;
  font-weight:900;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
#hd_tnb.tc-tnb .tc-btn:hover{
  transform:scale(1.06);
  box-shadow:0 10px 18px rgba(0,0,0,.12);
  filter:brightness(.98);
}
#hd_tnb.tc-tnb .tc-btn-ghost{
  border:1px solid rgba(15,23,42,.18);
  background:rgba(15,23,42,.06);
  color:#0f172a;
}
#hd_tnb.tc-tnb .tc-btn-outline{
  border:2px solid #ef4444;
  background:rgba(239,68,68,.06); /* NOT white */
  color:#ef4444;
}
#hd_tnb.tc-tnb .tc-btn-solid{
  border:2px solid #ef4444;
  background:#ef4444;
  color:#fff;
}

/* event chip (center) */
#hd_tnb.tc-tnb .tc-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:10px;
  font-weight:900;
  color:#0f172a !important;
  text-decoration:none !important;
  background:rgba(15,23,42,.06) !important;
  transition:transform .12s ease, background-color .12s ease, box-shadow .12s ease;
}
#hd_tnb.tc-tnb .tc-chip:hover{
  transform:scale(1.06);
  background:rgba(15,23,42,.10) !important;
  box-shadow:0 10px 18px rgba(0,0,0,.10);
}

/* ===== hide the big search box/header search (no search) ===== */
#hd_sch, #hd_sch_wrap, #hd_schwrp, #hd_sch form, #hd_sch fieldset,
#hd_sch #sch_stx, #hd_sch button, #sch_stx, #sch_submit,
form[name="fsearch"], form[name="fsearchbox"], .hd_sch, .header-search{
  display:none !important;
}

/* TTC_HIDE_TOP_SEARCH_V1_START */
#header_pc .header-search{display:none!important;}
a[href="#search_mo"], #search_mo{display:none!important;}
/* TTC_HIDE_TOP_SEARCH_V1_END */

/* TTC_EVENT_GRADIENT_V1_START */
.ttc-solo-card-event .ttc-solo-head{background:linear-gradient(135deg,#ff3b3b 0%,#c40000 55%,#7a0000 100%) !important;}
.ttc-solo-card-event .ttc-solo-title{color:#fff !important;font-weight:900 !important;text-shadow:0 2px 10px rgba(0,0,0,.25);}
/* TTC_EVENT_GRADIENT_V1_END */

/* TTC_HERO_BTNROW_V1_START */
.ttc-hero-btnrow{display:flex;gap:12px;margin:16px 0 18px;}
.ttc-hero-btnrow .ttc-hero-btn{flex:1;display:flex;align-items:center;justify-content:center;height:48px;border-radius:14px;font-weight:900;text-decoration:none;color:#fff;background:linear-gradient(135deg,#ff4d4d 0%,#ff003d 45%,#ff6a00 120%);}
.ttc-hero-btnrow .ttc-hero-btn:hover{filter:brightness(1.03);transform:scale(1.01);}
/* TTC_HERO_BTNROW_V1_END */

/* TTC_HERO_CARDS_V2_START */
.ttc-hero-cards{display:flex;gap:24px;margin:18px 0 22px;}
.ttc-hero-card{flex:1;display:flex;align-items:center;gap:22px;padding:26px 28px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 26px rgba(15,23,42,.10);text-decoration:none;}
.ttc-hero-ico{width:86px;height:86px;display:flex;align-items:center;justify-content:center;font-size:54px;border-radius:18px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));}
.ttc-hero-ico-a{background:linear-gradient(135deg,#ff4d4d 0%,#ff1f62 55%,#ff8a00 120%);}
.ttc-hero-ico-b{background:linear-gradient(135deg,#ffd400 0%,#ffb300 55%,#ff7a00 120%);}
.ttc-hero-ico-c{background:linear-gradient(135deg,#8b5cf6 0%,#60a5fa 55%,#22c55e 120%);}
.ttc-hero-ttl{font-weight:900;font-size:34px;color:#0f172a;letter-spacing:-.4px;}
.ttc-hero-sub{margin-top:8px;font-weight:700;font-size:16px;color:#334155;}
.ttc-hero-card:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(15,23,42,.14);}
@media (max-width: 991px){.ttc-hero-cards{flex-direction:column}.ttc-hero-ttl{font-size:28px}}
/* TTC_HERO_CARDS_V2_END */

/* TTC_HIDE_NABAR_V1 */

/* TTC_HIDE_HDR_SEP_V2 */
.na-bar{display:none!important;}
#hd_tnb li::before,#hd_tnb li::after{content:none!important;}

/* TTC_HEADER_TOP_V20260122A */
/* ===== 상단 LNB(#nt_lnb): 구분자(|) 제거 + 간격/정렬 ===== */
#nt_lnb ul > li::after {
  content: "" !important;
  display: none !important;
}

#nt_lnb ul.float-left,
#nt_lnb ul.float-right {
  display: inline-flex;
  align-items: center;
}

#nt_lnb ul.float-left > li,
#nt_lnb ul.float-right > li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 !important;
  padding: 0 !important;
}

#nt_lnb ul.float-left > li + li,
#nt_lnb ul.float-right > li + li {
  margin-left: 6px !important; /* 기존 10px -> 6px로 붙임 */
}

/* ===== 즐겨찾기 별(더 이쁜 노란색) ===== */
#nt_lnb .ttc-fav-star {
  display: inline-block;
  margin-right: 6px;
  font-weight: 800;
  background: linear-gradient(180deg, #ffe28a 0%, #f1b000 55%, #d99a00 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
}

/* ===== 상단 우측 버튼 공통(로그인/회원가입/내정보/알림/로그아웃) ===== */
#nt_lnb ul.float-right a[href*="login.php"],
#nt_lnb ul.float-right a[href*="register.php"],
#nt_lnb ul.float-right a[href*="logout.php"],
#nt_lnb ul.float-right a[onclick*="sidebar('user'"],
#nt_lnb ul.float-right a[onclick*="sidebar('noti'"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px !important;
  border-radius: 10px !important;   /* pill 너무 과하면 각진 라운드 */
  border: 1px solid rgba(220,53,69,.35) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: -0.2px;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .08s ease;
  transform: translateY(0);
}

/* 기본(로그인 제외): 연한 레드톤 outline */
#nt_lnb ul.float-right a[href*="register.php"],
#nt_lnb ul.float-right a[href*="logout.php"],
#nt_lnb ul.float-right a[onclick*="sidebar('user'"],
#nt_lnb ul.float-right a[onclick*="sidebar('noti'"] {
  background: rgba(220,53,69,.06) !important;
  color: #b02a37 !important;
  border-color: rgba(220,53,69,.28) !important;
}

/* 로그인: 진한 레드 fill */
#nt_lnb ul.float-right a[href*="login.php"] {
  background: #dc3545 !important;
  color: #fff !important;
  border-color: #dc3545 !important;
}

#nt_lnb ul.float-right a[href*="login.php"]:hover,
#nt_lnb ul.float-right a[href*="register.php"]:hover,
#nt_lnb ul.float-right a[href*="logout.php"]:hover,
#nt_lnb ul.float-right a[onclick*="sidebar('user'"]:hover,
#nt_lnb ul.float-right a[onclick*="sidebar('noti'"]:hover {
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  background: #dc3545 !important;
  color: #fff !important;
  border-color: #dc3545 !important;
  transform: translateY(-1px) scale(1.06);
}

/* 알림 카운트 배지 살짝 정돈(기존 HTML 그대로) */
#nt_lnb ul.float-right .nt-noti-label {
  margin-left: 4px;
}

/* 클릭(눌림) */
#nt_lnb ul.float-right a[href*="login.php"]:active,
#nt_lnb ul.float-right a[href*="register.php"]:active,
#nt_lnb ul.float-right a[href*="logout.php"]:active,
#nt_lnb ul.float-right a[onclick*="sidebar('user'"]:active,
#nt_lnb ul.float-right a[onclick*="sidebar('noti'"]:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: none !important;
}

/* /TTC_HEADER_TOP_V20260122A */




/* TTC_FOOTER_DEVICE_BTN_V20260122 */
/* footer: PC/모바일 버튼 붙이기 + 활성/hover */
.ttc-device-btn {
  margin-left: 6px !important;
  border-radius: 10px !important;
  border-color: rgba(220,53,69,.28) !important;
  background: rgba(220,53,69,.06) !important;
  color: #b02a37 !important;
  font-weight: 700 !important;
  transition: transform .12s ease, background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ttc-device-btn:hover {
  transform: translateY(-1px) scale(1.05);
  background: #dc3545 !important;
  border-color: #dc3545 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}
.ttc-device-active {
  background: #dc3545 !important;
  border-color: #dc3545 !important;
  color: #fff !important;
}
/* /TTC_FOOTER_DEVICE_BTN_V20260122 */

/* TTC_LOGO_SHIFT_CUSTOM_V2 */
#nt_header #header_pc #logo_img {
  transform: translateX(10px) !important;
}

/* TTC_LNB_FAV_PIPE_V1 */
#nt_lnb ul.ttc-lnb-left > li::after{ content:"" !important; margin-right:0 !important; }
#nt_lnb .ttc-lnb-sep{ margin: 0 10px; color:#ccc; font-weight:400; }
#nt_lnb .ttc-fav-link{ font-weight:700; }

/* TTC_OUTLOGIN_CARD_VISUAL */
/* 마이정보(outlogin) 카드가 배경과 섞이지 않게 경계/그림자 강화 */
.ttc-ol2, .ttc-ol2-card{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.10) !important;
  border-radius:18px !important;
  overflow:hidden;
}
/* 카드가 너무 딱 붙으면 살짝 띄움(필요시) */
.ttc-ol2{ margin-bottom:16px; }
/* /TTC_OUTLOGIN_CARD_VISUAL */

/* TTC_TODAY_VISIT_STYLE */
.ttc-head-date-li,
.ttc-head-date-li{ font-weight:900; } /* 날짜 bold */

.ttc-todayvisit{ display:inline-flex; align-items:center; line-height:1; font-weight:900; }
.ttc-todayvisit-num{ color:#e60000; font-weight:900; font-size:1.22em; }

.ttc-todayvisit-li{ position:relative; top:-1px; }
/* /TTC_TODAY_VISIT_STYLE */

/* TTC_MOBILE_NAV_AND_HEADER_FIX_V1 */

/* ====== MOBILE (<=767.98) ====== */
@media (max-width: 767.98px){
  /* theme.css가 #header_mo를 강제 hide 하므로 여기서 복구 */
  #header_pc{ display:none !important; }
  #header_mo{ display:block !important; }
  #ft{ display:none !important; }

  /* 하단바 높이만큼 컨텐츠 가림 방지 */
  body{ padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important; }
  #nt_sidebar_move{ bottom: 100px !important; }
}

/* ====== TABLET (768~991.98): PC헤더를 모바일처럼 스택 ====== */


/* ====== PC (>=992) ====== */


/* 모바일 상단: 흰 배경 + 로고 중앙 + 햄버거 좌측 */
@media (max-width: 767.98px){
  #header_mo .ttc-mo-topbar{
    background:#fff;
    border-bottom:1px solid rgba(0,0,0,.08);
  }
  #header_mo .ttc-mo-topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
  }
  #header_mo .ttc-mo-ham{
    width:44px;height:44px;
    display:flex;align-items:center;justify-content:center;
    color:#d32f2f !important;
    text-decoration:none !important;
  }
  #header_mo .ttc-mo-ham i{ font-size:22px; color:#d32f2f !important; }
  #header_mo .ttc-mo-logo{ flex:1 1 auto; display:flex; justify-content:center; text-decoration:none !important; }
  #header_mo .ttc-mo-logo-img{ max-height:36px; width:auto; display:block; }
  #header_mo .ttc-mo-topbar-spacer{ width:44px; height:44px; display:block; }

  /* 메뉴바와 히어로 간격 */
  #header_mo .ttc-mo-menubar{ margin-bottom:14px; }
}

/* 모바일 상단 메뉴바(레퍼런스 느낌) */
@media (max-width: 767.98px){
  #header_mo .ttc-mo-menubar{ background:#d32f2f; border-bottom:1px solid rgba(0,0,0,.10); }
  #header_mo .ttc-mo-menubar-inner{
    display:flex; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap;
  }
  #header_mo .ttc-mo-menu-item{
    display:inline-flex; align-items:center; gap:6px;
    padding:12px 14px;
    color:#fff !important; font-weight:800;
    text-decoration:none !important; flex:0 0 auto;
  }
  #header_mo .ttc-mo-menu-item i{ color:#fff; font-size:16px; }
}

/* 바텀 네비: 모바일+태블릿에서만 */
#ttc-bottom-nav.ttc-bottom-nav{
  position:fixed; left:0; right:0; bottom:0;
  height:66px;
  padding-bottom: env(safe-area-inset-bottom);
  background:#fff;
  border-top:1px solid rgba(0,0,0,.10);
  z-index:9999;
  display:none;
}

#ttc-bottom-nav .ttc-bnav-item{
  flex:1 1 0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-decoration:none !important;
  color:#666; font-size:11px; line-height:1.1; gap:4px;
}
#ttc-bottom-nav .ttc-bnav-item i{ font-size:20px; color:#d32f2f; }

/* 홈 강조 */
#ttc-bottom-nav .ttc-bnav-home{ position:relative; top:-12px; }
#ttc-bottom-nav .ttc-bnav-home-ico{
  width:54px;height:54px;border-radius:9999px;background:#d32f2f;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
#ttc-bottom-nav .ttc-bnav-home i{ color:#fff !important; font-size:24px !important; }
#ttc-bottom-nav .ttc-bnav-home span:last-child{ margin-top:2px; font-weight:900; color:#111; }

/* /TTC_MOBILE_NAV_AND_HEADER_FIX_V1 */

/* TTC_HEADER_PC_TABLET_FIX_V1 */
/* under1200(=1199.98 이하): 메뉴 겹침 방지 + 메뉴 영역 세로 스크롤 제거 */


/* under1200에서도 히어로 크롭 방지(전체 노출) */
@media (max-width: 1199.98px){
  #nt_body .splide:first-of-type img{
    object-fit: contain !important;
    background:#fff !important;
  }
  #nt_body .splide:first-of-type .img-wrap{
    background-size: contain !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
  }
}
/* /TTC_HEADER_PC_TABLET_FIX_V1 */

/* TTC_HERO_RESPONSIVE_FIX_V1 */
/* 모바일: 히어로(첫번째 슬라이더)를 풀블리드 → 좌우 여백 + 크롭 방지(전체 노출) */
@media (max-width: 767.98px){
  /* 첫번째 슬라이더(히어로)만 적용 */
  #nt_body .splide:first-of-type{
    margin: 0 12px 10px !important;   /* 좌우 흰여백 + 아래 여백 최소 */
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  #nt_body .splide:first-of-type .splide__track,
  #nt_body .splide:first-of-type .splide__list,
  #nt_body .splide:first-of-type .splide__slide{
    background:#fff !important;
  }

  /* 이미지가 일부만 보이는(cover) 상황 방지: contain으로 전체 보이게 */
  #nt_body .splide:first-of-type img{
    width:100% !important;
    height:100% !important;
    object-fit: contain !important;
    background:#fff !important;
  }
  /* 배경이미지 방식인 경우도 대비 */
  #nt_body .splide:first-of-type .img-wrap{
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color:#fff !important;
  }

  /* 히어로 아래 버튼(먹튀 신고 등)과 간격 줄이기: 히어로 다음 섹션 위쪽 여백 최소 */
  #nt_body .splide:first-of-type + *{
    margin-top: 10px !important;
  }
}
/* /TTC_HERO_RESPONSIVE_FIX_V1 */
/* TTC_FIX_20260123_HERO_HEADER_V1 */
/* 1) 모바일 히어로 좌우 padding + 2) 히어로↔다음섹션 간격 14px 고정(상단 menubar와 동일) */
@media (max-width: 767.98px){
  /* hero candidates: data-slider(owl=basic-banner), data-carousel(bootstrap carousel) */
  #nt_body .owl-carousel.basic-banner,
  #nt_body .basic-banner,
  #nt_body .carousel.slide{
    margin-left:10px !important;
    margin-right:10px !important;
    width:auto !important;
    max-width:calc(100% - 20px) !important;
    margin-bottom:14px !important;
  }

  /* next section gap = 14px */
  #nt_body .owl-carousel.basic-banner + *,
  #nt_body .basic-banner + *,
  #nt_body .carousel.slide + *{
    margin-top:14px !important;
  }

  /* prevent crop (bg-based img-wrap + img tag) */
  #nt_body .owl-carousel.basic-banner .img-wrap,
  #nt_body .basic-banner .img-wrap,
  #nt_body .carousel.slide .img-wrap,
  #nt_body .carousel.slide .carousel-inner,
  #nt_body .carousel.slide .carousel-item{
    border-radius:14px !important;
    overflow:hidden !important;
  }

  #nt_body .owl-carousel.basic-banner .img-wrap,
  #nt_body .basic-banner .img-wrap{
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
  }

  #nt_body .owl-carousel.basic-banner img,
  #nt_body .basic-banner img,
  #nt_body .carousel.slide img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  /* if hero cards are the next section, kill excessive top gap */
  #nt_body .ttc-hero-cards{ margin-top:14px !important; }
}

/* 3) 1199부터 헤더 메뉴가 우측으로 붙는 원인(theme.css right-pack + hamburger absolute right) 무력화 */

/* /TTC_FIX_20260123_HERO_HEADER_V1 */

/* TTC_FIX_20260123_TABLET_WIDE_AND_MENU_V1 */
/* 1) 992~1199.98: 990이하(태블릿모드)와 동일(푸터 숨김 + 바텀네비 ON + 헤더 스택 유지)
   2) 태블릿: 서브메뉴 hover 의존 제거(클릭 토글은 tail.php에서 JS로)
   3) 모바일: 히어로 4코너 라운드 + 히어로↔먹튀(카드) 간격=헤더↔히어로 간격(=14px) */

/* 992~1199.98: 태블릿모드 확장 */


/* <=1199.98: 서브메뉴는 .ttc-open 클래스 기반으로 표시(hover 없이도) */


/* 모바일: 히어로↔먹튀(카드) 간격을 14px로(헤더↔히어로와 동일) */
@media (max-width: 767.98px){
  #nt_body .owl-carousel.basic-banner,
  #nt_body .basic-banner,
  #nt_body .carousel.slide{
    margin-bottom:14px !important; /* 히어로 아래 간격 */
  }
  /* 인라인(18px) 때문에 벌어지는 상단 여백 제거 */
  body.responsive #nt_body .ttc-hero-cards{ margin-top:0 !important; }
}
/* /TTC_FIX_20260123_TABLET_WIDE_AND_MENU_V1 */
/* TTC_FIX_20260123_HERO_RADIUS_GAP_V2 */

/* /TTC_FIX_20260123_HERO_RADIUS_GAP_V2 */
/* TTC_FIX_20260123_TABLET_HAMBURGER_ALIGN_V3 */
/* 768~1199: 태블릿 스택(로고 위/메뉴 아래) 고정, 992~1199: 햄버거는 우측 고정 + 메뉴는 중앙 */


/* 문제 구간: 992~1199.98 (햄버거가 흐름에 섞여 왼쪽으로 가는 것 방지) */

/* /TTC_FIX_20260123_TABLET_HAMBURGER_ALIGN_V3 */

/* TTC_FIX_20260123_MOBILE_HERO_GAP_RADIUS_V3 */
/* 모바일: 히어로 4코너 + 히어로↔먹튀카드 간격=14px(헤더↔히어로와 동일) */
@media (max-width: 767.98px){
  /* 히어로(데이터-carousel가 실제 히어로인 케이스) */
  #nt_body .carousel.slide{
    margin: 0 10px 14px !important;      /* 아래 간격 14px */
    border-radius:14px !important;
    overflow:hidden !important;
    clip-path: inset(0 round 14px);
    background:#fff !important;
  }
  #nt_body .carousel.slide .carousel-inner,
  #nt_body .carousel.slide .carousel-item,
  #nt_body .carousel.slide .img-wrap{
    border-radius:14px !important;
    overflow:hidden !important;
    clip-path: inset(0 round 14px);
  }

  /* 먹튀카드(히어로 다음 섹션) 상단 간격 14px로 고정 */
  body.responsive #nt_body .ttc-hero-cards.ttc-hero-cards{
    margin-top:14px !important;
  }
}
/* /TTC_FIX_20260123_MOBILE_HERO_GAP_RADIUS_V3 */
/* TTC_FIX_20260123_GAP_MENU_V4 */

/* (A) 모바일: 히어로↔먹튀카드 간격 "확" 줄이기
   - 바디 내 style(!important)보다 이기도록: class 3번 반복 + !important + 더 뒤에 로드(tc-custom?v=) */
@media (max-width: 767.98px){
  /* 히어로(bootstrap carousel 케이스) 아래 여백을 최소로 */
  #nt_body .carousel.slide{
    margin-bottom:8px !important;
  }
  /* 바로 다음 섹션(대부분 카드 래퍼)의 상단 여백도 최소로 */
  #nt_body .carousel.slide + *{
    margin-top:0 !important;
  }
  /* 먹튀카드(인라인 !important margin) 강제 덮기 */
  #nt_body .ttc-hero-cards.ttc-hero-cards.ttc-hero-cards{
    margin:8px 0 18px !important;   /* top=8px (기존 18px↓) */
  }
}

/* (B) 태블릿(991~1200): 햄버거 “투명” 문제 = 배경/색 복구(그림자 0) */


/* (C) 태블릿: 서브메뉴 표시 규칙(직계가 아니라 descendant로) */

/* /TTC_FIX_20260123_GAP_MENU_V4 */


/* TTC_FIX_MO_HERO_TO_ACTION_GAP_V1 */
@media (max-width: 767.98px){

  /* 1) 히어로(슬라이더/캐러셀) 자체 아래 여백 최소 */
  body.responsive #nt_body .owl-carousel.basic-banner,
  body.responsive #nt_body .basic-banner,
  body.responsive #nt_body .carousel.slide{
    margin-bottom: 8px !important;
  }

  /* 2) 히어로 '바로 다음 섹션' 상단 여백/패딩 최소 */
  body.responsive #nt_body .owl-carousel.basic-banner + *,
  body.responsive #nt_body .basic-banner + *,
  body.responsive #nt_body .carousel.slide + *{
    margin-top: 8px !important;
    padding-top: 0 !important;
  }

  /* 3) 히어로 아래 액션(먹튀 신고 카드/버튼 영역) 자체 margin 축소 */
  body.responsive #nt_body .ttc-hero-btnrow{
    margin: 8px 0 10px !important;
  }
  body.responsive #nt_body .ttc-hero-cards{
    margin: 8px 0 12px !important;
  }
}


/* TTC_FIX_MO_HERO_TO_ACTION_GAP_V2 */
@media (max-width: 991.98px){

  /* A) 히어로(슬라이더/캐러셀) 아래 여백 최소 (조건 느슨하게) */
  .owl-carousel.basic-banner,
  ul.owl-carousel.basic-banner,
  .basic-banner,
  .carousel.slide{
    margin-bottom: 4px !important;
  }

  /* B) 히어로 바로 다음 블록(래퍼) 상단 여백/패딩 최소 */
  .owl-carousel.basic-banner + *,
  .basic-banner + *,
  .carousel.slide + *{
    margin-top: 4px !important;
    padding-top: 0 !important;
  }

  /* C) 만약 “다음 블록 내부” 컨테이너가 padding-top/margin-top으로 공백 만드는 케이스 */
  .owl-carousel.basic-banner + * > .container,
  .basic-banner + * > .container,
  .carousel.slide + * > .container,
  .owl-carousel.basic-banner + * > .row,
  .basic-banner + * > .row,
  .carousel.slide + * > .row{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* D) 먹튀신고 카드(히어로 액션) 영역 자체 margin 축소 */
  .ttc-hero-btnrow{ margin: 4px 0 8px !important; }
  .ttc-hero-cards{ margin: 4px 0 10px !important; }

  /* E) 기존에 #nt_body/body.responsive가 있을 때도 확실히 덮기 (중복) */
  #nt_body .ttc-hero-btnrow{ margin: 4px 0 8px !important; }
  #nt_body .ttc-hero-cards{ margin: 4px 0 10px !important; }
}


/* TTC_FIX_MO_HERO_TO_ACTION_GAP_V3 */
/* 핵심: carousel 다음에 <style>이 끼어 있어서 +* 가 style을 잡는 문제를 해결 */
@media (max-width: 991.98px){

  /* 1) 타이틀 캐러셀(na_widget data-carousel) 인스턴스: id가 carousel_ 로 시작 */
  body.responsive #nt_body div[id^="carousel_"].carousel.slide{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 2) carousel -> style -> hero cards 케이스를 직접 타겟 */
  body.responsive #nt_body div[id^="carousel_"].carousel.slide + style + .ttc-hero-cards{
    margin-top: 6px !important;
  }
  body.responsive #nt_body div[id^="carousel_"].carousel.slide + style + .ttc-hero-btnrow{
    margin-top: 6px !important;
  }

  /* 3) hero cards 자체 margin 더 강하게(HTML에 박혀있는 .ttc-hero-cards{margin:18px...!important}를 이김) */
  body.responsive #nt_body .ttc-hero-cards.ttc-hero-cards{
    margin: 6px 0 10px !important;
  }
  body.responsive #nt_body .ttc-hero-btnrow.ttc-hero-btnrow{
    margin: 6px 0 10px !important;
  }
}


/* TTC_MO_GLOBAL_GUTTER_V1 */
/* 모바일에서 히어로와 동일한 좌우 여백(거터)을 모든 섹션에 통일 */
@media (max-width: 991.98px){
  :root{ --ttc-mo-gutter: 16px; } /* 필요하면 14px/12px로 조절 */

  /* 1) 메인 콘텐츠 영역 자체에 거터 부여 */
  body.responsive #nt_body{
    padding-left: var(--ttc-mo-gutter) !important;
    padding-right: var(--ttc-mo-gutter) !important;
  }

  /* 2) 기존 wrapper(.px-3 등)가 중복 거터를 만들지 않게 제거 */
  body.responsive #nt_body .px-3{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.responsive #nt_body .container,
  body.responsive #nt_body .container-fluid{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* 3) ‘꽉 차 보이는’ 주범: .row 음수 마진 제거 + 컬럼 패딩 제거(거터는 #nt_body가 담당) */
  body.responsive #nt_body .row{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.responsive #nt_body .row > [class^="col-"],
  body.responsive #nt_body .row > [class*=" col-"]{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* TTC_MO_HEADER_LOGO_SCALE_V1 */
/* 모바일 최상단 로고 20% 확대 */
@media (max-width: 991.98px){
  body.responsive #nt_header .navbar-brand img,
  body.responsive #nt_header a.navbar-brand img,
  body.responsive #nt_header .logo img,
  body.responsive #nt_header #logo img,
  body.responsive header .navbar-brand img{
    transform: scale(1.2) !important;
    transform-origin: left center !important;
  }
}


/* TTC_MO_HEADER_LOGO_SCALE_V2 */
@media (max-width: 991.98px){
  /* 링크/컨테이너 자체도 스케일 (background-logo 케이스 대비) */
  body.responsive #nt_header .navbar-brand,
  body.responsive #nt_header a.navbar-brand,
  body.responsive #nt_header #logo,
  body.responsive #nt_header .logo{
    transform: scale(1.15) !important;
    transform-origin: left center !important;
    overflow: visible !important;
  }

  /* img/svg 로고 케이스 */
  body.responsive #nt_header .navbar-brand img,
  body.responsive #nt_header a.navbar-brand img,
  body.responsive #nt_header #logo img,
  body.responsive #nt_header .logo img,
  body.responsive #nt_header .navbar-brand svg,
  body.responsive #nt_header a.navbar-brand svg{
    transform: scale(1.15) !important;
    transform-origin: left center !important;
    display: inline-block !important;
    height: auto !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
  }
}


/* TTC_MO_TOP_BANNER_GAP_V1 */
@media (max-width: 991.98px){
  body.responsive #nt_body .ttc-top-banner{
    margin-top: 6px !important;
    margin-bottom: 12px !important;
  }
  /* 배너 바로 위 요소가 과하게 margin-bottom 주는 케이스 완화 */
  body.responsive #nt_body .ttc-top-banner:not(:first-child){
    scroll-margin-top: 0 !important;
  }
}


/* TTC_MO_HERO_3BUTTONS_ROW_V1 */
@media (max-width: 991.98px){
  /* 서브 텍스트 제거 */
  body.responsive #nt_body .ttc-hero-sub{ display:none !important; }

  /* 한줄 3개 고정 */
  body.responsive #nt_body .ttc-hero-cards.ttc-hero-cards{
    display:flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin: 8px 0 10px !important;
  }

  /* 기존 min-width:260px !important 무력화 + 버튼화 */
  body.responsive #nt_body .ttc-hero-card.ttc-hero-card{
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 12px 8px !important;
    gap: 6px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 14px !important;
  }

  body.responsive #nt_body .ttc-hero-ico{
    width: 44px !important;
    height: 44px !important;
    font-size: 28px !important;
    border-radius: 14px !important;
  }

  body.responsive #nt_body .ttc-hero-ttl{
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }

  /* 아이콘 옆 텍스트 래퍼도 가운데 정렬 */
  body.responsive #nt_body .ttc-hero-card > div:last-child{
    display:flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
}


/* TTC_MO_HEADER_LOGO_SCALE_V3 */
@media (max-width: 991.98px){
  body.responsive #nt_header .navbar-brand,
  body.responsive #nt_header a.navbar-brand,
  body.responsive #nt_header #logo,
  body.responsive #nt_header .logo{
    transform: scale(1.15) !important;
    transform-origin: center center !important;
    overflow: visible !important;
  }

  /* img/svg 로고 케이스 */
  body.responsive #nt_header .navbar-brand img,
  body.responsive #nt_header a.navbar-brand img,
  body.responsive #nt_header #logo img,
  body.responsive #nt_header .logo img,
  body.responsive #nt_header .navbar-brand svg,
  body.responsive #nt_header a.navbar-brand svg{
    transform: scale(1.15) !important;
    transform-origin: center center !important;
    max-width: none !important;
    max-height: none !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
  }

  /* background 로고 케이스(logo-img 등) */
  body.responsive #nt_header .logo-img,
  body.responsive #nt_header .navbar-brand .logo-img{
    background-size: contain !important;
    transform: scale(1.15) !important;
    transform-origin: center center !important;
  }
}


/* TTC_MO_TOP_BANNER_FLOW_GAP_V2 */
@media (max-width: 991.98px){
  body.responsive #nt_body a.ttc-top-banner{
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }
  body.responsive #nt_body .ttc-top-banner-inner{
    height: 56px !important; /* 64 -> 56 */
  }
}


/* TTC_MO_HERO_3BTN_ROW_V2 */
@media (max-width: 991.98px){
  /* 서브텍스트 제거 */
  body.responsive #nt_body .ttc-hero-sub{ display:none !important; }

  /* 컨테이너: row + nowrap 강제 (기존 flex-direction:column 룰 무력화) */
  body.responsive #nt_body .ttc-hero-cards.ttc-hero-cards.ttc-hero-cards{
    display:flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin: 10px 0 12px !important;
  }

  /* 카드: 1줄 3등분 */
  body.responsive #nt_body .ttc-hero-card.ttc-hero-card.ttc-hero-card{
    flex: 1 1 0 !important;
    min-width: 0 !important;          /* 기존 260px !important 무력화 */
    width: 0 !important;
    padding: 10px 6px !important;
    gap: 6px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 18px rgba(15,23,42,.08) !important;
  }

  body.responsive #nt_body .ttc-hero-ico{
    width: 40px !important;
    height: 40px !important;
    font-size: 26px !important;
    border-radius: 12px !important;
  }

  body.responsive #nt_body .ttc-hero-ttl{
    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }

  /* 내부 텍스트 래퍼 정렬 */
  body.responsive #nt_body .ttc-hero-card > div:last-child{
    display:flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
}


/* TTC_MO_KILL_SPACE_BETWEEN_GAP_V1 */
/* 모바일에서 상단 콘텐츠 + 하단 배너 사이 “큰 빈공간” 제거 (flex space-between / min-height 100vh 류 무력화) */
@media (max-width: 991.98px){

  /* #nt_body 자체가 flex/100vh일 가능성이 높음 */
  body.responsive #nt_body,
  body.responsive #nt_body.nt-body{
    min-height: auto !important;
    height: auto !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    gap: 0 !important;
  }

  /* flex를 쓰고 있으면 block으로 끊어서 ‘위/아래 붙이기’ */
  body.responsive #nt_body.nt-body{
    display: block !important;
  }

  /* 혹시 내부 래퍼가 flex/100vh인 경우까지 함께 커버 */
  body.responsive #nt_body > .container,
  body.responsive #nt_body > .container-fluid,
  body.responsive #nt_body > .row,
  body.responsive #nt_body > .wrap,
  body.responsive #nt_body > .wrapper{
    min-height: auto !important;
    height: auto !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
  }

  /* 배너 영역 자체 간격도 더 타이트하게 */
  body.responsive #nt_body a.ttc-top-banner{
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }
}


/* TTC_MO_TIGHTEN_OFFICIAL_AND_TOPBANNER_GAP_V1 */
@media (max-width: 991.98px){
  /* (A) '토토체크 공식보증업체' 섹션의 wrapper 여백 줄이기 (원인: mt-3 mb-4) */
  body.responsive #nt_body .px-3.px-sm-0.mt-3.mb-4{
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* (B) 배너 영역 자체도 위/아래 여백 최소 */
  body.responsive #nt_body a.ttc-top-banner{
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  body.responsive #nt_body .ttc-top-banner-inner{
    height: 52px !important;
  }
}


/* TTC_MO_SIDECOL_NO_PUSH_DOWN_V1 */
/* 모바일에서 사이드영역(na-col)이 아래로 밀리며 생기는 큰 빈공간 제거 */
@media (max-width: 991.98px){

  /* 사이드 컬럼 자체(배너가 들어있는 곳) */
  body.responsive #nt_body .na-col,
  body.responsive #nt_body .col-md-3.order-md-1.na-col{
    display: block !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
  }

  /* 혹시 na-col 또는 상위가 flex 컨테이너인 케이스(d-flex 등) */
  body.responsive #nt_body .na-col.d-flex,
  body.responsive #nt_body .d-flex.na-col{
    display: block !important;
  }

  /* 상위 row(레이아웃 row)가 flex/100vh/space-between인 케이스까지 커버 */
  body.responsive #nt_body .na-row,
  body.responsive #nt_body .row.na-row,
  body.responsive #nt_body .row{
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }

  /* 배너는 상단 콘텐츠에 최대한 붙여서 */
  body.responsive #nt_body .na-col a.ttc-top-banner{
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }

  /* 배너 높이도 살짝 줄임 */
  body.responsive #nt_body .na-col .ttc-top-banner-inner{
    height: 52px !important;
  }
}


/* TTC_MO_TIGHTEN_MAIN_TO_SIDEBANNER_GAP_V1 */
/* 모바일: "공식보증업체(메인)" -> "배너영역(사이드)" 사이 간격을 더 압축 */
@media (max-width: 991.98px){

  /* 1) 레이아웃 row/col 경계 자체 여백 제거 */
  body.responsive #nt_body .row.na-row{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.responsive #nt_body .col-md-9.order-md-2.na-col{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.responsive #nt_body .col-md-3.order-md-1.na-col{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* 2) '공식보증업체' 슬라이더 래퍼 (px-3 px-sm-0 mt-3 mb-4) 여백을 거의 0으로 */
  body.responsive #nt_body .px-3.px-sm-0.mt-3.mb-4{
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 3) 배너영역(추후 이미지/링크 삽입)도 더 위로 붙이기 */
  body.responsive #nt_body a.ttc-top-banner{
    margin-top: 4px !important;
    margin-bottom: 8px !important;
  }
  body.responsive #nt_body .ttc-top-banner-inner{
    height: 46px !important; /* 64 -> 52 -> 46 */
  }

  /* 4) 혹시 남아있는 큰 margin-bottom 유틸이 있으면(해당 구간만) 살짝 눌러서 체감 확보 */
  body.responsive #nt_body .row.na-row .mb-4{ margin-bottom: 8px !important; }
  body.responsive #nt_body .row.na-row .mt-3{ margin-top: 6px !important; }
}


/* TTC_MO_OFFICIAL_SLIDER_RATIO_V1 */
/* 모바일: '토토체크 공식보증업체' 슬라이더(owl basic-banner) 정사각(100%) → 16:9(56.25%)로 바꿔 빈공간 제거 */
@media (max-width: 991.98px){

  /* 공식보증업체 슬라이더 래퍼(HTML에 실제 존재) */
  body.responsive #nt_body .px-3.px-sm-0.mt-3.mb-4{
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 핵심: inline style="padding-bottom:100%;"도 !important로 덮어씀 */
  body.responsive #nt_body .px-3.px-sm-0.mt-3.mb-4 ul.owl-carousel.basic-banner .img-wrap{
    padding-bottom: 56.25% !important;
  }

  /* 이미지가 위에 몰리며 빈공간 생기는 것 방지(비율 맞으면 contain으로도 OK) */
  body.responsive #nt_body .px-3.px-sm-0.mt-3.mb-4 ul.owl-carousel.basic-banner img{
    object-fit: cover !important;     /* 빈공간 없애려면 cover가 가장 확실 */
    width: 100% !important;
    height: 100% !important;
  }

  /* 배너영역은 위 섹션과 동일한 간격으로(히어로-버튼 간격 수준) */
  body.responsive #nt_body a.ttc-top-banner{
    margin-top: 6px !important;
    margin-bottom: 10px !important;
  }
  body.responsive #nt_body .ttc-top-banner-inner{
    height: 48px !important;
  }
}



/* TTC_HIDE_BOTTOM_TAB_ON_TABLET_V1 */

/* 태블릿 이상: 하단 탭바 숨김 */


/* 모바일: 하단 탭바 표시(기존이 inline/display:none이어도 되살림) */
@media (max-width: 767.98px){
  body.responsive .ttc-tabbar,
  body.responsive .ttc-mobile-tabbar,
  body.responsive .ttc-bottom-nav,
  body.responsive .ttc-bottom-tab,
  body.responsive .ttc-mnav,
  body.responsive nav.ttc-tabbar,
  body.responsive nav.ttc-bottom-nav,
  body.responsive .fixed-bottom.ttc-tabbar,
  body.responsive .fixed-bottom.ttc-bottom-nav,
  body.responsive .fixed-bottom.ttc-bottom-tab,
  body.responsive .fixed-bottom.ttc-mnav{
    display: flex !important;
  }
}



/* TTC_BOTTOM_NAV_MOBILE_ONLY_V2 */
/* 기본: 숨김(태블릿/PC) */
#ttc-bottom-nav.ttc-bottom-nav{ display:none !important; }

/* 모바일만 표시 */
@media (max-width: 767.98px){
  #ttc-bottom-nav.ttc-bottom-nav{ display:flex !important; }
}

/* 태블릿 이상은 무조건 숨김(혹시 기존 display:flex !important 덮기용) */





/* 태블릿(768~1199): PC 메뉴를 “정석”으로 재구성 (햄버거 항상 표시 + hover 서브메뉴 확실) */


/* 태블릿(768~1199): PC 메뉴를 1줄 스크롤 + 햄버거 우측 고정 + 색/정렬 정리 */




/* 태블릿(768~1199): PC 헤더/PC 메뉴를 끄고 모바일 헤더(#header_mo)로 전환 (충돌 제거) */




/* 태블릿(768~1199): PC헤더 유지 + 로고 위/메뉴 아래 + 햄버거 항상 + 서브메뉴 hover 보장 */




/* 태블릿(768~1199): PC 헤더/나리야 메뉴 유지하면서 레이아웃만 정리 */




/* 태블릿(768~1439): PC 헤더 유지 + PC처럼 레드 메뉴바/햄버거/서브메뉴 정상 */




/* 태블릿(터치 포함)에서는 'PC 메뉴 스타일'을 그대로 쓰고, 로고 중앙정렬 + 서브메뉴 기능만 보강 */




/* 태블릿(터치)에서 PC 헤더 스타일은 유지하되, '안보임/hover안뜸' 기능 문제만 강제로 해결 */




/* 태블릿(768~1199): PC 메뉴 스타일은 그대로 유지 + 로고 중앙/위줄 + hover 서브메뉴/햄버거 가시성만 보강 */


/* 대형 iPad(예: 1366px)도 태블릿처럼 동작시키고 싶으면(PC 영향 없음) */




/* 태블릿(768~1439): 헤더/메뉴는 PC와 완전 동일하게(=tc-custom 헤더 관련 영향 제거) */




/* 태블릿(iPad 등 터치기기): PC 헤더/메뉴를 그대로 사용 + 기능만 보강(스타일/색/별/햄버거 모양은 PC 그대로) */




/* 태블릿: 헤더 중복을 '무조건' 제거 (header_mo OFF, header_pc ON) + 로고 중앙 + 메뉴는 PC 스타일 그대로 */




/* 목표: 태블릿에서만 "PC 메뉴 스타일 그대로" + 로고 중앙 + header_mo 완전 OFF */

/* (A) 작은/일반 태블릿: 폭 기준(시뮬레이터 포함) */


/* (B) 큰 태블릿(예: 1366): PC(1366) 깨짐 방지 위해 터치 기기에서만 */




/* 태블릿(768~1439): 메뉴는 전부 숨기고 로고만 중앙에 표시 */

/* TTC_BREAKPOINTS_MO_PC_ONLY_V3 */
/* 정책: 모바일(<=767.98) / 그 외(>=768=PC 동일, 태블릿 포함) */
#ttc-bottom-nav.ttc-bottom-nav{ display:none !important; }

@media (max-width: 767.98px){
  #header_mo{ display:block !important; }
  #header_pc{ display:none !important; }
  #ttc-bottom-nav.ttc-bottom-nav{ display:flex !important; }
}

@media (min-width: 768px){
  #header_pc{ display:block !important; }
  #header_mo{ display:none !important; }
  #ttc-bottom-nav.ttc-bottom-nav{ display:none !important; }
}


/* TTC_OUTLOGIN_CARD_AND_TOPBAR_BTNS_V20260126: 비로그인 로그인박스 카드 + (회원가입/정보찾기)=상단바 pill 버튼 스타일 복제 */

/* 카드: 연회색 바탕 + 그림자 (기존 TTC_OUTLOGIN_CARD_VISUAL 위에 덮어써도 안전) */
#basic_outlogin{
  background:#f7f7f7 !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:18px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.14) !important;
  padding:18px 18px 14px !important;
}

/* 하단 줄: 자동로그인(좌) / 버튼(우) */
#basic_outlogin .clearfix.f-sm{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
#basic_outlogin .clearfix.f-sm .float-left{
  flex:1 1 auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
}
#basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{
  flex:0 0 auto !important;
  margin-left:auto !important;          /* 더 우측 */
  display:flex !important;
  justify-content:flex-end !important;
  gap:6px !important;                   /* 버튼 간격 축소 */
  white-space:nowrap !important;
}

/* 자동로그인 토글/텍스트 동일선상 */
#basic_outlogin .custom-control.custom-switch{ display:flex !important; align-items:center !important; }
#basic_outlogin .custom-control-label.float-left{ float:none !important; }
#basic_outlogin .custom-control-label{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  line-height:1 !important;
}

/* ===== 상단바(#nt_lnb 우측 pill 버튼) 스타일을 outlogin 버튼에 복제 ===== */
/* 공통 pill */
#basic_outlogin .ttc-outlogin-actions a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  line-height:1 !important;
  border:2px solid #d32f2f !important;
  background:#fff !important;
  color:#d32f2f !important;
}

/* 로그인 스타일(채움)과 동일하게: 정보찾기 = 채움 */
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]{
  background:#d32f2f !important;
  color:#fff !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]:hover{
  filter:brightness(.96) !important;
}

/* 회원가입 = 아웃라인 */
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]:hover{
  background:rgba(211,47,47,.06) !important;
}


/* TTC_OUTLOGIN_NO_OVERLAP_V20260126: 하단(자동로그인/버튼) 겹침 방지 - grid로 고정 */
#basic_outlogin .clearfix.f-sm{
  display:grid !important;
  grid-template-columns: minmax(0,1fr) auto !important; /* 좌측은 줄어들 수 있게, 우측은 고정 */
  align-items:center !important;
  column-gap:12px !important;
}

/* 좌측(자동로그인) 영역이 우측과 겹치지 않게 */
#basic_outlogin .clearfix.f-sm .float-left{
  min-width:0 !important;
  overflow:hidden !important;
}
#basic_outlogin .custom-control-label{
  white-space:nowrap !important;
}

/* 우측(회원가입/정보찾기) 항상 우측 정렬 + 한 줄 */
#basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}


/* TTC_MO_MENUBAR_ROLLBACK_V20260126: 모바일 메뉴바(레드 배경) 원복 */
@media (max-width: 767.98px){
  #header_mo .ttc-mo-menubar{ background:#fff !important; border-bottom:1px solid rgba(0,0,0,.08) !important; }
  #header_mo .ttc-mo-menu-item{ color:#111 !important; font-weight:700 !important; }
  #header_mo .ttc-mo-menu-item i{ color:#d32f2f !important; }
}


/* TTC_OUTLOGIN_FIX_V20260126: 자동로그인 토글/텍스트 잘림 방지 + 버튼 스왑/축소 + hover 확대 */

/* 하단 레이아웃: 겹침 없게 flex로 고정 */
#basic_outlogin .clearfix.f-sm{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

/* 좌측(자동로그인): 토글이 보이도록 overflow 제거 + 최소폭 확보 */
#basic_outlogin .clearfix.f-sm .float-left{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  min-width:140px !important;  /* 여기서 텍스트/토글 공간 확보 */
  overflow:visible !important;
}

/* 우측(버튼): 항상 오른쪽 + 간격 축소 */
#basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  margin-left:auto !important;
  gap:4px !important;          /* 버튼 간격 더 줄임 */
  white-space:nowrap !important;
}

/* 자동로그인 토글/텍스트 동일선상 + 잘림 방지 */
#basic_outlogin .custom-control.custom-switch{
  display:flex !important;
  align-items:center !important;
}
#basic_outlogin .custom-control-label.float-left{ float:none !important; }
#basic_outlogin .custom-control-label{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;  /* 텍스트 줄바꿈 방지 */
  font-size:13px !important;      /* 텍스트는 모두 보이도록(너무 크지 않게) */
}
#basic_outlogin .custom-switch .custom-control-label::before,
#basic_outlogin .custom-switch .custom-control-label::after{
  top:50% !important;
  transform:translateY(-50%) !important;
}

/* ===== pill 버튼: 크기/텍스트 조금 축소 + hover 확대 ===== */
#basic_outlogin .ttc-outlogin-actions a{
  height:32px !important;
  padding:0 12px !important;
  font-size:12px !important;
  border-radius:999px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  line-height:1 !important;
  border:2px solid #d32f2f !important;
  transition: transform .12s ease, filter .12s ease, background .12s ease !important;
}
#basic_outlogin .ttc-outlogin-actions a:hover{
  transform: scale(1.03) !important;   /* 확대 hover */
}

/* 스타일 스왑:
   - 회원가입(register) = 채움(filled)
   - 정보찾기(password_lost) = 아웃라인(outline)
*/
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]{
  background:#d32f2f !important;
  color:#fff !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]:hover{
  filter:brightness(.96) !important;
}

#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]{
  background:#fff !important;
  color:#d32f2f !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]:hover{
  background:rgba(211,47,47,.06) !important;
}

/* 매우 좁은 폭에서는 2줄 허용(겹침 방지) */
@media (max-width: 420px){
  #basic_outlogin .clearfix.f-sm{ flex-wrap:wrap !important; }
  #basic_outlogin .clearfix.f-sm .float-left{ width:100% !important; }
  #basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{ width:100% !important; }
}


/* TTC_OUTLOGIN_FINAL_UI_V20260126: outlogin 하단 최종 안정화(겹침/잘림/hover 대비/영역벗어남 해결) */

/* 카드 밖으로 안 나가게 */
#basic_outlogin{ overflow:hidden !important; }

/* 하단: 기본은 한 줄, 좁으면 wrap(겹침 대신 2줄) */
#basic_outlogin .clearfix.f-sm{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}

/* 자동로그인 영역: 토글이 잘리지 않게 */
#basic_outlogin .clearfix.f-sm .float-left{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  min-width:150px !important;       /* 토글+텍스트 공간 확보 */
  overflow:visible !important;      /* 토글 pseudo-element 잘림 방지 */
}

/* 버튼 영역: 우측 고정 + 간격 축소 */
#basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  margin-left:auto !important;
  gap:4px !important;
  white-space:nowrap !important;
}

/* 자동로그인 토글/텍스트 동일선상 */
#basic_outlogin .custom-control.custom-switch{ display:flex !important; align-items:center !important; }
#basic_outlogin .custom-control-label.float-left{ float:none !important; }
#basic_outlogin .custom-control-label{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  font-size:13px !important;        /* 텍스트는 잘리지 않게, 과도하게 크지 않게 */
}
#basic_outlogin .custom-switch .custom-control-label::before,
#basic_outlogin .custom-switch .custom-control-label::after{
  top:50% !important;
  transform:translateY(-50%) !important;
}

/* 버튼 공통: 크기/텍스트 약간 축소 + hover 시 대비 유지(확대 없음) */
#basic_outlogin .ttc-outlogin-actions a{
  height:30px !important;
  padding:0 12px !important;
  font-size:12px !important;
  border-radius:999px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  line-height:1 !important;
  border:2px solid #d32f2f !important;
  transition: filter .12s ease, background .12s ease, color .12s ease !important;
}

/* 스타일 스왑:
   회원가입(register)=채움, 정보찾기(password_lost)=아웃라인
*/
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]{
  background:#d32f2f !important;
  color:#fff !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]:hover{
  filter:brightness(.96) !important;
  color:#fff !important;            /* hover에도 흰색 유지(안 보이는 문제 방지) */
}

#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]{
  background:#fff !important;
  color:#d32f2f !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]:hover{
  background:rgba(211,47,47,.06) !important;
  color:#d32f2f !important;
}

/* 매우 좁은 폭: 겹치지 않게 2줄로 전환(자동로그인 1줄 + 버튼 1줄) */
@media (max-width: 420px){
  #basic_outlogin .clearfix.f-sm{ flex-wrap:wrap !important; }
  #basic_outlogin .clearfix.f-sm .float-left{ width:100% !important; min-width:0 !important; }
  #basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{ width:100% !important; }
}


/* TTC_OUTLOGIN_ROW_GRID_V20260126: 하단(자동로그인/회원가입/정보찾기) PC 1줄, 태블릿 2줄 고정 + 영역 밖 방지 */

/* 기본(PC 포함): 1줄 3열 grid */
#basic_outlogin .clearfix.f-sm{
  display:grid !important;
  grid-template-columns: minmax(150px, 1fr) auto auto !important; /* 자동로그인 최소폭, 버튼 2개는 내용폭 */
  align-items:center !important;
  column-gap:8px !important;
  row-gap:10px !important;
}

/* float 제거 + overflow 방지 */
#basic_outlogin .clearfix.f-sm .float-left,
#basic_outlogin .clearfix.f-sm .float-right{
  float:none !important;
  min-width:0 !important;
}

/* 자동로그인 칸 */
#basic_outlogin .clearfix.f-sm .float-left{
  grid-column:1 !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
  white-space:nowrap !important;
}

/* 버튼 컨테이너는 grid에서 해체하고 a를 직접 배치 */
#basic_outlogin .clearfix.f-sm .float-right.ttc-outlogin-actions{
  display:contents !important;
}

/* 2개 버튼은 각 칸에 배치 + 카드 밖으로 나가지 않게 */
#basic_outlogin .clearfix.f-sm a[href*="register.php"]{
  grid-column:2 !important;
  justify-self:end !important;
}
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  grid-column:3 !important;
  justify-self:end !important;
}
#basic_outlogin .clearfix.f-sm a[href*="register.php"],
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  max-width:100% !important;
}

/* ===== 태블릿: 2줄 (자동로그인 위, 버튼 2개 아래 한줄) ===== */
@media (min-width:768px) and (max-width:1199px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
  }
  #basic_outlogin .clearfix.f-sm .float-left{
    grid-column:1 / 3 !important;
    justify-content:flex-start !important;
  }
  #basic_outlogin .clearfix.f-sm a[href*="register.php"]{
    grid-column:1 !important;
    justify-self:stretch !important;
    width:100% !important;
  }
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
    grid-column:2 !important;
    justify-self:stretch !important;
    width:100% !important;
  }
  /* 버튼 2개가 같은 높이로 꽉 차게 */
  #basic_outlogin .clearfix.f-sm a[href*="register.php"],
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
    justify-content:center !important;
  }
}

/* ===== 아주 좁은 모바일: 2줄(겹침 방지) ===== */
@media (max-width:420px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
  }
  #basic_outlogin .clearfix.f-sm .float-left{ grid-column:1 / 3 !important; }
  #basic_outlogin .clearfix.f-sm a[href*="register.php"]{ grid-column:1 !important; width:100% !important; }
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{ grid-column:2 !important; width:100% !important; }
}


/* TTC_OUTLOGIN_HARD_RESET_V20260126B: outlogin 하단 1줄(PC)/2줄(태블릿) + 버튼 영역 밖 방지 */
#basic_outlogin{ overflow:hidden !important; }

#basic_outlogin .clearfix.f-sm{
  display:grid !important;
  grid-template-columns: minmax(170px, 1fr) minmax(0, 130px) minmax(0, 130px) !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

#basic_outlogin .clearfix.f-sm > .float-left{ 
  grid-column:1 !important; 
  float:none !important;
  display:flex !important;
  align-items:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

#basic_outlogin .clearfix.f-sm > .float-right{ 
  float:none !important;
  display:contents !important;   /* 버튼을 grid에 직접 올림 */
}

#basic_outlogin .clearfix.f-sm a[href*="register.php"]{
  grid-column:2 !important;
  width:100% !important;
  max-width:100% !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  grid-column:3 !important;
  width:100% !important;
  max-width:100% !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}

/* 태블릿: 자동로그인 위, 버튼 2개 아래 1줄 */
@media (min-width:768px) and (max-width:1199px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-left{ grid-column:1 / 3 !important; }
  #basic_outlogin .clearfix.f-sm a[href*="register.php"]{ grid-column:1 !important; }
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{ grid-column:2 !important; }
}


/* TTC_OUTLOGIN_PILL_BTNS_V20260126: outlogin 회원가입/정보찾기 pill 버튼 + hover 확대 + 태블릿 중앙정렬 + 줄바꿈 금지 */
#basic_outlogin{ overflow:hidden !important; }

/* 하단: PC 1줄(3열), 태블릿 2줄 */
#basic_outlogin .clearfix.f-sm{
  display:grid !important;
  grid-template-columns: minmax(170px, 1fr) minmax(0, 130px) minmax(0, 130px) !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  box-sizing:border-box !important;
}

/* float 무력화 */
#basic_outlogin .clearfix.f-sm > .float-left,
#basic_outlogin .clearfix.f-sm > .float-right{
  float:none !important;
  min-width:0 !important;
}

/* 자동로그인(좌) */
#basic_outlogin .clearfix.f-sm > .float-left{
  grid-column:1 !important;
  display:flex !important;
  align-items:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

/* 버튼 컨테이너 해체: a를 grid에 직접 올림 */
#basic_outlogin .clearfix.f-sm > .float-right.ttc-outlogin-actions{
  display:contents !important;
}

/* a를 버튼처럼 강제(클래스 없어도 적용) */
#basic_outlogin .clearfix.f-sm a[href*="register.php"],
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  width:100% !important;
  max-width:100% !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;

  font-weight:900 !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;     /* 텍스트 줄바꿈 금지 */
  text-decoration:none !important;

  border:2px solid #d32f2f !important;
  transition: transform .12s ease, filter .12s ease, background .12s ease, color .12s ease !important;
}

/* hover 확대(카드 밖 안 나가게 overflow:hidden 유지) */
#basic_outlogin .clearfix.f-sm a[href*="register.php"]:hover,
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]:hover{
  transform:scale(1.03) !important;
}

/* 스타일: 회원가입=채움, 정보찾기=아웃라인 */
#basic_outlogin .clearfix.f-sm a[href*="register.php"]{
  background:#d32f2f !important;
  color:#fff !important;
}
#basic_outlogin .clearfix.f-sm a[href*="register.php"]:hover{
  filter:brightness(.96) !important;
  color:#fff !important;
}

#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  background:#fff !important;
  color:#d32f2f !important;
}
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]:hover{
  background:rgba(211,47,47,.06) !important;
  color:#d32f2f !important;
}

/* grid 칸 배치 */
#basic_outlogin .clearfix.f-sm a[href*="register.php"]{ grid-column:2 !important; }
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{ grid-column:3 !important; }

/* 태블릿: 자동로그인 위 / 버튼 아래 + 전체 중앙정렬 */
@media (min-width:768px) and (max-width:1199px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    justify-items:center !important;   /* 중앙정렬 */
  }
  #basic_outlogin .clearfix.f-sm > .float-left{
    grid-column:1 / 3 !important;
    justify-content:center !important; /* 자동로그인도 중앙 */
  }
  #basic_outlogin .clearfix.f-sm a[href*="register.php"]{ grid-column:1 !important; }
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{ grid-column:2 !important; }
}

/* 매우 좁은 모바일도 동일 2줄 */
@media (max-width:420px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    justify-items:center !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-left{ grid-column:1 / 3 !important; justify-content:center !important; }
}


/* TTC_OUTLOGIN_PILL_PC_FIX_V20260126: PC에서 pill 버튼이 원형처럼 보이는 문제(폭/크기) 수정 */

/* PC 기본 grid: 버튼 2칸을 auto가 아니라 "최소폭" 보장 */
@media (min-width: 1200px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: minmax(200px, 1fr) minmax(120px, 150px) minmax(120px, 150px) !important;
    gap:10px !important;
  }
}

/* 버튼 크기 업(PC에서만) */
@media (min-width: 1200px){
  #basic_outlogin .clearfix.f-sm a[href*="register.php"],
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
    height:38px !important;
    padding:0 16px !important;
    font-size:13px !important;
    border-radius:14px !important;   /* pill(999px) 대신 버튼 느낌 */
  }
}


/* TTC_OUTLOGIN_BTN_CLIP_FIX_V20260126: 버튼이 오른쪽으로 밀려 잘리는 문제 해결 + 정보찾기 연핑크/무테 */

/* 하단 grid는 유지하되, 버튼은 'end' 정렬 금지하고 칸을 꽉 채우게 */
#basic_outlogin .clearfix.f-sm a[href*="register.php"],
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  justify-self:stretch !important;   /* 오른쪽 밀림 방지 */
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

/* 혹시 남아있는 우측정렬 규칙 무력화 */
#basic_outlogin .clearfix.f-sm{
  justify-items:stretch !important;
}
#basic_outlogin .clearfix.f-sm .float-right{
  justify-content:unset !important;
  margin-left:0 !important;
}

/* 정보찾기: 연한 핑크 배경 + 테두리 제거 */
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  background:rgba(211,47,47,.12) !important; /* 연핑크 */
  color:#d32f2f !important;
  border:0 !important;
}
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]:hover{
  background:rgba(211,47,47,.18) !important;
  color:#d32f2f !important;
}


/* TTC_OUTLOGIN_GRID_FIT_V20260126: PC 1줄(자동로그인/회원가입/정보찾기) + 폭 부족 시 2줄로 전환(잘림 방지) */
#basic_outlogin{ overflow:hidden !important; }

/* 기본(PC 포함): 버튼 칸을 fr로 만들어 카드 안에서 자동으로 줄어들게 */
#basic_outlogin .clearfix.f-sm{
  display:grid !important;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  width:100% !important;
  box-sizing:border-box !important;
}

/* float 무력화 + 버튼 컨테이너 해체 */
#basic_outlogin .clearfix.f-sm > .float-left{ float:none !important; grid-column:1 !important; min-width:0 !important; }
#basic_outlogin .clearfix.f-sm > .float-right.ttc-outlogin-actions{ float:none !important; display:contents !important; }

/* 버튼은 각 칸을 꽉 채우고 절대 밖으로 못 나감 */
#basic_outlogin .clearfix.f-sm a[href*="register.php"]{
  grid-column:2 !important;
  width:100% !important;
  max-width:100% !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{
  grid-column:3 !important;
  width:100% !important;
  max-width:100% !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}

/* 텍스트 줄바꿈 금지 */
#basic_outlogin .clearfix.f-sm a[href*="register.php"],
#basic_outlogin .clearfix.f-sm a[href*="password_lost.php"],
#basic_outlogin .custom-control-label{
  white-space:nowrap !important;
}

/* 카드 폭이 부족한 구간(PC에서도 발생 가능): 2줄로 전환 */
@media (max-width: 520px){
  #basic_outlogin .clearfix.f-sm{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    justify-items:stretch !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-left{ grid-column:1 / 3 !important; }
  #basic_outlogin .clearfix.f-sm a[href*="register.php"]{ grid-column:1 !important; }
  #basic_outlogin .clearfix.f-sm a[href*="password_lost.php"]{ grid-column:2 !important; }
}


/* TTC_OUTLOGIN_BTN_FINALFIX_V20260126: outlogin 하단 레이아웃/버튼 최종 고정 (PC 1줄, 태블릿 2줄) */

/* 하단은 flex로 단일화(기존 grid/contents 충돌 제거) */
#basic_outlogin .clearfix.f-sm{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:nowrap !important; /* PC는 무조건 1줄 */
  width:100% !important;
  box-sizing:border-box !important;
}

/* 좌측(자동로그인) */
#basic_outlogin .clearfix.f-sm > .float-left{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  flex:1 1 auto !important;
  min-width:180px !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

/* 우측(버튼 2개) */
#basic_outlogin .clearfix.f-sm > .float-right.ttc-outlogin-actions{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex:0 0 auto !important;
  margin-left:auto !important;
  white-space:nowrap !important;
}

/* 토글/텍스트 동일선 + 줄바꿈 금지 */
#basic_outlogin .custom-control.custom-switch{ display:flex !important; align-items:center !important; }
#basic_outlogin .custom-control-label.float-left{ float:none !important; }
#basic_outlogin .custom-control-label{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  font-size:13px !important;
}
#basic_outlogin .custom-switch .custom-control-label::before,
#basic_outlogin .custom-switch .custom-control-label::after{
  top:50% !important;
  transform:translateY(-50%) !important;
}

/* 버튼 공통: 절대 원형으로 안 찌그러지게 min-width 보장 */
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"],
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:38px !important;
  min-width:120px !important;     /* 핵심 */
  padding:0 16px !important;
  border-radius:14px !important;
  font-weight:900 !important;
  font-size:13px !important;
  line-height:1 !important;
  white-space:nowrap !important;  /* 텍스트 줄바꿈 금지 */
  text-decoration:none !important;
  box-sizing:border-box !important;
  transition: transform .12s ease, filter .12s ease, background .12s ease, color .12s ease !important;
}
#basic_outlogin .ttc-outlogin-actions a:hover{
  transform:scale(1.03) !important; /* hover 살짝 확대 */
}

/* 회원가입: 채움(레드) */
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]{
  background:#d32f2f !important;
  color:#fff !important;
  border:2px solid #d32f2f !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="register.php"]:hover{
  filter:brightness(.96) !important;
  color:#fff !important;
}

/* 정보찾기: 연핑크 + 무테 */
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]{
  background:rgba(211,47,47,.14) !important;
  color:#d32f2f !important;
  border:0 !important;
}
#basic_outlogin .ttc-outlogin-actions a[href*="password_lost.php"]:hover{
  background:rgba(211,47,47,.20) !important;
  color:#d32f2f !important;
}

/* 태블릿: 자동로그인 위(중앙), 아래 버튼 2개 1줄(중앙) */
@media (min-width:768px) and (max-width:1199px){
  #basic_outlogin .clearfix.f-sm{
    flex-wrap:wrap !important;
    justify-content:center !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-left{
    width:100% !important;
    justify-content:center !important;
    min-width:0 !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-right.ttc-outlogin-actions{
    width:100% !important;
    justify-content:center !important;
    margin-left:0 !important;
  }
  #basic_outlogin .ttc-outlogin-actions a{
    flex:0 1 180px !important;
  }
}


/* TTC_HAMBURGER_WHITE_BG_V20260126: 햄버거(사이드바) 배경 흰색 고정 */
#nt_sidebar{ background:#fff !important; color:#111 !important; }
#nt_sidebar .bg-primary, #nt_sidebar .bg-danger{ background:#fff !important; }
#nt_sidebar .bg-primary *, #nt_sidebar .bg-danger *{ color:#111 !important; }
#nt_sidebar a{ color:inherit !important; }
#nt_sidebar_mask{ background:rgba(0,0,0,.45) !important; }


/* TTC_MO_MENUBAR_RED_WHITE_V20260126: 모바일 상단 메뉴바 빨강+흰글씨 강제 */
@media (max-width: 767.98px){
  #header_mo .ttc-mo-menubar{ background:#d32f2f !important; border-bottom:1px solid rgba(0,0,0,.10) !important; }
  #header_mo .ttc-mo-menu-item{ color:#fff !important; font-weight:800 !important; }
  #header_mo .ttc-mo-menu-item i{ color:#fff !important; }
}

/* TTC_OUTLOGIN_BTNROW_FIX_V20260126C: PC=한줄(자동로그인+2버튼 우측끝), 태블릿=자동로그인 아래 2버튼 중앙정렬 + hover(확대) + 정보찾기 hover 색반전 */
#basic_outlogin .clearfix.f-sm{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:6px !important;
  flex-wrap:nowrap !important;

  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding-right:0 !important;
}

#basic_outlogin .clearfix.f-sm > .float-left{
  float:none !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  overflow:visible !important;
  white-space:nowrap !important;
}

#basic_outlogin .clearfix.f-sm > .float-right{
  float:none !important;
  margin-left:auto !important;

  display:flex !important;
  gap:6px !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;

  position:relative !important;
  right:-6px !important; /* PC에서 우측 끝으로 더 붙이기 */
}

#basic_outlogin .clearfix.f-sm > .float-right a[href*="register.php"],
#basic_outlogin .clearfix.f-sm > .float-right a[href*="password_lost.php"]{
  width:auto !important;
  max-width:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:24px !important;
  padding:0 8px !important;
  min-width:60px !important;
  font-size:11px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;

  border-radius:9999px !important;

  transition:
    transform .12s ease,
    filter .12s ease,
    background-color .12s ease,
    color .12s ease,
    box-shadow .12s ease !important;
  transform-origin:center !important;
  will-change:transform;
}

#basic_outlogin .clearfix.f-sm > .float-right a[href*="register.php"]:hover,
#basic_outlogin .clearfix.f-sm > .float-right a[href*="password_lost.php"]:hover{
  transform:scale(1.06) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.12) !important;
}

#basic_outlogin .clearfix.f-sm > .float-right a[href*="register.php"]{
  background:#d32f2f !important;
  color:#fff !important;
  border:0 !important;
}
#basic_outlogin .clearfix.f-sm > .float-right a[href*="register.php"]:hover{
  filter:brightness(.96) !important;
}

#basic_outlogin .clearfix.f-sm > .float-right a[href*="password_lost.php"]{
  background:#f6dada !important;
  color:#d32f2f !important;
  border:0 !important;
}
#basic_outlogin .clearfix.f-sm > .float-right a[href*="password_lost.php"]:hover{
  background:#d32f2f !important;
  color:#fff !important;
  filter:none !important;
}

/* 태블릿: 자동로그인(1줄) + 아래 줄에 2버튼 나란히 중앙정렬 */
@media (min-width:768px) and (max-width:1199.98px){
  #basic_outlogin .clearfix.f-sm{
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:8px !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-left{
    flex:0 0 100% !important;
  }
  #basic_outlogin .clearfix.f-sm > .float-right{
    width:100% !important;
    margin-left:0 !important;
    right:0 !important;                /* 태블릿에서는 우측 밀기 제거 */
    justify-content:center !important;
  }
}

/* 모바일도 동일하게(아래 2버튼 중앙정렬) */
@media (max-width:767.98px){
  #basic_outlogin .clearfix.f-sm{ flex-wrap:wrap !important; }
  #basic_outlogin .clearfix.f-sm > .float-left{ flex:0 0 100% !important; }
  #basic_outlogin .clearfix.f-sm > .float-right{
    width:100% !important;
    margin-left:0 !important;
    right:0 !important;
    justify-content:center !important;
  }
}
/* /TTC_OUTLOGIN_BTNROW_FIX_V20260126C */

/* TTC_TOPBAR_REGISTER_NOBORDER_V20260126: 상단바 회원가입 버튼 테두리 제거 */
#nt_lnb ul.float-right a[href*="register.php"]{
  border:0 !important;
  box-shadow:none !important;
}
/* /TTC_TOPBAR_REGISTER_NOBORDER_V20260126 */

/* TTC_SUBMENU_ACTIVE_FIX_20260126 */
@media (min-width: 992px){
  /* PC 헤더 드롭다운 서브메뉴만 영향 */
  #header_pc .ttc-header-menu #nt_menu .sub-1div{
    background: var(--ttc-primary, #d32f2f) !important;
  }

  /* 기본(비선택 포함): 항상 테마색 배경 + 흰글씨 */
  #header_pc .ttc-header-menu #nt_menu .sub-1div a{
    display:block;
    color:#fff !important;
    background: var(--ttc-primary, #d32f2f) !important;
    opacity:1 !important;
    text-decoration:none !important;
    font-weight:400 !important;
  }

  /* hover/focus: 같은 톤(살짝 밝게) */
  #header_pc .ttc-header-menu #nt_menu .sub-1div a:hover,
  #header_pc .ttc-header-menu #nt_menu .sub-1div a:focus{
    background: linear-gradient(rgba(255,255,255,.10), rgba(255,255,255,.10)), var(--ttc-primary, #d32f2f) !important;
    color:#fff !important;
  }

  /* 선택된 항목만 bold (색은 동일 유지) */
  #header_pc .ttc-header-menu #nt_menu .sub-1div li.on > a,
  #header_pc .ttc-header-menu #nt_menu .sub-1div li.active > a,
  #header_pc .ttc-header-menu #nt_menu .sub-1div a.on,
  #header_pc .ttc-header-menu #nt_menu .sub-1div a.active,
  #header_pc .ttc-header-menu #nt_menu .sub-1div a[aria-current="page"]{
    font-weight:700 !important;
  }
}
/* /TTC_SUBMENU_ACTIVE_FIX_20260126 */



/* TTC_MOBILE_BOTNAV_TUNE_V1_20260127 */
@media (max-width: 767px) {
  /* 컨테이너 높이 10% 정도 증가(대부분 56px 전후라 62px로) */
  .ttc-bnav, .ttc-bottom-nav, #ttc-bnav {
    min-height: 62px !important;
  }

  /* 아이템: 세로 여백 증가 + 텍스트 굵게/크게 */
  a.ttc-bnav-item {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* 라벨 텍스트(구조가 달라도 최대한 커버) */
  a.ttc-bnav-item,
  a.ttc-bnav-item span,
  a.ttc-bnav-item .txt,
  a.ttc-bnav-item .label {
    font-weight: 800 !important;
    font-size: 13px !important;
  }
}


/* TTC_MOBILE_BOTNAV_HOME_ICONONLY_V1_20260127 */
@media (max-width: 767px) {
  /* 홈 탭: href가 / 또는 index.php 인 항목을 홈으로 간주 */
  a.ttc-bnav-item[href="/"],
  a.ttc-bnav-item[href$="/index.php"],
  a.ttc-bnav-item[href$="index.php"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* 홈 텍스트 숨김(구조가 달라도 커버) */
  a.ttc-bnav-item[href="/"] .txt,
  a.ttc-bnav-item[href$="/index.php"] .txt,
  a.ttc-bnav-item[href$="index.php"] .txt,
  a.ttc-bnav-item[href="/"] .label,
  a.ttc-bnav-item[href$="/index.php"] .label,
  a.ttc-bnav-item[href$="index.php"] .label,
  a.ttc-bnav-item[href="/"] span,
  a.ttc-bnav-item[href$="/index.php"] span,
  a.ttc-bnav-item[href$="index.php"] span {
    display:none !important;
  }

  /* 홈 아이콘 확대: i(img/svg) 모두 대응 */
  a.ttc-bnav-item[href="/"] i,
  a.ttc-bnav-item[href$="/index.php"] i,
  a.ttc-bnav-item[href$="index.php"] i {
    font-size: 26px !important;
    line-height: 1 !important;
  }
  a.ttc-bnav-item[href="/"] svg,
  a.ttc-bnav-item[href$="/index.php"] svg,
  a.ttc-bnav-item[href$="index.php"] svg {
    width: 26px !important;
    height: 26px !important;
  }
  a.ttc-bnav-item[href="/"] img,
  a.ttc-bnav-item[href$="/index.php"] img,
  a.ttc-bnav-item[href$="index.php"] img {
    width: 26px !important;
    height: 26px !important;
  }
}


/* TTC_MOBILE_BOTNAV_HOME_ICONONLY_V2_20260127 */
@media (max-width: 767px) {
  /* 홈: 텍스트는 숨기고 아이콘만 크게 */
  a.ttc-bnav-item.ttc-bnav-home {
    font-size: 0 !important;          /* 텍스트(홈) 숨김 */
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  /* 아이콘만 크게(FA/i, svg, img 모두 대응) */
  a.ttc-bnav-item.ttc-bnav-home i {
    font-size: 28px !important;
    line-height: 1 !important;
  }
  a.ttc-bnav-item.ttc-bnav-home svg {
    width: 28px !important;
    height: 28px !important;
  }
  a.ttc-bnav-item.ttc-bnav-home img {
    width: 28px !important;
    height: 28px !important;
  }

  /* 혹시 span 라벨이 따로 있으면 추가로 숨김 */
  a.ttc-bnav-item.ttc-bnav-home .txt,
  a.ttc-bnav-item.ttc-bnav-home .label {
    display: none !important;
  }
}


/* TTC_MOBILE_BOTNAV_HOME_ICONONLY_V3_20260127 */
@media (max-width: 767px) {
  /* 홈 탭: 아이콘만 크게, 가운데 정렬 */
  a.ttc-bnav-item.ttc-bnav-home {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    line-height:1 !important;
    font-size: 30px !important;      /* pseudo-icon(:before) 케이스도 커버 */
  }

  /* 혹시 CSS로 라벨을 찍는 경우 차단 */
  a.ttc-bnav-item.ttc-bnav-home:after {
    content: none !important;
    display: none !important;
  }

  /* 아이콘 요소가 있는 경우 확대 */
  a.ttc-bnav-item.ttc-bnav-home i,
  a.ttc-bnav-item.ttc-bnav-home i:before {
    font-size: 30px !important;
    line-height:1 !important;
  }
  a.ttc-bnav-item.ttc-bnav-home svg {
    width: 30px !important;
    height: 30px !important;
  }
  a.ttc-bnav-item.ttc-bnav-home img {
    width: 30px !important;
    height: 30px !important;
  }
}

/* TTC_SUBNAV_GROUP_V1_20260127 */
:root { --ttc-red: #d60000; }

#ttc_subnav { margin: 28px 0; }
#ttc_subnav .ttc-subnav-card{
  display:flex;
  align-items:stretch;
  border:3px solid var(--ttc-red);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow: 0 6px 14px rgba(0,0,0,.06);
}
#ttc_subnav .ttc-subnav-main{
  background:var(--ttc-red);
  color:#fff;
  font-weight:800;
  font-size:22px;
  letter-spacing:-0.5px;
  padding:10px 24px;
  display:flex;
  align-items:center;
  white-space:nowrap;
  min-width:170px;
  justify-content:center;
}
#ttc_subnav .ttc-subnav-tabs{
  flex:1;
  display:flex;
  align-items:flex-end;
  gap:24px;
  padding:10px 28px 8px;
  overflow:auto;
  white-space:nowrap;
}
#ttc_subnav .ttc-subnav-tabs::-webkit-scrollbar{ height:0; }
#ttc_subnav .ttc-subnav-tab{
  color:#111;
  font-weight:800;
  text-decoration:none;
  padding-bottom:6px;
  border-bottom:4px solid transparent;
}
#ttc_subnav .ttc-subnav-tab:hover{ color:var(--ttc-red); }
#ttc_subnav .ttc-subnav-tab.active{
  color:var(--ttc-red);
  border-bottom-color:var(--ttc-red);
}

@media (max-width: 991px){
  #ttc_subnav{ margin: 18px 0; }
  #ttc_subnav .ttc-subnav-card{ border-width:2px; border-radius:12px; }
  #ttc_subnav .ttc-subnav-main{ font-size:18px; padding:9px 16px; min-width:120px; }
  #ttc_subnav .ttc-subnav-tabs{ gap:16px; padding:9px 16px 7px; }
  #ttc_subnav .ttc-subnav-tab{ font-size:15px; }
}

/* TTC_SUBNAV_GROUP_V1_20260127_INCONTENT_OVERRIDE */#ttc_subnav.ttc-subnav--incontent{ margin: 0 0 10px; }
#ttc_subnav.ttc-subnav--incontent .ttc-subnav-card{ width:100%; }


/* TTC_HOME_CARDS_AND_SAFE_TITLE_V1_20260127 */

/* hero 카드 아이콘(FA) 정렬/크기 */
.ttc-hero-ico i {
  font-size: 30px;
  line-height: 1;
}

/* '토토체크 공식보증업체' 타이틀 크게 */
.ttc-home-safe-title {
  font-size: 22px;
  font-weight: 800;
}

/* 서브문구 */
.ttc-home-safe-sub {
  margin-top: 6px;
  font-size: 13px;
  opacity: .82;
}

/* 반짝 별 */
.ttc-sparkle-star {
  display: inline-block;
  margin: 0 10px;
  color: #dc3545;
  animation: ttcSparkle 1.15s ease-in-out infinite;
}
.ttc-sparkle-star:last-child {
  animation-delay: .55s;
}
@keyframes ttcSparkle {
  0%,100% { transform: scale(1) rotate(0deg); opacity: .72; }
  50%     { transform: scale(1.35) rotate(18deg); opacity: 1; }
}


/* TTC_SAFE_TITLE_MATCH_MENU_STAR_V1_20260128 */

/* 1) 상단 우측 버튼: dropdown 제거 후에도 확실히 버튼처럼 보이게(내정보 포함) */
#lnb ul.float-right > li > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* 2) 메인/보증업체 페이지 타이틀: 노란 반짝별(메뉴 느낌) */
.ttc-sparkle-star {
  color: #ffd400 !important;           /* 노란별 */
  text-shadow: 0 0 10px rgba(255, 212, 0, .55);
  filter: drop-shadow(0 4px 8px rgba(255, 212, 0, .25));
  animation: ttcMenuStarSpark 1.15s ease-in-out infinite;
}
.ttc-sparkle-star:last-child {
  animation-delay: .55s;
}
@keyframes ttcMenuStarSpark {
  0%,100% { transform: translateY(0) scale(1) rotate(0deg); opacity: .75; }
  50%     { transform: translateY(-2px) scale(1.35) rotate(18deg); opacity: 1; }
}

/* 3) 서브문구 키우기 */
.ttc-home-safe-sub {
  font-size: 16px !important;
  font-weight: 800 !important;
  opacity: .92 !important;
}

/* 4) 타이틀도 조금 더 강조(메인/보증업체 페이지 공통) */
.ttc-home-safe-title {
  font-size: 24px !important;
  font-weight: 900 !important;
}


/* TTC_LNB_RIGHT_PILL_ALL_V1_20260128 */

/* LNB 우측(내정보/관리자/알림/로그아웃) 버튼 스타일 완전 통일 */
#lnb ul.float-right { display:flex; align-items:center; gap:10px; }
#lnb ul.float-right > li { margin:0 !important; }
#lnb ul.float-right > li > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid #dc3545 !important;
  color:#dc3545 !important;
  background:#fff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  line-height:1 !important;
}
#lnb ul.float-right > li > a:hover{
  background:#dc3545 !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* '내정보'만 밑줄/기본 link 스타일 남아있는 케이스 방지 */
#lnb ul.float-right > li > a:focus,
#lnb ul.float-right > li > a:active{
  text-decoration:none !important;
}

/* 빨간 강조 */
.ttc-em-red{
  color:#dc3545 !important;
  font-weight:900 !important;
}


/* TTC_TOPBTN_PILL_FORCE_V1_20260128 */

/* 상단 우측 버튼(내정보/관리자/알림/로그아웃) - class로 강제 */
a.ttc-topbtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid #dc3545 !important;
  color:#dc3545 !important;
  background:#fff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  line-height:1 !important;
}
a.ttc-topbtn:hover{
  background:#dc3545 !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* 빨간 강조 */
.ttc-em-red{
  color:#dc3545 !important;
  font-weight:900 !important;
}


/* TTC_TOPBTN_MATCH_NOTI_V2_20260128 */

/* 상단 우측 버튼(내정보/관리자/알림/로그아웃) 완전 동일화 */
#header_pc #lnb ul.float-right > li > a.ttc-topbtn,
#lnb ul.float-right > li > a.ttc-topbtn,
ul.float-right > li > a.ttc-topbtn{
  all: unset !important;              /* 기존 CSS 영향 제거 */
  font: inherit !important;
  cursor: pointer !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;

  height: 32px !important;
  padding: 0 12px !important;

  border-radius: 999px !important;
  border: 1px solid #dc3545 !important;

  background: #fff !important;
  color: #dc3545 !important;

  font-weight: 800 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

#header_pc #lnb ul.float-right > li > a.ttc-topbtn:hover,
#lnb ul.float-right > li > a.ttc-topbtn:hover,
ul.float-right > li > a.ttc-topbtn:hover{
  background: #dc3545 !important;
  color: #fff !important;
}

/* 알림 배지로 높이/정렬 흔들리는 것 방지 */
a.ttc-topbtn .nt-noti-label{
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 6px !important;
  line-height: 1 !important;
}

/* 빨간 강조 */
.ttc-em-red{
  color:#dc3545 !important;
  font-weight:900 !important;
}


/* TTC_FIX3_LNB_AND_SAFE_TITLE_V1_20260128 */

/* (A) LNB Right(내정보/관리자/알림/로그아웃) 완전 동일 버튼 */
#lnb ul.float-right.ttc-lnb-right > li > a,
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;

  height:32px !important;
  padding:0 12px !important;

  border-radius:999px !important;
  border:1px solid #dc3545 !important;

  background:#fff !important;
  color:#dc3545 !important;

  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}
#lnb ul.float-right.ttc-lnb-right > li > a:hover,
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn:hover{
  background:#dc3545 !important;
  color:#fff !important;
}

/* 알림 배지로 높이/정렬 흔들림 최소화 */
#lnb ul.float-right.ttc-lnb-right > li > a .nt-noti-label{
  display:inline-flex !important;
  align-items:center !important;
  margin-left:6px !important;
  line-height:1 !important;
}

/* (B) 공식보증업체 타이틀: 별은 pseudo로 (HTML 깨짐 방지) */
.ttc-home-safe-title{
  font-size:24px !important;
  font-weight:900 !important;
}
.ttc-home-safe-title::before,
.ttc-home-safe-title::after{
  content:"★";
  display:inline-block;
  margin:0 10px;
  color:#ffd400;
  text-shadow:0 0 10px rgba(255,212,0,.55);
  animation:ttcMenuStarSpark 1.15s ease-in-out infinite;
}
.ttc-home-safe-title::after{ animation-delay:.55s; }
@keyframes ttcMenuStarSpark{
  0%,100%{ transform:translateY(0) scale(1) rotate(0deg); opacity:.75; }
  50%{ transform:translateY(-2px) scale(1.35) rotate(18deg); opacity:1; }
}

/* 서브 문구 */
.ttc-home-safe-sub{
  font-size:16px !important;
  font-weight:800 !important;
  opacity:.92 !important;
}

/* 빨간 강조 */
.ttc-em-red{ color:#dc3545 !important; font-weight:900 !important; }


/* TTC_LNB_RIGHT_BUTTONS_FINAL_V1_20260128 */

/*
  목적:
  - 내정보/관리자/알림/로그아웃 버튼 100% 동일화
  - 이전 블록에서 nt-noti-label을 강제로 보이게 만든 !important를 되돌려서
    알림만 스타일 달라지는 문제 제거(알림 0 노출도 같이 해결)
*/

#lnb ul.float-right.ttc-lnb-right > li > a,
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn {
  /* 기존 영향 최소화 */
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;

  border: 1px solid #dc3545 !important;
  border-radius: 999px !important;

  color: #dc3545 !important;
  font-weight: 800 !important;
  font-size: 16px !important;

  text-decoration: none !important;

  height: 36px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  line-height: 1 !important;
  box-sizing: border-box !important;
}

#lnb ul.float-right.ttc-lnb-right > li > a:hover,
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn:hover {
  background: #dc3545 !important;
  color: #fff !important;
}

/* 알림 배지: 0일 때는 숨김(d-none 승리) */
#lnb ul.float-right.ttc-lnb-right .nt-noti-label.d-none {
  display: none !important;
}

/* 알림 배지: 보이는 경우에도 버튼 스타일에 영향 없게 */
#lnb ul.float-right.ttc-lnb-right .nt-noti-label:not(.d-none) {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 6px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
#lnb ul.float-right.ttc-lnb-right .nt-noti-label b,
#lnb ul.float-right.ttc-lnb-right .nt-noti-label span {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
}


/* TTC_LNB_RIGHT_TOPBTN_HARD_EQUAL_V1_20260128 */

/* 최종 강제: 내정보/관리자/알림/로그아웃 100% 동일 */
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;

  border:1px solid #dc3545 !important;
  border-radius:999px !important;

  color:#dc3545 !important;
  font-weight:800 !important;
  font-size:16px !important;

  height:36px !important;
  padding:0 14px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn:hover{
  background:#dc3545 !important;
  color:#fff !important;
}

/* 혹시 남아있는 뱃지 스타일이 버튼에 영향 주지 않도록(현재는 DOM 제거됨) */
#lnb ul.float-right.ttc-lnb-right > li > a.ttc-topbtn *{
  box-shadow:none !important;
  filter:none !important;
}


/* TTC_SAFE_TITLE_SUB_GAP_V1_20260128 */
/* PC/태블릿(>=768px)에서만:
   - 히어로(위 섹션) ↔ 타이틀 간격 증가: title의 margin-top
   - 서브 ↔ 아래 배너/이미지 간격 증가: sub 다음 요소의 margin-top
   - (텍스트-텍스트 간격) padding-top은 0으로 복구
*/
@media (min-width: 768px) {
  .ttc-home-safe-title {
    display: block !important;
    margin-top: 26px !important;     /* 히어로 이미지 아래 ↔ 타이틀 간격 */
    margin-bottom: 0 !important;
  }
  .ttc-home-safe-sub {
    display: block !important;
    padding-top: 0 !important;       /* (기존 오해로 벌려진 텍스트 간격 제거) */
    margin-top: 8px !important;      /* 타이틀-서브는 적당히만 */
    margin-bottom: 0 !important;
  }

  /* 서브 텍스트 아래(보통 배너/슬라이더 div) 간격 */
  .ttc-home-safe-sub + * {
    margin-top: 22px !important;
  }
}

/* 메인 + safe_site 공통: 타이틀-서브 간격을 'padding-top'으로 강제(마진 겹침/상쇄 회피) */
.ttc-home-safe-title {
  display: block !important;
  margin-bottom: 0 !important;
}
.ttc-home-safe-sub {
  display: block !important;
  margin-top: 0 !important;
  padding-top: 22px !important;   /* <- 간격 여기서 확실히 증가 */
}

/* 메인 + safe_site 공통: 타이틀-서브 간격은 sub의 margin-top으로 컨트롤 */
/* 메인 + safe_site 공통: '토토체크 공식보증업체' 와 '사고 발생 시 ...' 간격 확대 */

.ttc-home-safe-title{
  display:block;
  margin-bottom:0 !important;   /* title 내부 여백은 최소 */
}
.ttc-home-safe-sub{
  margin-top:16px !important;   /* <- 간격 여기서 확실히 증가 */
}

/* TTC_SAFE_SECTION_OUTER_GAPS_V1_20260128 */
/* 목적:
   - (텍스트↔텍스트) 간격은 줄이기
   - PC/태블릿(>=768px)에서만:
     1) 히어로 이미지(위 섹션) ↔ '토토체크 공식보증업체' 간격 확대
     2) '사고 발생 시 100% 전액 보상' ↔ 아래 배너/이미지 간격 확대
*/

/* 0) 텍스트↔텍스트 간격(타이틀-서브) 줄이기: 모든 해상도 공통 */
.ttc-home-safe-sub {
  padding-top: 0 !important;
  margin-top: 6px !important;
}

/* 1) PC/태블릿에서만 바깥 간격(위/아래) 확대: padding으로 강제(상쇄 없음) */
@media (min-width: 768px) {
  /* 히어로 이미지 아래 ↔ 타이틀: 타이틀 자체를 아래로 내림 */
  .ttc-home-safe-title {
    display: inline-block !important;
    padding-top: 18px !important;   /* ← 위(히어로)와의 간격 */
    margin-top: 0 !important;
  }

  /* 서브 아래 ↔ 배너/이미지: 서브 아래 여백을 확보 */
  .ttc-home-safe-sub {
    padding-bottom: 18px !important; /* ← 아래(배너/이미지)와의 간격 */
    margin-bottom: 0 !important;
  }
}

/* TTC_SAFE_SECTION_ALIGN_AND_TYPO_V1_20260128 */
/* 1) 타이틀/서브를 항상 중앙 정렬(메인에서 좌측 붙는 문제 방지)
   2) 서브 텍스트 약간 키우기
   3) 모바일에서도 서브 ↔ 아래 이미지 간격을 '조금만' 추가
*/

/* 공통: 중앙 정렬 확정 */
.ttc-home-safe-title,
.ttc-home-safe-sub {
  width: 100% !important;
  text-align: center !important;
}

/* 서브 텍스트 조금 키우기(공통) */
.ttc-home-safe-sub {
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* PC/태블릿: 기존 outer gap 유지하면서도 중앙 정렬 유지 */
@media (min-width: 768px) {
  .ttc-home-safe-title {
    display: block !important;      /* inline-block 때문에 좌측 붙는 케이스 제거 */
  }
}

/* 모바일: 서브 아래 간격을 조금만 */
@media (max-width: 767px) {
  .ttc-home-safe-sub {
    padding-bottom: 10px !important;
  }
}


/* TTC_SUBNAV_SIZE_TUNE_V1_20260128 */
#ttc-subnav {
  /* 전체 세로감 축소 */
  margin: 10px 0 14px !important;
}

#ttc-subnav .nav-link {
  /* 소메뉴(탭) 글자 조금 키우기 + 높이 축소 */
  font-size: 18px !important;
  padding: 10px 18px !important;
  line-height: 1.15 !important;
}

#ttc-subnav .nav {
  min-height: 54px !important;
}

/* 대메뉴(좌측 빨간 블록) 후보 셀렉터: bg-danger 또는 커스텀 클래스가 있을 수 있어 함께 타겟 */
#ttc-subnav .bg-danger,
#ttc-subnav .ttc-subnav-major,
#ttc-subnav .ttc-subnav-title {
  font-size: 20px !important;      /* 대메뉴 글자 줄임 */
  padding: 14px 16px !important;   /* 대메뉴 세로 높이 줄임 */
  line-height: 1.1 !important;
}
/* /TTC_SUBNAV_SIZE_TUNE_V1_20260128 */



/* TTC_SUBNAV_SIZE_TUNE_V2_20260128 */
#ttc-subnav {
  margin: 10px 0 14px !important;   /* 전체 높이감 축소 */
}

#ttc-subnav .ttc-subnav-major {
  font-size: 20px !important;       /* 대메뉴 텍스트 줄이기 */
  padding: 12px 16px !important;    /* 대메뉴 세로 높이 줄이기 */
  line-height: 1.1 !important;
}

#ttc-subnav .ttc-subnav-minor {
  font-size: 18px !important;       /* 소메뉴 조금 키우기 */
  padding: 10px 18px !important;    /* 소메뉴 세로 높이 줄이기 */
  line-height: 1.15 !important;
}

#ttc-subnav .nav,
#ttc-subnav .nav-tabs {
  min-height: 52px !important;      /* 전체 바 높이 축소 */
}
/* /TTC_SUBNAV_SIZE_TUNE_V2_20260128 */


/* TTC_SUBNAV_TIGHTEN_V2_20260129
   원인: 기존 subnav 튜닝이 이미 존재 + (대분류 폭) min-width 미조정 + 인라인 style 덮어쓰기 가능성
   조치: 더 강한 selector + padding/min-width 명시로 높이/폭 확실히 축소
*/
#ttc_subnav.ttc-subnav.ttc-subnav--incontent{
  margin: 0 0 8px !important;
}
#ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-card{
  align-items: center !important;
  border-width: 2px !important;
  border-radius: 12px !important;
}

/* 대분류(빨간 영역) */
#ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-main{
  min-width: 108px !important;       /* <-- 폭 줄이기 핵심 */
  padding: 8px 14px !important;      /* <-- 높이 줄이기 */
  line-height: 1.1 !important;
  font-size: 18px !important;
  flex: 0 0 auto !important;
}

/* 소분류 탭 컨테이너/탭 */
#ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-tabs{
  padding: 6px 14px 6px !important;  /* <-- 높이 줄이기 */
  gap: 12px !important;
}
#ttc_subnav.ttc-subnav.ttc-subnav--incontent a.ttc-subnav-tab{
  padding: 6px 10px !important;
  line-height: 1.1 !important;
  font-size: 15px !important;
}

/* 모바일: 폭/높이 조금 더 축소 */
@media (max-width: 767.98px){
  #ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-main{
    min-width: 92px !important;
    padding: 7px 10px !important;
    font-size: 16px !important;
  }
  #ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-tabs{
    padding: 6px 10px 6px !important;
    gap: 10px !important;
  }
  #ttc_subnav.ttc-subnav.ttc-subnav--incontent a.ttc-subnav-tab{
    padding: 6px 9px !important;
    font-size: 14px !important;
  }
}



/* TTC_SUBNAV_MAIN_FILLRED_V1_20260129
   - V2에서 card align-items:center로 인해 대메뉴(빨강)가 세로로 안 꽉 차는 문제 해결
   - 카드: stretch / 대메뉴: align-self:stretch + display:flex로 텍스트는 가운데 정렬
*/
#ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-card{
  align-items: stretch !important;
}

#ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-main{
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;   /* 텍스트 세로 가운데 */
  /* 필요시 가로 정렬: center로 바꾸면 완전 중앙 */
  /* justify-content: center !important; */
  background: var(--ttc-red) !important;
  color: #fff !important;
  margin: 0 !important;
}

#ttc_subnav.ttc-subnav.ttc-subnav--incontent .ttc-subnav-tabs{
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}


/* TTC_TELEGRAM_BTN_MAIN_V1_20260129 */
a.ttc-top-banner.ttc-telegram-btn {
  background: #2AABEE !important;
  color: #fff !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  border-radius: 16px !important;
  min-height: 76px;
  box-shadow: 0 12px 26px rgba(0,0,0,0.12);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
a.ttc-top-banner.ttc-telegram-btn:hover {
  transform: scale(1.03);
  box-shadow: 0 16px 30px rgba(0,0,0,0.16);
  filter: brightness(1.02);
}
a.ttc-top-banner.ttc-telegram-btn .ttc-telegram-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
a.ttc-top-banner.ttc-telegram-btn .ttc-telegram-txt {
  font-weight: 800;
  letter-spacing: -0.2px;
  font-size: 18px;
}
a.ttc-event-title-link {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  transition: transform .15s ease;
}
a.ttc-event-title-link:hover {
  transform: scale(1.02);
}


/* TTC_TELEGRAM_BTN_MAIN_V2_20260129 */
a.ttc-top-banner.ttc-telegram-btn {
  min-height: 66px !important;       /* 세로 줄이기 */
  padding: 12px 14px !important;
  border-radius: 16px !important;
  position: relative !important;
  overflow: hidden !important;

  /* 그라데이션 + 움직이는 배경 */
  background: linear-gradient(135deg, #00c2ff, #2f6cff, #7c3aed, #00c2ff) !important;
  background-size: 220% 220% !important;
  animation: ttc-tg-bg 4.5s ease-in-out infinite !important;

  color: #fff !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.12) !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}

/* 반짝이는 샤인 레이어 */
a.ttc-top-banner.ttc-telegram-btn::before {
  content: "" !important;
  position: absolute !important;
  inset: -60% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent) !important;
  transform: translateX(-70%) rotate(18deg);
  animation: ttc-tg-shine 2.8s linear infinite !important;
  pointer-events: none !important;
}

a.ttc-top-banner.ttc-telegram-btn > * {
  position: relative !important;
  z-index: 1 !important;
}

a.ttc-top-banner.ttc-telegram-btn:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,0.16) !important;
  filter: brightness(1.03) !important;
}

/* 비행기(아이콘) 살짝 날아가는 애니메이션 */
a.ttc-top-banner.ttc-telegram-btn .ttc-telegram-ic {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  animation: ttc-tg-plane 1.55s ease-in-out infinite !important;
  will-change: transform;
}

a.ttc-top-banner.ttc-telegram-btn .ttc-telegram-txt {
  font-weight: 800 !important;
  letter-spacing: -0.2px !important;
  font-size: 17px !important;
}

@keyframes ttc-tg-bg {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes ttc-tg-shine {
  0%   { transform: translateX(-70%) rotate(18deg); opacity: .18; }
  40%  { opacity: .32; }
  100% { transform: translateX(70%) rotate(18deg); opacity: .18; }
}

@keyframes ttc-tg-plane {
  0%   { transform: translate(0, 0) rotate(-2deg); }
  50%  { transform: translate(5px, -2px) rotate(7deg); }
  100% { transform: translate(0, 0) rotate(-2deg); }
}


/* TTC_TELEGRAM_BTN_MAIN_V3_STRONG_20260129 */
a.ttc-top-banner.ttc-telegram-btn {
  /* 색 대비 강하게 */
  background: linear-gradient(120deg,
    #00F5FF 0%,
    #0047FF 22%,
    #FF00D6 48%,
    #FF7A00 74%,
    #00FF85 100%) !important;
  background-size: 320% 320% !important;
  animation: ttc-tg-bg-strong 3.2s linear infinite !important;
}

/* 샤인 더 강하게 */
a.ttc-top-banner.ttc-telegram-btn::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent) !important;
  animation-duration: 2.2s !important;
}

@keyframes ttc-tg-bg-strong {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* TTC_EVENT_HEADER_GRAD_ANIM_V1_20260129 */
.ttc-solo-card-event .ttc-solo-head {
  position: relative;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  padding: 14px 16px;
  background: linear-gradient(120deg,#ff003d 0%,#ff2a2a 35%,#ff6a00 85%) !important;
  background-size: 240% 240% !important;
  animation: ttc-evt-bg 4.0s ease-in-out infinite;
}

.ttc-solo-card-event .ttc-solo-head::before {
  content:"";
  position:absolute;
  inset:-60%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform: translateX(-70%) rotate(18deg);
  animation: ttc-evt-shine 2.6s linear infinite;
  pointer-events:none;
}

.ttc-solo-card-event .ttc-solo-title {
  color:#fff !important;
  font-weight: 900;
}
.ttc-solo-card-event .ttc-solo-title .ttc-evt-text {
  margin: 0 6px;
}

.ttc-solo-card-event .ttc-evt-ico {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  will-change: transform;
}

.ttc-solo-card-event .ttc-evt-spark {
  animation: ttc-evt-spin 1.9s ease-in-out infinite;
}

.ttc-solo-card-event .ttc-evt-gift {
  animation: ttc-evt-bounce 1.25s ease-in-out infinite;
}

@keyframes ttc-evt-bg {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes ttc-evt-shine {
  0%   { transform: translateX(-70%) rotate(18deg); opacity:.18; }
  40%  { opacity:.32; }
  100% { transform: translateX(70%) rotate(18deg); opacity:.18; }
}
@keyframes ttc-evt-spin {
  0%   { transform: rotate(-6deg) translateY(0); }
  50%  { transform: rotate(10deg) translateY(-2px); }
  100% { transform: rotate(-6deg) translateY(0); }
}
@keyframes ttc-evt-bounce {
  0%   { transform: translateY(0) scale(1); }
  50%  { transform: translateY(-2px) scale(1.06); }
  100% { transform: translateY(0) scale(1); }
}


/* TTC_HERO_BIG_ICON_NEON_V1_20260129 */
/* inline(style tag)보다 이기기 위해 #nt_body로 특이도 올림 */
#nt_body .ttc-hero-ico {
  width: 78px !important;
  height: 78px !important;
  border-radius: 999px !important;          /* 사각형 -> 원형 */
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position: relative !important;
  overflow: hidden !important;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.18)) !important;
  animation: ttc-hero-float2 2.8s ease-in-out infinite !important;
}

#nt_body .ttc-hero-emoji {
  font-size: 44px !important;
  line-height: 1 !important;
  transform: translateY(1px);
  animation: ttc-hero-emoji 1.35s ease-in-out infinite;
  will-change: transform;
}

#nt_body .ttc-hero-ico::before {
  content:"";
  position:absolute;
  inset:-25%;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.55), transparent 55%);
  opacity:.35;
  pointer-events:none;
}

#nt_body .ttc-hero-ico-report {
  background: linear-gradient(135deg,#ff003d 0%,#ff2a2a 45%,#ff8a00 110%) !important;
  box-shadow: 0 0 0 6px rgba(255,0,61,.10), 0 0 28px rgba(255,0,61,.28);
}

#nt_body .ttc-hero-ico-money {
  background: linear-gradient(135deg,#00d26a 0%,#22c55e 40%,#ffd400 110%) !important;
  box-shadow: 0 0 0 6px rgba(34,197,94,.10), 0 0 28px rgba(34,197,94,.26);
}

#nt_body .ttc-hero-ico-calendar {
  background: linear-gradient(135deg,#2563eb 0%,#7c3aed 45%,#00c2ff 115%) !important;
  box-shadow: 0 0 0 6px rgba(37,99,235,.10), 0 0 28px rgba(37,99,235,.24);
}

@keyframes ttc-hero-float2 {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}

@keyframes ttc-hero-emoji {
  0%   { transform: translateY(1px) rotate(-2deg); }
  50%  { transform: translateY(-1px) rotate(6deg); }
  100% { transform: translateY(1px) rotate(-2deg); }
}


/* TTC_EVENT_HEADER_GRAD_ANIM_V2_HORIZONTAL_20260129 */
.ttc-solo-card-event .ttc-solo-head {
  /* 가로 그라데이션 + 대비 강화 */
  background: linear-gradient(90deg,
    #ff003d 0%,
    #ff006a 18%,
    #ff2a2a 38%,
    #ff6a00 62%,
    #ffb000 78%,
    #ff003d 100%) !important;
  background-size: 320% 100% !important;
  animation: ttc-evt-bg-x 3.2s linear infinite !important;
}

@keyframes ttc-evt-bg-x {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* TTC_TELEGRAM_BTN_MAIN_V4_HORIZONTAL_20260129 */
a.ttc-top-banner.ttc-telegram-btn {
  background: linear-gradient(90deg,
    #00F5FF 0%,
    #0047FF 20%,
    #FF00D6 50%,
    #FF7A00 78%,
    #00FF85 100%) !important;
  background-size: 320% 100% !important;
  animation: ttc-tg-bg-x 3.0s linear infinite !important;
}

@keyframes ttc-tg-bg-x {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* TTC_HERO_ICON_ONLY_V2_20260129 */
/* 원형/배경/네온 전부 제거하고 아이콘만 */
#nt_body .ttc-hero-ico {
  width: 56px !important;
  height: 56px !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  overflow: visible !important;
  animation: none !important;
  padding: 0 !important;
}

/* 기존 inline(style tag)의 반짝이(✨) 끄기 */
#nt_body .ttc-hero-ico::after {
  content: none !important;
  display: none !important;
}
#nt_body .ttc-hero-ico::before {
  content: none !important;
  display: none !important;
}

/* 아이콘만 크고 살짝만 움직이기(원하면 0으로 끄면 됨) */
#nt_body .ttc-hero-emoji {
  font-size: 52px !important;
  line-height: 1 !important;
  animation: ttc-hero-icon-float 1.6s ease-in-out infinite !important;
}

@keyframes ttc-hero-icon-float {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}

/* 색 배경 클래스들 완전 무력화 */
#nt_body .ttc-hero-ico-report,
#nt_body .ttc-hero-ico-money,
#nt_body .ttc-hero-ico-calendar {
  background: transparent !important;
  box-shadow: none !important;
}


/* TTC_EVENT_HEADER_GRAD_V3_FORCE_20260129 */
#nt_body .ttc-solo-card-event a.ttc-solo-head {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  position: relative !important;
  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 14px 16px !important;

  /* 가로 그라데이션(강하게) */
  background: linear-gradient(90deg,
    #ff003d 0%,
    #ff005a 12%,
    #ff00a8 28%,
    #ff2a2a 44%,
    #ff6a00 62%,
    #ffb000 80%,
    #ff003d 100%) !important;
  background-size: 420% 100% !important;
  animation: ttc-evt-bg-x-strong 2.6s linear infinite !important;
}

#nt_body .ttc-solo-card-event a.ttc-solo-head::before {
  content:"" !important;
  position:absolute !important;
  inset:-60% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent) !important;
  transform: translateX(-70%) rotate(18deg) !important;
  animation: ttc-evt-shine-x 2.2s linear infinite !important;
  pointer-events:none !important;
}

#nt_body .ttc-solo-card-event a.ttc-solo-head > * {
  position: relative !important;
  z-index: 1 !important;
}

#nt_body .ttc-solo-card-event .ttc-evt-title {
  color: #fff !important;
  font-weight: 900 !important;
}
#nt_body .ttc-solo-card-event .ttc-evt-gift {
  display: inline-flex !important;
  animation: ttc-evt-gift-bounce 1.1s ease-in-out infinite !important;
}

@keyframes ttc-evt-bg-x-strong {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes ttc-evt-shine-x {
  0%   { transform: translateX(-70%) rotate(18deg); opacity:.18; }
  40%  { opacity:.34; }
  100% { transform: translateX(70%) rotate(18deg); opacity:.18; }
}
@keyframes ttc-evt-gift-bounce {
  0%   { transform: translateY(0) rotate(-2deg); }
  50%  { transform: translateY(-3px) rotate(8deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}


/* TTC_HERO_ICON_MOVE_AND_RED_TEXT_V4_20260129 */
/* 타이틀(먹튀 신고/포인트 베팅/출석체크) 빨간색 */
#nt_body .ttc-hero-cards .ttc-hero-ttl {
  color: #ff003d !important;
}

/* 10,000P 빨간색 강조 */
#nt_body .ttc-hero-sub .ttc-hero-sub-red {
  color: #ff003d !important;
  font-weight: 900 !important;
}

/* 아이콘 더 크게/더 많이 움직이게 */
#nt_body .ttc-hero-emoji {
  font-size: 56px !important;
  line-height: 1 !important;
  animation: ttc-hero-icon-float-strong 1.05s ease-in-out infinite !important;
  will-change: transform;
}

@keyframes ttc-hero-icon-float-strong {
  0%   { transform: translateY(0) rotate(-6deg) scale(1.00); }
  50%  { transform: translateY(-9px) rotate(10deg) scale(1.06); }
  100% { transform: translateY(0) rotate(-6deg) scale(1.00); }
}


/* TTC_EVENT_HEADER_GRAD_V4_DEEPRED_CENTER_20260129 */
#nt_body .ttc-solo-card-event a.ttc-solo-head {
  justify-content: center !important;    /* 가운데 정렬 */
  gap: 12px !important;

  /* 진한 레드(가로) + 확실히 티나게 */
  background: linear-gradient(90deg,
    #4a0000 0%,
    #7a0000 14%,
    #b00000 32%,
    #ff0000 50%,
    #b00000 68%,
    #7a0000 86%,
    #4a0000 100%) !important;

  background-size: 520% 100% !important;
  animation: ttc-evt-bg-x-deep 2.2s linear infinite !important;
}

#nt_body .ttc-solo-card-event .ttc-evt-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@keyframes ttc-evt-bg-x-deep {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* TTC_HERO_ICON_MOVE_V5_TONEDOWN_20260129 */
#nt_body .ttc-hero-emoji {
  animation: ttc-hero-icon-float-med 1.25s ease-in-out infinite !important;
}

@keyframes ttc-hero-icon-float-med {
  0%   { transform: translateY(0) rotate(-3deg) scale(1.00); }
  50%  { transform: translateY(-5px) rotate(6deg) scale(1.03); }
  100% { transform: translateY(0) rotate(-3deg) scale(1.00); }
}


/* TTC_HERO_TEXT_RED_V6_20260129 */
#nt_body .ttc-hero-cards .ttc-hero-ttl {
  color: #e60000 !important;   /* 진빨강 */
}

#nt_body .ttc-hero-sub .ttc-hero-sub-red {
  color: #e60000 !important;
  font-weight: 900 !important;
}


/* TTC_EVENT_HEADER_GRAD_V5_TELELIKE_RED_20260129 */
#nt_body .ttc-solo-card-event a.ttc-solo-head {
  justify-content: center !important;     /* 가운데 정렬 */
  gap: 12px !important;

  /* 텔레그램처럼 티나는 가로 레드 그라데이션 */
  background: linear-gradient(90deg,
    #b80000 0%,
    #ff0000 22%,
    #ff2d2d 44%,
    #ff6a00 66%,
    #ff0000 84%,
    #b80000 100%) !important;

  background-size: 420% 100% !important;
  animation: ttc-evt-bg-x-red 2.6s linear infinite !important;
}

@keyframes ttc-evt-bg-x-red {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* TTC_HERO_CENTER_TEXT_V1_20260129 */
#nt_body .ttc-hero-card > div:last-child {
  text-align: center !important;
}
#nt_body .ttc-hero-card {
  justify-content: center !important;
}
#nt_body .ttc-hero-ttl,
#nt_body .ttc-hero-sub {
  text-align: center !important;
}


/* TTC_SIDEBAR_TELEGRAM_BTN_V1_20260129 */
#nt_body a.ttc-sb-banner.ttc-telegram-btn {
  width: 100%;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 16px;
  text-decoration: none;
  color: #fff !important;
  font-weight: 900;
  position: relative;
  overflow: hidden;

  /* 텔레그램 버튼과 동일 계열(가로 그라데이션) */
  background: linear-gradient(90deg,
    #00F5FF 0%,
    #0047FF 20%,
    #FF00D6 50%,
    #FF7A00 78%,
    #00FF85 100%) !important;
  background-size: 320% 100% !important;
  animation: ttc-sb-tg-bg-x 3.0s linear infinite !important;

  box-shadow: 0 12px 26px rgba(0,0,0,0.12);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#nt_body a.ttc-sb-banner.ttc-telegram-btn:hover {
  transform: scale(1.03);
  box-shadow: 0 16px 30px rgba(0,0,0,0.16);
  filter: brightness(1.03);
}
#nt_body a.ttc-sb-banner.ttc-telegram-btn::before {
  content:"";
  position:absolute;
  inset:-60%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  transform: translateX(-70%) rotate(18deg);
  animation: ttc-sb-tg-shine 2.4s linear infinite;
  pointer-events:none;
}
#nt_body a.ttc-sb-banner.ttc-telegram-btn > * {
  position: relative;
  z-index: 1;
}
#nt_body a.ttc-sb-banner.ttc-telegram-btn .ttc-telegram-ic {
  display: inline-flex;
  animation: ttc-sb-tg-plane 1.55s ease-in-out infinite;
}
@keyframes ttc-sb-tg-bg-x {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes ttc-sb-tg-shine {
  0%   { transform: translateX(-70%) rotate(18deg); opacity:.18; }
  40%  { opacity:.34; }
  100% { transform: translateX(70%) rotate(18deg); opacity:.18; }
}
@keyframes ttc-sb-tg-plane {
  0%   { transform: translate(0,0) rotate(-2deg); }
  50%  { transform: translate(5px,-2px) rotate(7deg); }
  100% { transform: translate(0,0) rotate(-2deg); }
}


/* TTC_SIDEBAR_TELEGRAM_SPACING_V1_20260130 */
#nt_sidebar_menu a.ttc-sb-telegram {
  margin: 8px 12px 12px !important;
  border-radius: 16px !important;
}


/* TTC_SIDEBAR_TELEGRAM_TEXT_WHITE_V1_20260130 */
#nt_sidebar_menu a.ttc-sb-telegram,
#nt_sidebar_menu a.ttc-sb-telegram .ttc-telegram-txt,
#nt_sidebar_menu a.ttc-sb-telegram .ttc-telegram-ic {
  color: #fff !important;
  fill: currentColor !important;
}


/* TTC_SIDEBAR_TOPMENU_RED_V1_20260130 */
/* 사이드바 대메뉴(Top-level)만 레드 */
#nt_sidebar_menu .me-li > .me-a {
  color: #e60000 !important;
}

/* 기본: PC에서는 무조건 숨김 */
#nt_body .ttc-mo-only {
  display: none !important;
}
/* 모바일에서만 표시 */
@media (max-width: 991px) {
  #nt_body .ttc-mo-only {
    display: block !important;
  }
}


/* TTC_MO_TELEGRAM_HEIGHT_TIGHT_V5_20260130 */
@media (max-width: 991px) {
  #nt_body a.ttc-telegram-btn {
    min-height: 40px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  #nt_body a.ttc-telegram-btn .ttc-telegram-txt {
    font-size: 15px !important;
  }
}


/* TTC_MO_UNIFORM_SPACING_AND_EVENT_COMPACT_V1_20260130 */
@media (max-width: 991px) {
  /* 모바일에서 섹션 간격을 동일하게: 8px */
  #nt_body .ttc-mo-tgwrap,
  #nt_body .ttc-nbar,
  #nt_body .ttc-nbar + * {
    margin-bottom: 8px !important;
  }

  /* side-index에 삽입한 모바일 이벤트 wrapper(d-lg-none mb-3)도 동일 간격 */
  #nt_body .ttc-mo-eventwrap,
  #nt_body .ttc-mo-eventwrap + * {
    margin-bottom: 8px !important;
  }

  /* 텔레그램(모바일) 버튼과 이벤트 사이 간격 더 줄이기 */
  #nt_body .ttc-mo-tgwrap {
    margin-bottom: 6px !important;
  }
  #nt_body .ttc-mo-eventwrap {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  /* 이벤트 카드 자체를 모바일에서 컴팩트하게(텔레그램 버튼 느낌) */
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event {
    border-radius: 16px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-head {
    padding: 10px 12px !important;
    min-height: 44px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-title {
    font-size: 15px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-body {
    padding-top: 6px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-body li {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}


/* TTC_MO_SPACING_FORCE_V2_20260130 */
@media (max-width: 991px) {

  /* 0) mb-3/mb-4 같은 유틸이 만드는 간격을 모바일에서 무력화 */
  #nt_body .ttc-mo-tgwrap.mb-2,
  #nt_body .ttc-mo-tgwrap.mb-3,
  #nt_body .ttc-mo-tgwrap.mb-4,
  #nt_body .ttc-mo-eventwrap.mb-2,
  #nt_body .ttc-mo-eventwrap.mb-3,
  #nt_body .ttc-mo-eventwrap.mb-4 {
    margin-bottom: 0 !important;
  }

  /* 1) 텔레그램 ↔ 이벤트 ↔ 공지 간격을 동일하게 6px로 통일 */
  #nt_body .ttc-mo-tgwrap {
    margin-bottom: 6px !important;
  }
  #nt_body .ttc-mo-eventwrap {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  /* 2) 공지(Notice bar)도 아래 간격 동일하게 */
  #nt_body .ttc-nbar {
    margin-bottom: 6px !important;
  }

  /* 3) 공지 다음 섹션(바로 아래 첫 블록)도 간격 동일하게 */
  #nt_body .ttc-nbar + * {
    margin-top: 0 !important;
  }
}


/* TTC_MO_EVENT_COMPACT_V2_20260130 */
@media (max-width: 991px) {
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-head {
    padding: 8px 12px !important;
    min-height: 40px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-title {
    font-size: 14px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-body {
    padding-top: 4px !important;
  }
  #nt_body .ttc-mo-eventwrap .ttc-solo-card-event .ttc-solo-body li {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}


/* TTC_OUTLOGIN_MYINFO_HOVER_RED_V1_20260130 */
/* 메인(outlogin) 내정보 위젯: 포인트 hover 빨간색(강제) */
.ttc-ol2-pointlink:hover,
.ttc-ol2-pointlink:hover * {
  color: var(--ttc-primary, #d32f2f) !important;
}

/* 메인(outlogin) 내정보 위젯: 경험치 영역 hover 시 텍스트 빨간색 */
.ttc-ol2-barwrap:hover .ttc-ol2-barhead,
.ttc-ol2-barwrap:hover .ttc-ol2-barhead span {
  color: var(--ttc-primary, #d32f2f) !important;
}
