
:root {
    --blue:         #1a52b8;
    --blue-dark:    #0e3a8a;
    --orange:       #FF6900;
    --orange-light: #ff8c00;
    --dark:         #1e1e2e;
    --gray-bg:      #fafafa;
    --gray-line:    #e0e0e0;
    --text:         #3C4858;
    --text-light:   #B9B9B9;
    --white:        #fff;
}

.bdt-wrap {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}


/* =============================================
   SECTION 1 : 히어로 + 로그인
============================================= */
.bdt-s1 {
    /*padding: 2.5rem 0;*/
    padding: 2.5rem 0 1rem;
}

.bdt-s1 .bdt-wrap {
    display: flex;
    gap: clamp(1rem, 2.3vw, 2.5rem);
    align-items: stretch;
    padding: 0;
}

.bdt-hero {
    flex: 1;
    min-width: 0;
    border-radius: 1rem;
    overflow: hidden;
    height: 300px;
}
.bdt-hero .swiper-wrapper,
.bdt-hero .swiper-slide { height: 100%; }
.bdt-hero a { display: block; height: 100%; }
.bdt-hero img { width: 100%; height: 100%; object-fit: fill; }
.bdt-hero .swiper-pagination {
    bottom: 1.5rem;
    left: 1.5rem;
    right: auto;
    width: auto;
    display: flex;
    gap: 0.4rem;
}
.bdt-hero .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    opacity: 1;
}
.bdt-hero .swiper-pagination-bullet-active {
    background: var(--white);
}

/* 로그인 */
.bdt-login {
    width: 36.9rem;
    min-width: 18rem;
    height: 300px;
    flex-shrink: 0;
    background: #FBFBFB;
    border-radius: 1rem;
    border: 1px solid var(--gray-line);
    padding: 2.4rem 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.2rem;
}

.bdt-input-group {
    border: 1px solid var(--gray-line);
    border-radius: 0.8rem;
    overflow: hidden;
}
.bdt-input-group .bdt-input + .bdt-input {
    border-top: 1px solid var(--gray-line);
}

.bdt-input {
    width: 100%;
    height: 5rem;
    border: none;
    padding: 0 1.2rem;
    font-size: clamp(1.4rem, 1.3vw, 1.5rem);
    font-family: inherit;
    outline: none;
    background: var(--white);
}

.bdt-input-group .bdt-input {
    height: 5rem;
    border: none;
    padding: 0 1.2rem;
    color: var(--text);
    text-indent: 0;
}
.bdt-input-group .bdt-input:focus {
    border: none !important;
    background: #fafafa;
}

.bdt-check {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: clamp(1.4rem, 1.3vw, 1.5rem);
    color: var(--text-light);
    cursor: pointer;
}

.bdt-btn-login {
    width: 100%;
    height: 4.4rem;
    background: var(--orange);
    color: var(--white);
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
    font-weight: 700;
    border-radius: 0.4rem;
    transition: background 0.2s;
}
.bdt-btn-login:hover { background: var(--orange-light); }

.bdt-login-links {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    font-size: clamp(1.3rem, 1.2vw, 1.4rem);
    color: var(--text-light);
}
.bdt-login-links a:hover { color: var(--orange); }

/* 로그인 상태 박스 */
.bdt-login--logged {
    justify-content: flex-start;
    gap: 0;
    padding: 1.8rem 2.2rem;
    background: var(--white);
}
.bdt-lp-profile {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding-bottom: 1rem;
}
.bdt-lp-name { font-size: 1.8rem; color: var(--text); }
.bdt-lp-name strong { font-weight: 700; }
.bdt-lp-company { font-size: 1.5rem; color: var(--text-light); margin-top: 0.25rem; }
.bdt-lp-divider { border: none; border-top: 1px solid var(--gray-line); margin: 0; }
.bdt-lp-title { font-size: 1.8rem; font-weight: 700; color: var(--text); padding: 0.9rem 0 0.7rem; }
.bdt-lp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    flex: 1;
}
.bdt-lp-item {
    border: 1px solid var(--gray-line);
    border-radius: 0.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    padding: 0.4rem 0;
}
.bdt-lp-item { cursor: pointer; transition: background 0.15s, border-color 0.15s; }
.bdt-lp-item:hover { background: #eef1f8; border-color: #1e2a5e; }
.bdt-lp-item--active,
.bdt-lp-item--active:hover { background: #1e2a5e; border-color: #1e2a5e; }
.bdt-lp-label { font-size: 1.4rem; color: var(--text-light); }
.bdt-lp-item--active .bdt-lp-label { color: rgba(255,255,255,0.7); }
.bdt-lp-count { font-size: 1.5rem; font-weight: 700; color: var(--text); }
.bdt-lp-count em { font-style: normal; font-size: 0.82em; font-weight: 400; }
.bdt-lp-item--active .bdt-lp-count { color: #fff; }
.bdt-lp-item--orange .bdt-lp-count { color: var(--orange); }
.bdt-lp-foot { display: flex; justify-content: flex-end; padding-top: 0.9rem; }
.bdt-lp-logout { font-size: 1.4rem; color: var(--text-light); }
.bdt-lp-logout:hover { color: var(--text); }


/* =============================================
   SECTION 2 : 공지사항 + 퀵메뉴
============================================= */
.bdt-s2 {
    background: var(--white);
    padding: 0 0 2rem 0;
}

.bdt-s2 .bdt-wrap {
    display: flex;
    gap: 3%;
    align-items: center;
}

/* 공지사항 */
.bdt-notice {
    flex: 1;
    min-width: 0;
}

.bdt-tabs {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

.bdt-tab {
    padding: 1rem 1.6rem;
    font-size: clamp(1.6rem, 1.5vw, 1.8rem);
    color: var(--text-light);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 0.2s;
    white-space: nowrap;
}
.bdt-tab.on,
.bdt-tab:hover { color: var(--blue); border-color: var(--blue); font-weight: 700; }

.bdt-more {
    margin-left: auto;
    font-size: clamp(1.6rem, 1.5vw, 1.8rem);
    color: var(--text-light);
    padding: 1rem 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    transition: color 0s;
}
.bdt-more:hover { color: var(--blue); }
.bdt-more::after,
.bdt-btn-more::after,
.bdt-btn-sol::after {
    content: '';
    display: inline-block;
    width: 1.6em;
    height: 1.6em;
    margin-left: 0.4em;
    flex-shrink: 0;
}
.bdt-more::after,
.bdt-btn-more::after {
    background: url('/resource/btech/images/themes/main_v2/icon_arrow.svg') center / contain no-repeat;
}
.bdt-more:hover::after {
    background-image: url('/resource/btech/images/themes/main_v2/icon_arrow_blue.svg');
}
.bdt-btn-more:hover::after {
    background-image: url('/resource/btech/images/themes/main_v2/icon_arrow_orange.svg');
}
.bdt-btn-sol::after {
    background: url('/resource/btech/images/themes/main_v2/icon_arrow_3.svg') center / contain no-repeat;
    filter: brightness(0) invert(1);
}

.bdt-notice-list {
    height: 23rem;
    overflow: hidden;
}

.bdt-notice-list li {
    border-bottom: 1px solid var(--gray-line);
    font-size: clamp(1.5rem, 1.4vw, 1.6rem);
    overflow: hidden;
}
.bdt-notice-list li:last-child { border: none; }

.bdt-notice-list li a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1rem 0;
    width: 100%;
}

.bdt-notice-list li:hover {
    cursor: pointer;
    background-color: #f5f5f5;
}
.bdt-notice-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.bdt-tag  { color: var(--blue); font-weight: 600; flex-shrink: 0; }
.bdt-date { margin-left: auto; color: var(--text-light); flex-shrink: 0; font-size: clamp(1.3rem, 1.2vw, 1.5rem); }

/* 퀵메뉴 */
.bdt-quickmenu {
    flex-shrink: 0;
    width: 36.9rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.bdt-qm {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    aspect-ratio: 1 / 1;
    padding: 0 0.5rem;
    border: 1px solid var(--gray-line);
    border-radius: 0.8rem;
    font-size: clamp(1.4rem, 1vw, 1.5rem);
    letter-spacing: -0.08em;
    color: var(--text);
    text-align: center;
    word-break: keep-all;
    overflow-wrap: break-word;
    transition: all 0.2s;
}
.bdt-qm:hover { border-color: var(--orange-light); color: var(--orange); background: #fff6ef; }
.bdt-qm:focus { outline: none; border-color: var(--gray-line); color: var(--text); background: transparent; }

.bdt-ico { font-style: normal; font-size: clamp(1.6rem, 2vw, 2rem); line-height: 1; }


/* =============================================
   SECTION 3 : CTA + 통계 + 후기 + 솔루션
============================================= */


/* CTA + 고객센터 */
.bdt-cta-row {
    display: flex;
    gap: 2%;

}

.bdt-cta {
    flex: 1;
    min-width: 0;
}

.bdt-cta-title {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    font-weight: 800;
    margin-bottom: 0.8rem;
}
.bdt-cta-desc {
    font-size: clamp(1.2rem, 1.3vw, 1.3rem);
    opacity: 0.9;
    margin-bottom: 2.4rem;
}
.bdt-btn-cta {
    display: inline-block;
    border-radius: 0.4rem;
    color: var(--white);
    font-size: clamp(1.2rem, 1.3vw, 1.4rem);
    font-weight: 600;
    transition: background 0.2s;
}
.bdt-btn-cta:hover { background: rgba(255,255,255,0.15); }

.bdt-cs {
    width: 23%;
    min-width: 17rem;
    flex-shrink: 0;
    background: var(--white);
    border: 1px solid var(--gray-line);
    border-radius: 1rem;
    padding: 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.7rem;
}

.bdt-cs-title { font-size: clamp(1.6rem, 1.5vw, 1.8rem); color: var(--text); font-weight: 500; }
.bdt-cs-num   { font-size: clamp(1.8rem, 2.2vw, 2.8rem); font-weight: 800; color: var(--orange-light);margin-top: -0.5rem; }
.bdt-cs-time  { font-size: clamp(1.3rem, 1.2vw, 1.5rem); color: var(--text);margin-top: -0.4rem; }

.bdt-btn-cs {
    display: inline-block;
    width: 100%;
    padding: 1rem 0;
    border: 1px solid var(--gray-line);
    border-radius: 0.4rem;
    font-size: clamp(1.4rem, 1.3vw, 1.5rem);
    color: var(--text);
    transition: all 0.2s;
}
.bdt-btn-cs:hover { border-color: var(--orange); color: var(--orange); }

/* 통계 */
.bdt-stats-band {
    background: var(--gray-bg);
    padding: 4.5rem 0 3.5rem;
}
.bdt-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
}

.bdt-stat { text-align: center; }
.bdt-stat strong {
    display: block;
    font-size: clamp(2.2rem, 3vw, 4.2rem);
    font-weight: 900;
    color: var(--orange);
}
.bdt-stat strong em { font-style: normal; font-size: 0.6em; }
.bdt-stat p { font-size: clamp(1.4rem, 1.3vw, 1.7rem); color: var(--text); margin-top: 0.6rem; font-weight: 500; }

.bdt-stats-date {
    grid-column: 1 / -1;
    text-align: right;
    margin-top: 1rem;
    font-size: 1.3rem;
    color: #aaa;
}

/* 낙찰 후기 */
.bdt-review-section { padding: 2rem 0 5rem 0; overflow-x: clip; position: relative; }

.bdt-review-title-row {
    display: flex;
    align-items: flex-end;
}
.bdt-review-section h2 {
    font-size: clamp(1.8rem, 1.8vw, 2.4rem);
    font-weight: 700;
}
.bdt-review-title-row .bdt-btn-more {
    margin-left: auto;
    padding: 0;
}

.bdt-review-swiper {
    padding-top: 1rem;
    padding-bottom: 4.5rem;
    overflow: hidden;
}
.bdt-review-swiper .swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}
.bdt-review-swiper .swiper-pagination-bullet-active {
    background: var(--orange);
}

.bdt-review {
    background: var(--white);
    border: 1px solid var(--gray-line);
    border-radius: 1rem;
    padding: 1.6rem 2rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.bdt-review:hover {
    transform: translateY(-6px);
    box-shadow: 0 5px 15px rgba(223, 158, 146, 0.1);
    border-color: var(--orange);
}

.bdt-review-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--gray-line);
    margin-bottom: 1.4rem;
}
.bdt-review-badge  { display: flex; align-items: center; gap: 0.4rem; }
.bdt-review-badge  span {margin-top: 1rem;}
.bdt-review-num    { font-size: clamp(2.4rem, 3vw, 3.2rem); font-weight: 900; color: var(--orange); line-height: 1; }
.bdt-review-unit   { font-size: clamp(1.4rem, 1.3vw, 1.8rem); font-weight: 700; color: var(--text); line-height: 1; }
.bdt-review-label  { font-size: clamp(1.4rem, 1.3vw, 1.8rem); font-weight: 700; color: var(--orange); line-height: 1; }
.bdt-review-stars  { display: flex; align-items: center; margin-top: 1rem; }
.bdt-review-stars img { height: 1.6rem; }
.bdt-review-quote  { font-size: clamp(1.4rem, 1.3vw, 1.5rem); font-weight: 500; color: var(--text); border-left: 3px solid var(--orange); padding-left: 1rem; margin-bottom: 1.2rem;     white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;}
.bdt-review-body   { font-size: clamp(1.4rem, 1.3vw, 1.4rem); line-height: 1.7; color: var(--text); margin-bottom: 1.6rem; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bdt-review-foot   { display: flex; align-items: center; gap: 0.8rem; font-size: clamp(1.3rem, 1.2vw, 1.4rem); color: var(--text); border-top: 1px solid var(--gray-line); padding-top: 1.2rem; }
.bdt-review-icon {width: 3rem; height: 3rem;}
.bdt-review-info    { display: flex; flex-direction: column;  flex: 1; }
.bdt-review-company { font-size: clamp(1.4rem, 1.3vw, 1.4rem); }
.bdt-review-period  { font-size: clamp(1.3rem, 1.1vw, 1.4rem); color: var(--text-light); }
.bdt-review-date    { margin-left: auto; color: var(--text-light)}

.bdt-btn-more {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.2rem 0;
    font-size: clamp(1.6rem, 1.5vw, 1.8rem);
    color: var(--text-light);
    background: var(--white);
    transition: color 0s;
}
.bdt-btn-more:hover { color: var(--orange); }

/* 솔루션 (다크) */
.bdt-solution {
    background: var(--dark);
    color: var(--white);
    padding: 5rem 0;
}

.bdt-solution .bdt-wrap {
    display: flex;
    gap: 6%;
}

.bdt-sol-text { flex: 1; min-width: 0; }

.bdt-sol-text h1 {
    font-size: clamp(2.2rem, 3vw, 3.8rem);
    font-weight: 900;
    line-height: 1.4;
    margin-bottom: 1.2rem;
    color: #f5f5f5;
}
.bdt-sol-text h1 span { color: var(--orange); transition: color 0.3s; }

.bdt-sol-text > p {
    font-size: clamp(1.4rem, 1.4vw, 1.8rem);
    color: #aaa;
    margin-bottom: 3rem;
}

.bdt-sol-tabs {
    position: relative;
    display: flex;
    gap: 0;
    margin-bottom: 3rem;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 99rem;
    padding: 0.4rem;
    max-width: 65%;
}

.bdt-sol-slider {
    position: absolute;
    top: 0.4rem;
    left: 0.4rem;
    width: calc(50% - 0.4rem);
    height: calc(100% - 0.8rem);
    border-radius: 99rem;
    background: var(--orange);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s;
    z-index: 0;
}
.bdt-solution.bdt-is-program .bdt-sol-slider       { transform: translateX(100%); background: #38A0F3; }
.bdt-solution.bdt-is-program .bdt-sol-text h1 span { color: #38A0F3; }

.bdt-sol-tab {
    position: relative;
    z-index: 1;
    flex: 1;
    padding: 1.2em 0;
    border-radius: 99rem;
    font-size: clamp(1.4rem, 1.4vw, 1.7rem);
    color: #aaa;
    border: none;
    background: transparent;
    font-weight: 500;
    transition: color 0.2s, font-weight 0.2s;
}
.bdt-sol-tab.on { color: var(--white); font-weight: 700; }

.bdt-sol-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 4rem;
}

.bdt-sol-list li {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    color: var(--white);
}


.bdt-btn-sol {
    display: inline-flex;
    align-items: center;
    padding: 1em 2.6em;
    border-radius: 0.8rem;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    font-weight: 700;
    transition: opacity 0.2s;
    width: 50%;
    text-align: center;
    justify-content: center;
}
.bdt-btn-sol a{color: var(--white);}
.bdt-btn-sol:hover { opacity: 0.85; }
.bdt-btn-sol.bdt-btn-sol--consulting { background: linear-gradient(135deg, #FF7F2C, #F54A00); color: var(--white); }
.bdt-btn-sol.bdt-btn-sol--program    { background: linear-gradient(135deg, #38A0F3, #2F6CF0); color: var(--white); }

.bdt-sol-img { flex: 1; min-width: 0; }

.bdt-sol-visual img { width: 100%; border-radius: 1rem; display: block; }



/* =============================================
   [추가 8] 히어로 스와이퍼 — 필 네비게이션 바
============================================= */
.bdt_hero_nav {
    position: absolute;
    bottom: 1.6rem;
    right: 1.6rem;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 99rem;
    padding: 0.5rem 0.8rem;
}

.bdt_hero_prev,
.bdt_hero_next,
.bdt_hero_pause {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}
.bdt_hero_prev:hover,
.bdt_hero_next:hover,
.bdt_hero_pause:hover { background: rgba(255, 255, 255, 0.15); }

.bdt_hero_prev::after,
.bdt_hero_next::after {
    content: '';
    display: block;
    width: 0.7rem;
    height: 0.7rem;
    border-top: 1.5px solid rgba(255, 255, 255, 0.9);
    border-right: 1.5px solid rgba(255, 255, 255, 0.9);
    flex-shrink: 0;
}
.bdt_hero_prev::after { transform: rotate(-135deg) translate(-1px, 1px); }
.bdt_hero_next::after { transform: rotate(45deg) translate(-1px, 1px); }

/* 일시정지 아이콘 */
.bdt_hero_pause::before,
.bdt_hero_pause::after {
    content: '';
    display: block;
    width: 0.3rem;
    height: 1rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 2px;
    position: absolute;
    transition: all 0.2s;
}
.bdt_hero_pause { position: relative; }
.bdt_hero_pause::before { transform: translateX(-0.35rem); }
.bdt_hero_pause::after  { transform: translateX(0.35rem); }

/* 재생 아이콘 (일시정지 상태) */
.bdt_hero_pause.is-paused::before,
.bdt_hero_pause.is-paused::after { display: none; }
.bdt_hero_pause.is-paused {
    border-left: 0.9rem solid rgba(255, 255, 255, 0.9);
    border-top: 0.55rem solid transparent;
    border-bottom: 0.55rem solid transparent;
    border-radius: 0;
    width: 0;
    height: 0;
    margin: 0 0.5rem;
    background: transparent;
}

/* 슬라이드 카운터 */
.bdt_hero_counter {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0.05em;
    padding: 0 0.4rem;
    white-space: nowrap;
    font-weight: 500;
}
.bdt_hero_cur { color: #fff; font-weight: 700; }


/* =============================================
   [추가 9] 리뷰 스와이퍼 — 호버 네비게이션 화살표
============================================= */
.bdt_review_prev,
.bdt_review_next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    background: var(--white);
    border: 1.5px solid var(--gray-line);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}
.bdt-review-section:hover .bdt_review_prev,
.bdt-review-section:hover .bdt_review_next {
    opacity: 1;
    pointer-events: auto;
}
.bdt_review_prev:hover,
.bdt_review_next:hover {
    background: var(--orange);
    border-color: var(--orange);
    box-shadow: 0 4px 18px rgba(255, 105, 0, 0.28);
    transform: translateY(-50%) scale(1.08);
}
.bdt_review_prev::after,
.bdt_review_next::after {
    content: '';
    display: block;
    width: 0.85rem;
    height: 0.85rem;
    border-top: 2px solid var(--text);
    border-right: 2px solid var(--text);
    transition: border-color 0.22s;
}
.bdt_review_prev { left:  calc(50% - 550px - 1.5rem); }
.bdt_review_next { right: calc(50% - 550px - 1.5rem); }
.bdt_review_prev::after { transform: rotate(-135deg) translate(-1px, 1px); }
.bdt_review_next::after { transform: rotate(45deg) translate(-1px, 1px); }
.bdt_review_prev:hover::after,
.bdt_review_next:hover::after { border-color: var(--white); }
