/* 실제 폰트 weight 확인: Pretendard 300/600/700, 이사만루 500/700, Poppins 600 */
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Woori Poppins';
    src: url('../fonts/poppins-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Isamanru';
    src: url('../fonts/esamanru-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Isamanru';
    src: url('../fonts/esamanru-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
}

/* 우리콜 theme : 공통 변수/타이포는 woori_sub.css 재사용 */

/* ========================================
COMMON
======================================== */
.woori_edit_region {
    position: relative;
}

.woori_admin_tools {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 40px;
    min-height: 40px;
}

.woori_admin_tools .t2d_admin_setup_btn {
    position: static;
}

.woori_admin_tools a,
.woori_admin_tools a:hover,
.woori_admin_tools a:focus-visible {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px;
    color: #d94454;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 22px;
    line-height: 1;
}

#t2d_scontents > .ctt_admin {
    position: relative;
    z-index: 30;
    width: max-content;
    margin: 12px 20px 0 auto;
}

.woori_admin_tools .fa-cog,
.woori_admin_tools .fa-gear,
.woori_admin_tools .bi-gear,
.woori_admin_tools .bi-gear-fill {
    animation: woori_admin_spin 2s linear infinite;
}

@keyframes woori_admin_spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

:root {
    --woori-navy: #102f6d;
    --woori-teal: #00a6c6;
    --woori-blue: #0861e8;
    --woori-text: #252525;
    --woori-gray: #555;
    --woori-border: #dedede;
    --woori-content-width: 1800px;
    --woori-section-gap: clamp(60px, 7vw, 140px);
    --woori-font-body: 'Pretendard', sans-serif;
    --woori-font-display: 'Isamanru', 'Pretendard', sans-serif;
    --woori-font-number: 'Woori Poppins', sans-serif;
    --woori-section-title-size: clamp(32px, 3.35vw, 64px);
    --woori-card-title-size: clamp(24px, 2.15vw, 40px);
    --woori-description-size: clamp(16px, 1.35vw, 26px);
    --woori-small-size: clamp(14px, 1.05vw, 20px);
    --woori-button-size: clamp(16px, 1.15vw, 22px);
    --woori-hero-title-size: clamp(30px, 2.6vw, 50px);
    --woori-inquiry-title-size: clamp(32px, 3.4vw, 64px);
    --woori-number-size: clamp(29.333333px, 4.629629vw, 66.666667pt);
    --woori-feature-title-size: clamp(25px, 2.777778vw, 40pt);
    --woori-feature-description-size: clamp(18px, 1.805556vw, 26pt);
    --woori-phone-icon-size: clamp(29.333333px, 3.466667vw, 66.666667px);
    --woori-card-radius: 22px;
}

#t2d_mains {
    margin: 0;
    color: var(--woori-text);
    background: #fff;
    font-family: var(--woori-font-body);
    font-synthesis: none;
}

.woori_main {
    font-weight: 300;
}

.woori_main *,
.woori_inquiry * {
    box-sizing: border-box;
}

.woori_content_wrap {
    width: calc(100% - 120px);
    max-width: var(--woori-content-width);
    margin-right: auto;
    margin-left: auto;
}

.woori_main img {
    display: block;
    max-width: 100%;
    height: auto;
}

.woori_pending {
    display: grid;
    min-height: 120px;
    padding: 24px;
    place-items: center;
    color: var(--woori-gray);
    background: #f2f6fa;
    border: 1px dashed var(--woori-border);
    border-radius: 16px;
    text-align: center;
    font-size: 15px;
}

/* ========================================
COMMON TITLE
======================================== */
.woori_eyebrow {
    margin: 0 0 16px;
    color: var(--woori-teal);
    font-family: var(--woori-font-display);
    font-size: clamp(12px, 1.05vw, 20px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
}

.woori_section_title {
    margin: 0 0 24px;
    font-family: var(--woori-font-display);
    font-size: var(--woori-section-title-size);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.035em;
    word-break: keep-all;
}

.woori_section_title em,
.woori_brand {
    color: var(--woori-teal);
    font-style: normal;
}

.woori_section_desc {
    margin: 0;
    font-size: var(--woori-description-size);
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: -.02em;
    word-break: keep-all;
}

/* ========================================
COMMON CONTENT
======================================== */
.woori_two_col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}

/* ========================================
COMMON BUTTON
======================================== */
.woori_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 64px;
    margin-top: 28px;
    padding: 14px 36px;
    color: #fff;
    background: var(--woori-teal);
    border-radius: 40px;
    font-family: var(--woori-font-body);
    font-size: var(--woori-button-size);
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.woori_button:hover,
.woori_button:focus-visible {
    filter: brightness(.92);
}

.woori_button_round {
    width: 64px;
    height: 64px;
    min-height: 0;
    padding: 0;
    border-radius: 50%;
    font-size: 32px;
    font-weight: 300;
}

/* ========================================
COMPANY
======================================== */
.woori_intro {
    padding: 70px 0 60px;
}

.woori_sub_visual {
    display: flex;
    min-height: clamp(220px, 19vw, 370px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    color: #fff;
    background-color: var(--woori-navy);
    background-size: cover;
    background-position: center;
    border-radius: 40px;
    text-align: center;
}

.woori_sub_visual h1 {
    margin: 0;
    color: #fff;
    font-family: var(--woori-font-display);
    font-size: clamp(28px, 2.7vw, 52px);
    font-weight: 500;
    line-height: 1.3;
}

.woori_sub_visual .woori_eyebrow span {
    color: #fff;
}

/* ========================================
SERVICE / BANNER WRAPPER
======================================== */
.woori_business {
    margin-bottom: 34px;
}

/* ========================================
MAIN
======================================== */
.woori_naver {
    overflow: hidden;
    border: 1px solid #29b34d;
    border-radius: var(--woori-card-radius);
}

.woori_difference {
    padding: 120px 0 100px;
    text-align: center;
}

.woori_difference > .woori_section_title {
    font-weight: 500;
}

.woori_support {
    padding: 32px 0;
    background: #f0f5f9;
}

.woori_support_card {
    min-width: 0;
    padding: 52px;
    background: #fff;
    border-radius: var(--woori-card-radius);
}

.woori_support_card > h2 {
    margin-bottom: 28px;
    color: #0b2a6b;
    font-size: var(--woori-feature-title-size);
    font-weight: 500;
}

/* ========================================
COMMON INQUIRY
======================================== */
.woori_inquiry {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: var(--woori-navy);
    color: #fff;
    font-weight: 300;
}

.woori_inquiry_copy {
    padding: 56px 32px 56px clamp(32px, 5.2vw, 100px);
}

.woori_inquiry_copy h2 {
    margin: 0 0 18px;
    color: #fff;
    font-family: var(--woori-font-display);
    font-size: var(--woori-inquiry-title-size);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.035em;
    word-break: keep-all;
}

.woori_inquiry_copy > p:not(.woori_eyebrow) {
    font-size: var(--woori-small-size);
    font-weight: 300;
    line-height: 1.5;
}

.woori_inquiry_tel {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 28px;
    color: #fff;
    white-space: nowrap;
    font-family: var(--woori-font-number);
    font-size: var(--woori-number-size);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.025em;
}

.woori_phone_icon {
    display: grid;
    width: var(--woori-phone-icon-size);
    height: var(--woori-phone-icon-size);
    flex-shrink: 0;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--woori-navy);
}

.woori_phone_icon svg {
    width: 56%;
    height: 56%;
    fill: currentColor;
}

.woori_inquiry_image {
    position: relative;
    display: grid;
    align-items: stretch;
    background: #173248;
}

.woori_inquiry_image::after {
    position: absolute;
    inset: 0;
    content: '';
    background: #0006;
    pointer-events: none;
}

.woori_inquiry_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

@media (max-width: 1400px) {
    .woori_support_card {
        padding: 36px;
    }
    .woori_inquiry_copy {
        padding: 48px 32px;
    }
}

@media (max-width: 1100px) {
    .woori_content_wrap {
        width: calc(100% - 40px);
    }
    .woori_two_col {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .woori_sub_visual {
        border-radius: 24px;
    }
    .woori_inquiry {
        grid-template-columns: 1fr;
    }
    .woori_inquiry_image {
        min-height: 220px;
    }
    .woori_inquiry_tel {
        margin-top: 28px;
        font-size: clamp(18.666667px, 6vw, 40px);
    }
}

@media (prefers-reduced-motion: reduce) {
    #t2d_mains [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

@media (min-width: 701px) and (max-width: 1000px) {
    .woori_inquiry_tel {
        gap: 12px;
        font-size: clamp(24px, 4vw, 40px);
    }
}


/* 이미지 원본 비율이 문의 영역 높이를 늘리지 않도록 분리합니다. */
.woori_inquiry_image > .woori_image_edit_region {
    position: absolute;
    inset: 0;
    height: 100%;
}
.woori_inquiry_image .woori_image_banner img {
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

/* ========================================
서브 본문 공통: 제목 / 부제 / 본문 / 선언문
내용관리 HTML은 woori_page 안에서 사용합니다.
======================================== */
.woori_page {
    --woori-page-title-size: clamp(28px, 2.3vw, 42px);
    --woori-page-subtitle-size: clamp(23px, 1.7vw, 30px);
    --woori-page-body-size: clamp(16px, 1vw, 18px);
    width: calc(100% - 80px);
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 0 24px;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-weight: 300;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.woori_page, .woori_page * { box-sizing: border-box; }
.woori_page .woori_page_header { margin-bottom: 32px; text-align: left; }
.woori_page .woori_page_kicker { margin: 0 0 18px; color: var(--woori-teal); font-size: 20px; font-weight: 700; line-height: 1.5; }
.woori_page .woori_page_title { margin: 0; color: var(--woori-navy); font-family: var(--woori-font-display); font-size: var(--woori-page-title-size); font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.woori_page .woori_page_subtitle { margin: 0 0 24px; color: var(--woori-navy); font-family: var(--woori-font-display); font-size: var(--woori-page-subtitle-size); font-weight: 500; line-height: 1.45; }
.woori_page .woori_page_prose { font-size: var(--woori-page-body-size); line-height: 1.9; }
.woori_page .woori_page_prose p { margin: 0; }
.woori_page .woori_page_prose p + p { margin-top: 24px; }
.woori_page .woori_page_prose .woori_page_subtitle { margin-top: 40px; margin-bottom: 16px; }
.woori_page .woori_page_statement { margin-top: 64px; padding: 40px 48px; border-left: 4px solid var(--woori-teal); border-radius: 0 20px 20px 0; background: #f3f6fa; }
.woori_page .woori_page_statement p { margin: 0; color: var(--woori-navy); font-family: var(--woori-font-display); font-size: clamp(21px,1.55vw,28px); font-weight: 500; line-height: 1.7; }
/* 서브 본문 공통 폭과 하단 배너 사이 여백. 비주얼/배너 폭은 유지합니다. */
#t2d_scontents,
#t2d_scontents.woori_intro_frame {
    width: calc(100% - 80px);
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 120px;
    box-sizing: border-box;
}
#t2d_scontents .woori_page { width: 100%; max-width: 1100px; }
#t2d_scontents .woori_intro_content { padding: 70px 0 0; }
/* 회사소개: sub01 시안 */
.woori_company_page .woori_company_overview { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); align-items: center; gap: 24px; }
.woori_company_photo { background: transparent; }
.woori_company_page .woori_company_photo img { display: block; width: auto; max-width: 100%; height: auto; }
.woori_company_page .woori_company_message { min-width: 0; }
.woori_company_page .woori_page_prose { font-size: clamp(16px,1vw,18px); line-height: 1.85; }
.woori_company_page .woori_page_prose .woori_page_subtitle { margin: 32px 0 16px; font-size: clamp(23px,1.6vw,28px); }
.woori_company_page .woori_company_signature { margin: 28px 0 0; text-align: right; color: var(--woori-gray); font-size: 16px; line-height: 1.5; }
.woori_company_page .woori_company_signature strong { margin-left: 10px; color: var(--woori-text); font-weight: 600; font-size: 1.1em; }
.woori_company_page .woori_company_identity { margin-top: 110px; }
.woori_company_logo_panel { display: grid; place-items: center; padding: 0; background: transparent; }
.woori_company_page .woori_company_logo_panel img { display: block; width: auto; max-width: 100%; height: auto; }
.woori_company_values { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; margin: 64px 0 0; padding: 0; list-style: none; text-align: center; }
.woori_company_value_mark { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 180px; max-width: 100%; aspect-ratio: 1; margin: 0 auto 24px; border-radius: 50%; color: #fff; font-size: 28px; line-height: 1.4; }
.woori_company_value_mark small { font-size: 18px; }
.woori_company_value_navy { background: #102f6d; }
.woori_company_value_cyan { background: #00a6c6; }
.woori_company_value_gray { background: #999; }
.woori_company_value_letters { color: #102f6d; background: transparent; border-radius: 0; font-family: var(--woori-font-body); font-size: 120px; font-weight: 700; line-height: 1; }
.woori_company_values p { margin: 0; color: var(--woori-text); font-size: clamp(17px,1.15vw,22px); font-weight: 600; line-height: 1.5; word-break: keep-all; }
.woori_company_page .woori_page_statement { margin-top: 48px; padding: 48px 0 0; border: 0; border-top: 1px solid var(--woori-border); border-radius: 0; background: transparent; text-align: center; }
.woori_company_page .woori_page_statement p { font-size: clamp(21px,1.6vw,28px); line-height: 1.5; }
@media (max-width: 1000px) {
    .woori_company_page .woori_company_overview { grid-template-columns: minmax(0, .4fr) minmax(0, .6fr); gap: 24px; }
    .woori_company_value_mark { width: 150px; font-size: 24px; }
    .woori_company_value_letters { font-size: 100px; }
    .woori_company_values { gap: 20px; }
}
@media (max-width: 700px) {
    #t2d_scontents, #t2d_scontents.woori_intro_frame { width: calc(100% - 40px); padding-bottom: 70px; }
    #t2d_scontents .woori_intro_content { padding-top: 40px; }
    .woori_page { width: calc(100% - 40px); padding-top: 12px; }
    .woori_company_page .woori_company_overview { grid-template-columns: 1fr; gap: 28px; }
    .woori_company_photo { width: 100%; margin: 0 auto; }
    .woori_company_page .woori_company_identity { margin-top: 56px; }
    .woori_company_values { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 20px; margin-top: 36px; }
    .woori_company_value_mark { width: 130px; font-size: 21px; margin-bottom: 16px; }
    .woori_company_value_mark small { font-size: 14px; }
    .woori_company_value_letters { font-size: 86px; }
    .woori_company_page .woori_page_statement { margin-top: 32px; padding-top: 28px; }
    .woori_company_desktop_break { display: none; }
}

/* 회사소개 첫 인사말 강조 */
.woori_company_page .woori_page_prose .woori_company_lead {
    color: #00a6c6;
    font-size: clamp(18px, 1.15vw, 22px);
    font-weight: 600;
    line-height: 1.7;
}

/* ========================================
서비스안내: 강조 서비스 + 2열 카드
공통 제목/본문 및 기존 아이콘 라이브러리 재사용
======================================== */
.woori_service_page {
    --woori-service-navy: #0b2a6b;
    --woori-service-accent: #01a0c7;
    padding-top: 64px;
}

.woori_service_page .woori_page_header {
    margin-bottom: 44px;
}

.woori_service_page .woori_page_title {
    color: var(--woori-service-navy);
}

.woori_service_page .woori_service_sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.woori_service_page .woori_service_section {
    min-width: 0;
    padding: 36px;
    border: 1px solid var(--woori-border);
    border-radius: 20px;
    background: #fff;
}

.woori_service_page .woori_service_heading {
    margin-bottom: 26px;
}

.woori_service_page .woori_service_marker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.woori_service_page .woori_service_marker i {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border-radius: 16px;
    background: #edf7fa;
    color: var(--woori-service-accent);
    font-size: 28px;
    line-height: 1;
}

.woori_service_page .woori_service_number {
    color: #626b78;
    font-family: var(--woori-font-number);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

.woori_service_page .woori_page_subtitle {
    margin: 0;
    color: var(--woori-service-navy);
    font-size: clamp(23px, 1.6vw, 28px);
    line-height: 1.5;
}

.woori_service_page .woori_service_list {
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--woori-text);
    font-size: var(--woori-page-body-size);
    font-weight: 300;
    line-height: 1.85;
}

.woori_service_page .woori_service_list li {
    position: relative;
    padding-left: 17px;
}

.woori_service_page .woori_service_list li + li {
    margin-top: 12px;
}

.woori_service_page .woori_service_list li::before {
    position: absolute;
    top: .78em;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--woori-gray);
    content: '';
}

/* 신속 배달은 가로 전체를 사용하는 대표 서비스입니다. */
.woori_service_page .woori_service_section:first-child {
    grid-column: 1 / -1;
    padding: 44px;
    border: 0;
    background: #f3f6fa;
}

.woori_service_page .woori_service_section:first-child .woori_service_heading {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-bottom: 28px;
    border-bottom: 1px solid #d6dee9;
}

.woori_service_page .woori_service_section:first-child .woori_service_marker {
    gap: 20px;
    margin: 0;
}

.woori_service_page .woori_service_section:first-child .woori_service_marker i {
    background: var(--woori-service-navy);
    color: #fff;
}

.woori_service_page .woori_service_section:first-child .woori_service_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 18px 40px;
}

.woori_service_page .woori_service_section:first-child .woori_service_list li + li {
    margin-top: 0;
}

@media (max-width: 700px) {
    .woori_service_page {
        padding-top: 36px;
    }

    .woori_service_page .woori_page_header {
        margin-bottom: 30px;
    }

    .woori_service_page .woori_service_sections {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .woori_service_page .woori_service_section,
    .woori_service_page .woori_service_section:first-child {
        padding: 26px 22px;
    }

    .woori_service_page .woori_service_section:first-child .woori_service_heading {
        align-items: flex-start;
        gap: 18px;
    }

    .woori_service_page .woori_service_section:first-child .woori_service_marker {
        flex-direction: column;
        gap: 10px;
    }

    .woori_service_page .woori_service_section:first-child .woori_service_list {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .woori_service_page .woori_service_marker i {
        width: 48px;
        height: 48px;
        font-size: 25px;
    }
}

/* ========================================
공통 준비중 화면: 내용관리 페이지에서 재사용
======================================== */
.woori_preparing_page .woori_preparing_content {
    display: flex;
    min-height: 380px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 20px;
    text-align: center;
}

.woori_preparing_page .woori_preparing_icon {
    display: grid;
    width: 100px;
    height: 100px;
    margin-bottom: 28px;
    place-items: center;
    border-radius: 50%;
    background: #f3f6fa;
    color: #01a0c7;
    font-size: 42px;
    line-height: 1;
}

.woori_preparing_page .woori_page_title {
    color: #0b2a6b;
}

.woori_preparing_page .woori_preparing_line {
    width: 40px;
    height: 3px;
    margin-top: 28px;
    background: #01a0c7;
}

@media (max-width: 700px) {
    .woori_preparing_page .woori_preparing_content {
        min-height: 300px;
        padding: 48px 16px;
    }

    .woori_preparing_page .woori_preparing_icon {
        width: 80px;
        height: 80px;
        font-size: 34px;
    }
}

/* ========================================
요금문의 fo_id=1 전용. 입력/검증/접수 로직 유지.
======================================== */
#t2d_scontents form[name="regSetForm1"] .regFormFrame {
    margin-top: 64px;
    overflow: visible;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 18px;
    line-height: 1.7;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame,
#t2d_scontents form[name="regSetForm1"] .regFormFrame * {
    box-sizing: border-box;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame > h2 {
    margin: 0 0 32px;
    color: #0b2a6b;
    font-family: var(--woori-font-display);
    font-size: clamp(25px, 2.1vw, 40px);
    font-weight: 500;
    line-height: 1.5;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame > h2:empty {
    display: none;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList {
    margin: 0;
    padding: 0;
    overflow: visible;
    border-top: 2px solid #0b2a6b;
    border-bottom: 0;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul li {
    display: block;
    min-height: 92px;
    margin: 0;
    padding: 20px 0 20px 200px;
    overflow: visible;
    border-bottom: 1px solid var(--woori-border);
    font-size: 18px;
    line-height: 52px;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul li > span {
    top: 20px;
    width: 180px;
    height: auto;
    padding-left: 14px;
    color: var(--woori-text);
    font-size: 18px;
    font-weight: 600;
    line-height: 52px;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul li > span.req::before {
    color: #01a0c7;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul li > span.focus {
    color: #b72828;
    border-bottom: 0;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList input[type="text"],
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList select,
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList textarea {
    max-width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid #d6dce4;
    border-radius: 8px;
    background: #fff;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 17px;
    font-weight: 300;
    line-height: 1.6;
    vertical-align: middle;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList input[type="text"],
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList select {
    width: 420px;
    height: 52px;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList li.tel .tel1,
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList li.tel input[type="text"] {
    width: calc((100% - 36px) / 3);
    max-width: 140px;
    text-align: center;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList textarea {
    display: block;
    width: 100%;
    height: 120px;
    resize: vertical;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList li.textarea:last-child textarea {
    height: 180px;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList input:focus,
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList select:focus,
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList textarea:focus {
    outline: 0;
    border-color: #01a0c7;
    box-shadow: 0 0 0 3px rgb(1 160 199 / 12%);
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormAgree {
    margin-top: 28px;
    padding: 24px;
    overflow: visible;
    border-radius: 12px;
    background: #f3f6fa;
    color: var(--woori-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.8;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame input[type="checkbox"],
#t2d_scontents form[name="regSetForm1"] .regFormFrame input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 6px;
    accent-color: #0b2a6b;
    vertical-align: middle;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .privacyView,
#t2d_scontents form[name="regSetForm1"] .regFormFrame .privacyCloseBtn {
    min-height: 38px;
    margin-left: 12px;
    padding: 6px 14px;
    border: 1px solid #0b2a6b;
    border-radius: 6px;
    background: #fff;
    color: #0b2a6b;
    font-family: var(--woori-font-body);
    font-size: 15px;
    line-height: 1.5;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormBtn {
    padding: 24px 0 0;
    overflow: visible;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .btn_submit {
    min-width: 220px;
    height: auto;
    min-height: 60px;
    padding: 16px 36px;
    border: 0;
    border-radius: 10px;
    background: #0b2a6b;
    color: #fff;
    font-family: var(--woori-font-body);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    transition: background 180ms ease;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .btn_submit:hover {
    background: #01a0c7;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame button:focus-visible,
#t2d_scontents form[name="regSetForm1"] .regFormFrame input[type="submit"]:focus-visible,
#t2d_scontents form[name="regSetForm1"] .regFormFrame input[type="checkbox"]:focus-visible {
    outline: 2px solid #01a0c7;
    outline-offset: 4px;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormPrivacy {
    position: fixed;
    z-index: 1100;
    top: 50%;
    left: 50%;
    width: min(720px, calc(100% - 40px));
    height: auto;
    max-height: 80vh;
    margin: 0;
    padding: 28px;
    transform: translate(-50%, -50%);
    border: 1px solid var(--woori-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 60px rgb(11 42 107 / 20%);
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormPrivacy h2 {
    margin: 0 0 16px;
    padding: 0 76px 16px 0;
    border-bottom: 1px solid var(--woori-border);
    color: #0b2a6b;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.6;
}
#t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormPrivacyCont {
    height: auto;
    max-height: 52vh;
    padding: 0;
    color: var(--woori-text);
    font-size: 16px;
    line-height: 1.8;
}
@media (max-width: 700px) {
    #t2d_scontents form[name="regSetForm1"] .regFormFrame {
        margin-top: 36px;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul li {
        padding: 18px 0;
        font-size: 16px;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList ul li > span {
        position: relative;
        top: auto;
        width: 100%;
        margin-bottom: 10px;
        font-size: 17px;
        line-height: 1.5;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList input[type="text"],
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList select {
        width: 100%;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList li.tel .tel1,
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormList li.tel input[type="text"] {
        width: calc((100% - 36px) / 3);
        max-width: none;
        padding-right: 6px;
        padding-left: 6px;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormAgree {
        padding: 20px 16px;
        text-align: left;
        font-size: 16px;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .privacyView {
        display: block;
        margin: 12px 0 0 24px;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .btn_submit {
        width: 100%;
        min-width: 0;
    }
    #t2d_scontents form[name="regSetForm1"] .regFormFrame .regFormPrivacy {
        padding: 22px;
    }
}
@media (prefers-reduced-motion: reduce) {
    #t2d_scontents form[name="regSetForm1"] .regFormFrame input,
    #t2d_scontents form[name="regSetForm1"] .regFormFrame select,
    #t2d_scontents form[name="regSetForm1"] .regFormFrame textarea {
        transition: none;
    }
}

/* ========================================
서브 FAQ: 기존 검색/분류/아코디언 기능 유지
메인 FAQ 및 다른 게시판에는 적용하지 않습니다.
======================================== */
#t2d_scontents #faq_sch {
    margin: 64px 0 28px;
    padding: 32px;
    border: 0;
    border-radius: 16px;
    background: #f3f6fa;
    font-family: var(--woori-font-body);
}
#t2d_scontents #faq_sch form {
    display: flex;
    justify-content: center;
    gap: 12px;
}
#t2d_scontents #faq_sch .frm_input {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 560px;
    height: 54px;
    padding: 12px 16px;
    border: 1px solid #d6dce4;
    border-radius: 8px;
    background: #fff;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 18px;
    line-height: 1.5;
}
#t2d_scontents #faq_sch .btn_submit {
    flex-shrink: 0;
    width: 100px;
    height: 54px;
    padding: 12px 18px;
    border: 0;
    border-radius: 8px;
    background: #0b2a6b;
    color: #fff;
    font-family: var(--woori-font-body);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}
#t2d_scontents #faq_sch .frm_input:focus {
    outline: 0;
    border-color: #01a0c7;
    box-shadow: 0 0 0 3px rgb(1 160 199 / 12%);
}
#t2d_scontents:has(#faq_wrap) #bo_cate ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#t2d_scontents:has(#faq_wrap) #bo_cate li {
    padding: 0;
}
#t2d_scontents:has(#faq_wrap) #bo_cate a {
    padding: 10px 22px;
    border: 1px solid var(--woori-border);
    border-radius: 8px;
    background: #fff;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}
#t2d_scontents:has(#faq_wrap) #bo_cate #bo_cate_on {
    border-color: #0b2a6b;
    background: #0b2a6b;
    color: #fff;
    box-shadow: none;
}
#t2d_scontents #faq_wrap {
    margin: 0;
    font-family: var(--woori-font-body);
}
#t2d_scontents #faq_con > ol {
    border-top: 2px solid #0b2a6b;
}
#t2d_scontents #faq_con > ol > li {
    border-top: 0;
    border-bottom: 1px solid var(--woori-border);
}
#t2d_scontents #faq_con li h3 {
    min-height: 88px;
    margin: 0;
    padding: 26px 76px 26px 76px;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: clamp(18px, 1.15vw, 22px);
    font-weight: 600;
    line-height: 1.65;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
#t2d_scontents #faq_con li h3 a {
    display: block;
    color: inherit;
    text-decoration: none;
}
#t2d_scontents #faq_con li h3 .tit_bg {
    top: 26px;
    left: 24px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: #01a0c7;
    color: #fff;
    font-family: var(--woori-font-number);
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}
#t2d_scontents #faq_con li h3 .tit_btn {
    top: 24px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: transparent;
    color: #0b2a6b;
    font-size: 18px;
}
#t2d_scontents #faq_con li h3.faq_li_open {
    background: #f3f6fa;
    color: #0b2a6b;
}
#t2d_scontents #faq_con li h3.faq_li_open a {
    color: #0b2a6b;
}
#t2d_scontents #faq_con li h3.faq_li_open .tit_btn i {
    transform: rotate(45deg);
}
#t2d_scontents #faq_con .con_inner {
    position: relative;
    padding: 28px 76px 36px;
    background: #f3f6fa;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: var(--woori-page-body-size, 18px);
    font-weight: 300;
    line-height: 1.9;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
#t2d_scontents #faq_con .con_inner p {
    margin: 0 0 16px;
}
#t2d_scontents #faq_con .con_inner p:last-child {
    margin-bottom: 0;
}
#t2d_scontents #faq_con .con_inner a {
    color: #0b2a6b;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#t2d_scontents #faq_con .con_inner .closer_btn {
    top: 22px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #0b2a6b;
    font-size: 18px;
}
#t2d_scontents #faq_sch button:hover {
    background: #01a0c7;
}
#t2d_scontents #faq_con button,
#t2d_scontents #faq_con a,
#t2d_scontents #faq_sch button {
    cursor: pointer;
}
#t2d_scontents #faq_con button:focus-visible,
#t2d_scontents #faq_con a:focus-visible,
#t2d_scontents #faq_sch button:focus-visible {
    outline: 2px solid #01a0c7;
    outline-offset: 3px;
}
@media (max-width: 700px) {
    #t2d_scontents #faq_sch {
        margin-top: 36px;
        padding: 20px 16px;
    }
    #t2d_scontents #faq_sch form {
        gap: 8px;
    }
    #t2d_scontents #faq_sch .frm_input {
        font-size: 16px;
    }
    #t2d_scontents #faq_sch .btn_submit {
        width: 80px;
        padding: 12px;
        font-size: 16px;
    }
    #t2d_scontents #faq_con li h3 {
        padding: 22px 52px 22px 50px;
        font-size: 18px;
    }
    #t2d_scontents #faq_con li h3 .tit_bg {
        top: 24px;
        left: 10px;
        width: 28px;
        height: 28px;
        font-size: 18px;
    }
    #t2d_scontents #faq_con li h3 .tit_btn {
        top: 20px;
        right: 6px;
    }
    #t2d_scontents #faq_con .con_inner {
        padding: 22px 52px 28px 20px;
        font-size: 16px;
    }
    #t2d_scontents #faq_con .con_inner .closer_btn {
        top: 16px;
        right: 6px;
    }
}

/* FAQ 편집기에 저장된 개별 글꼴/밑줄도 공통 디자인으로 통일합니다. */
#t2d_scontents #faq_con h3 a,
#t2d_scontents #faq_con h3 a :where(span, font, p, div, strong, b, em, u),
#t2d_scontents #faq_con .con_inner,
#t2d_scontents #faq_con .con_inner :where(p, div, span, font, a, strong, b, em, u, ul, ol, li, td, th) {
    font-family: 'Pretendard', sans-serif !important;
    text-decoration: none !important;
}
#t2d_scontents #faq_con h3 a:hover,
#t2d_scontents #faq_con h3 a:focus,
#t2d_scontents #faq_con .con_inner a:hover,
#t2d_scontents #faq_con .con_inner a:focus {
    text-decoration: none !important;
}

/* ========================================
공통 약관 본문: woori_terms_page
기존 서브 제목/본문 글꼴을 사용합니다.
======================================== */
.woori_terms_page {
    padding-top: 56px;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 15px;
    font-weight: 300;
    line-height: 1.9;
}

.woori_terms_page .woori_page_header {
    margin-bottom: 36px;
}

.woori_terms_page .woori_page_title {
    font-size: clamp(24px, 1.8vw, 32px);
    line-height: 1.5;
}

.woori_terms_page .woori_terms_chapter + .woori_terms_chapter {
    margin-top: 48px;
}

.woori_terms_page .woori_terms_chapter_title {
    margin: 0 0 24px;
    padding: 14px 0;
    border-top: 2px solid #0b2a6b;
    border-bottom: 1px solid var(--woori-border);
    color: #0b2a6b;
    font-family: var(--woori-font-body);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}

.woori_terms_page .woori_terms_article + .woori_terms_article {
    margin-top: 28px;
}

.woori_terms_page .woori_terms_article_title {
    margin: 0 0 12px;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.7;
}

.woori_terms_page .woori_terms_article p {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.woori_terms_page .woori_terms_article p + p {
    margin-top: 8px;
}

.woori_terms_page .woori_terms_item {
    padding-left: 1.5em;
    text-indent: -1.5em;
}

@media (max-width: 700px) {
    .woori_terms_page {
        padding-top: 32px;
        font-size: 14px;
    }

    .woori_terms_page .woori_page_header {
        margin-bottom: 28px;
    }

    .woori_terms_page .woori_terms_chapter_title {
        font-size: 18px;
    }

    .woori_terms_page .woori_terms_article_title {
        font-size: 15px;
    }

    .woori_terms_page .woori_terms_chapter + .woori_terms_chapter {
        margin-top: 36px;
    }
}

/* ========================================
이용안내: 서비스안내와 공통 톤앤매너 유지
======================================== */
.woori_guide_page {
    padding-top: 64px;
}

.woori_guide_page .woori_guide_visual {
    margin-bottom: 44px;
}

.woori_guide_page .woori_guide_visual img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 20px;
}

.woori_guide_page .woori_page_header {
    margin-bottom: 48px;
    text-align: center;
}

.woori_guide_page .woori_page_title {
    color: #0b2a6b;
    font-size: clamp(25px, 2vw, 36px);
    line-height: 1.5;
}

.woori_guide_page .woori_guide_greeting {
    margin: 16px 0 0;
    color: var(--woori-gray);
    font-size: var(--woori-page-body-size);
    line-height: 1.8;
}

.woori_guide_page .woori_guide_cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.woori_guide_page .woori_guide_card {
    min-width: 0;
    padding: 36px;
    border: 1px solid var(--woori-border);
    border-radius: 20px;
    background: #fff;
}

.woori_guide_page .woori_guide_heading {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 28px;
}

.woori_guide_page .woori_guide_icon {
    display: grid;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 16px;
    background: #edf7fa;
    color: #01a0c7;
    font-size: 28px;
    line-height: 1;
}

.woori_guide_page .woori_page_subtitle {
    margin: 0;
    color: #0b2a6b;
    font-size: clamp(23px, 1.6vw, 28px);
    line-height: 1.5;
}

.woori_guide_page .woori_guide_hours {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woori_guide_page .woori_guide_hours li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: var(--woori-page-body-size);
    line-height: 1.8;
}

.woori_guide_page .woori_guide_hours li + li {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--woori-border);
}

.woori_guide_page .woori_guide_hours li > i {
    color: #01a0c7;
    font-size: 22px;
    line-height: 1.5;
}

.woori_guide_page .woori_guide_label {
    display: block;
    margin-bottom: 4px;
    color: var(--woori-gray);
}

.woori_guide_page .woori_guide_hours strong {
    color: var(--woori-text);
    font-size: 20px;
    font-weight: 600;
}

.woori_guide_page .woori_guide_description,
.woori_guide_page .woori_guide_contact {
    margin: 0;
    color: var(--woori-text);
    font-size: var(--woori-page-body-size);
    line-height: 1.85;
}

.woori_guide_page .woori_guide_contact {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--woori-border);
}

.woori_guide_page .woori_guide_contact a {
    display: inline-block;
    color: #0b2a6b;
    font-family: var(--woori-font-number);
    font-size: 22px;
    font-weight: 600;
    text-decoration: none;
}

.woori_guide_page .woori_guide_contact a:focus-visible {
    outline: 2px solid #01a0c7;
    outline-offset: 3px;
}

@media (max-width: 700px) {
    .woori_guide_page {
        padding-top: 36px;
    }

    .woori_guide_page .woori_guide_visual {
        margin-bottom: 28px;
    }

    .woori_guide_page .woori_page_header {
        margin-bottom: 32px;
    }

    .woori_guide_page .woori_guide_cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .woori_guide_page .woori_guide_card {
        padding: 26px 22px;
    }

    .woori_guide_page .woori_guide_heading {
        gap: 14px;
        margin-bottom: 24px;
    }

    .woori_guide_page .woori_guide_icon {
        width: 48px;
        height: 48px;
        font-size: 25px;
    }

    .woori_guide_page .woori_guide_hours strong {
        font-size: 18px;
    }
}

/* ========================================
개인정보 처리방침: 공통 woori_terms_page 재사용
본문15px / 모바일14px, 표/목록만 확장합니다.
======================================== */
.woori_privacy_page .woori_privacy_intro {
    margin: 0 0 36px;
    color: var(--woori-text);
    font-size: inherit;
    line-height: inherit;
}

.woori_privacy_page .woori_privacy_list {
    margin: 14px 0;
    padding-left: 22px;
    color: var(--woori-text);
    font-size: inherit;
    line-height: inherit;
}

.woori_privacy_page .woori_privacy_list li + li {
    margin-top: 6px;
}

.woori_privacy_page strong {
    font-weight: 600;
}

.woori_privacy_page .woori_privacy_table_wrap {
    width: 100%;
    margin: 18px 0;
    overflow-x: auto;
}

.woori_privacy_page .woori_privacy_table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #0b2a6b;
    color: var(--woori-text);
    font-family: var(--woori-font-body);
    font-size: inherit;
    line-height: 1.8;
}

.woori_privacy_page .woori_privacy_table caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.woori_privacy_page .woori_privacy_table th,
.woori_privacy_page .woori_privacy_table td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--woori-border);
    text-align: left;
    vertical-align: top;
}

.woori_privacy_page .woori_privacy_table th {
    background: #f3f6fa;
    color: #0b2a6b;
    font-weight: 600;
}

.woori_privacy_page .woori_privacy_table tbody th {
    min-width: 130px;
}

.woori_privacy_page .woori_privacy_note {
    padding: 14px 18px;
    border-left: 2px solid #01a0c7;
    background: #f3f6fa;
    color: var(--woori-gray);
}

.woori_privacy_page .woori_terms_article a {
    color: #0b2a6b;
    text-decoration: none;
}

.woori_privacy_page .woori_terms_article a:focus-visible {
    outline: 2px solid #01a0c7;
    outline-offset: 3px;
}

@media (max-width: 700px) {
    .woori_privacy_page .woori_privacy_table th,
    .woori_privacy_page .woori_privacy_table td {
        padding: 12px;
    }

    .woori_privacy_page .woori_privacy_table_wide {
        min-width: 600px;
    }
}


/* 퀵 & 화물 글자 크기 */
.woori_inquiry_copy > .woori_eyebrow {
    font-size: 30px;
}