@charset "utf-8";

/* ============================================
   Google Forms Style Survey System
   리빌더(Rebuilder) + 여분 필드 활용
   ============================================ */

/* 상단/하단 내용 숨기기 (설문 질문으로 사용 중) */
#bo_v_con,
#bo_v_con + div,
.bo_v_con,
.view_content_head,
.bo_content_head,
.view_content_tail,
.bo_content_tail,
.board_top,
.board_bottom,
#bo_list > div[style]:first-child {
    display: none !important;
}

/* gform_style 밖의 div들 숨기기 */
.rb_bbs_wrap.gform_style ~ div:not(#ft):not(.wrapper):not(#hd) {
    display: none !important;
}

/* 추가: 리빌더 특정 영역들 */
.rb_bbs_top,
.rb_bbs_bottom,
.sub_top_con,
.sub_bottom_con {
    display: none !important;
}

/* 전체 래퍼 */
.rb_bbs_wrap.gform_style {
    background: #F0EBF8 !important;
    min-height: 100vh;
    padding: 40px 20px !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* 폼 컨테이너 */
.rb_bbs_wrap.gform_style .gform_container {
    max-width: 760px;
    margin: 0 auto;
}

/* 헤더 카드 */
.rb_bbs_wrap.gform_style .gform_header {
    background: #FFFFFF !important;
    border-radius: 8px;
    padding: 0 !important;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
    overflow: hidden;
    border-top: 10px solid #673AB7;
}

.rb_bbs_wrap.gform_style .gform_header_content {
    padding: 32px 24px 24px;
}

.rb_bbs_wrap.gform_style .gform_title {
    font-size: 32px !important;
    font-weight: 400 !important;
    color: #202124 !important;
    margin: 0 0 8px 0 !important;
    line-height: 40px !important;
    word-break: keep-all;
    border: none !important;
    padding: 0 !important;
}

.rb_bbs_wrap.gform_style .gform_description {
    font-size: 14px;
    color: #5F6368;
    line-height: 20px;
    margin: 0;
    white-space: pre-line;
}

/* 질문 카드 */
.rb_bbs_wrap.gform_style .gform_question {
    background: #FFFFFF !important;
    border-radius: 8px;
    padding: 24px !important;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
    transition: box-shadow 0.2s;
}

.rb_bbs_wrap.gform_style .gform_question:hover {
    box-shadow: 0 1px 3px 0 rgba(60,64,67,.3), 0 4px 8px 3px rgba(60,64,67,.15);
}

.rb_bbs_wrap.gform_style .gform_question.focused {
    border-left: 6px solid #673AB7;
    padding-left: 18px !important;
}

/* 질문 라벨 */
.rb_bbs_wrap.gform_style .gform_label {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #202124 !important;
    margin-bottom: 8px;
    display: block;
    line-height: 24px;
}

.rb_bbs_wrap.gform_style .gform_label .required {
    color: #D93025;
    margin-left: 4px;
}

.rb_bbs_wrap.gform_style .gform_help_text {
    font-size: 12px;
    color: #5F6368;
    margin-top: 4px;
    line-height: 16px;
}

/* 입력 필드 */
.rb_bbs_wrap.gform_style .gform_input,
.rb_bbs_wrap.gform_style .gform_textarea,
.rb_bbs_wrap.gform_style .gform_select {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    color: #202124 !important;
    border: none !important;
    border-bottom: 1px solid #DADCE0 !important;
    background: transparent !important;
    transition: border-color 0.2s;
    outline: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    box-shadow: none !important;
}

.rb_bbs_wrap.gform_style .gform_input:hover,
.rb_bbs_wrap.gform_style .gform_textarea:hover,
.rb_bbs_wrap.gform_style .gform_select:hover {
    border-bottom-color: #202124 !important;
}

.rb_bbs_wrap.gform_style .gform_input:focus,
.rb_bbs_wrap.gform_style .gform_textarea:focus,
.rb_bbs_wrap.gform_style .gform_select:focus {
    border-bottom-color: #673AB7 !important;
    border-bottom-width: 2px !important;
}

.rb_bbs_wrap.gform_style .gform_textarea {
    min-height: 100px;
    resize: vertical;
    border: 1px solid #DADCE0 !important;
    border-radius: 4px;
    padding: 12px !important;
}

.rb_bbs_wrap.gform_style .gform_textarea:focus {
    border-color: #673AB7 !important;
    border-width: 2px !important;
}

/* 라디오/체크박스 */
.rb_bbs_wrap.gform_style .gform_radio_group,
.rb_bbs_wrap.gform_style .gform_checkbox_group {
    margin-top: 12px;
}

.rb_bbs_wrap.gform_style .gform_radio_item,
.rb_bbs_wrap.gform_style .gform_checkbox_item {
    display: flex;
    align-items: center;
    padding: 12px 0;
    cursor: pointer;
    transition: background 0.2s;
    border-radius: 4px;
    margin: 0 -8px;
    padding-left: 8px !important;
}

.rb_bbs_wrap.gform_style .gform_radio_item:hover,
.rb_bbs_wrap.gform_style .gform_checkbox_item:hover {
    background: rgba(103, 58, 183, 0.04);
}

.rb_bbs_wrap.gform_style .gform_radio_item input[type="radio"],
.rb_bbs_wrap.gform_style .gform_checkbox_item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    accent-color: #673AB7;
    cursor: pointer;
}

.rb_bbs_wrap.gform_style .gform_radio_item label,
.rb_bbs_wrap.gform_style .gform_checkbox_item label {
    font-size: 14px;
    color: #202124;
    cursor: pointer;
    flex: 1;
}

/* 셀렉트 박스 */
.rb_bbs_wrap.gform_style .gform_select {
    cursor: pointer;
    padding-right: 32px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%235F6368' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    appearance: none;
}

/* 개인정보 수집 동의 */
.rb_bbs_wrap.gform_style .gform_agree_box {
    margin-top: 12px;
}

.rb_bbs_wrap.gform_style .gform_agree_content {
    background: #F8F9FA;
    border: 1px solid #DADCE0;
    border-radius: 4px;
    padding: 16px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #5F6368;
    line-height: 1.6;
    max-height: 200px;
    overflow-y: auto;
}

.rb_bbs_wrap.gform_style .gform_agree_checkbox {
    display: flex;
    align-items: center;
    padding: 12px;
    background: rgba(103, 58, 183, 0.04);
    border-radius: 4px;
    border: 2px solid transparent;
    transition: border-color 0.2s;
}

.rb_bbs_wrap.gform_style .gform_agree_checkbox:hover {
    border-color: rgba(103, 58, 183, 0.2);
}

.rb_bbs_wrap.gform_style .gform_agree_checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    accent-color: #673AB7;
    cursor: pointer;
}

.rb_bbs_wrap.gform_style .gform_agree_checkbox label {
    font-size: 14px;
    color: #202124;
    cursor: pointer;
    flex: 1;
    margin: 0;
}

.rb_bbs_wrap.gform_style .gform_agree_checkbox label strong {
    font-weight: 500;
}

/* 버튼 */
.rb_bbs_wrap.gform_style .gform_submit_wrap {
    background: #FFFFFF !important;
    border-radius: 8px;
    padding: 24px !important;
    margin-top: 12px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.rb_bbs_wrap.gform_style .gform_btn {
    padding: 10px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer;
    transition: all 0.2s;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.rb_bbs_wrap.gform_style .gform_btn_primary {
    background: #673AB7 !important;
    color: white !important;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15) !important;
}

.rb_bbs_wrap.gform_style .gform_btn_primary:hover {
    background: #5E35B1 !important;
    box-shadow: 0 1px 3px 0 rgba(60,64,67,.3), 0 4px 8px 3px rgba(60,64,67,.15) !important;
}

.rb_bbs_wrap.gform_style .gform_btn_secondary {
    background: white !important;
    color: #673AB7 !important;
    border: 1px solid #DADCE0 !important;
}

.rb_bbs_wrap.gform_style .gform_btn_secondary:hover {
    background: rgba(103, 58, 183, 0.04) !important;
}

/* 목록 스타일 (구글 시트) */
.rb_bbs_wrap.gform_style .gform_list_wrap {
    background: #FFFFFF !important;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
    overflow: hidden;
}

.rb_bbs_wrap.gform_style .gform_list_header {
    background: #673AB7 !important;
    color: white !important;
    padding: 24px !important;
}

.rb_bbs_wrap.gform_style .gform_list_title {
    font-size: 24px !important;
    font-weight: 400 !important;
    margin: 0 0 8px 0 !important;
    color: white !important;
}

.rb_bbs_wrap.gform_style .gform_list_stats {
    font-size: 14px;
    opacity: 0.9;
}

.rb_bbs_wrap.gform_style .gform_list_toolbar {
    padding: 16px 24px !important;
    border-bottom: 1px solid #DADCE0;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.rb_bbs_wrap.gform_style .gform_list_table {
    width: 100%;
    border-collapse: collapse;
}

.rb_bbs_wrap.gform_style .gform_list_table thead {
    background: #F8F9FA !important;
    position: sticky;
    top: 0;
    z-index: 10;
}

.rb_bbs_wrap.gform_style .gform_list_table th {
    padding: 12px 16px !important;
    text-align: left;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #5F6368 !important;
    text-transform: uppercase;
    border-bottom: 1px solid #DADCE0 !important;
    white-space: nowrap;
}

.rb_bbs_wrap.gform_style .gform_list_table td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #F0F0F0 !important;
    font-size: 14px !important;
    color: #202124 !important;
}

.rb_bbs_wrap.gform_style .gform_list_table tbody tr {
    transition: background 0.2s;
    cursor: pointer;
}

.rb_bbs_wrap.gform_style .gform_list_table tbody tr:hover {
    background: #F8F9FA !important;
}

/* 뷰 스타일 */
.rb_bbs_wrap.gform_style .gform_view_wrap {
    background: #FFFFFF !important;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
    overflow: hidden;
}

.rb_bbs_wrap.gform_style .gform_view_header {
    background: #673AB7 !important;
    color: white !important;
    padding: 32px 24px !important;
}

.rb_bbs_wrap.gform_style .gform_view_title {
    font-size: 24px !important;
    font-weight: 400 !important;
    margin: 0 0 8px 0 !important;
    word-break: keep-all;
    color: white !important;
    border: none !important;
    padding: 0 !important;
}

.rb_bbs_wrap.gform_style .gform_view_meta {
    font-size: 14px;
    opacity: 0.9;
    color: white !important;
}

.rb_bbs_wrap.gform_style .gform_view_content {
    padding: 24px !important;
}

.rb_bbs_wrap.gform_style .gform_view_item {
    padding: 20px 0 !important;
    border-bottom: 1px solid #F0F0F0 !important;
}

.rb_bbs_wrap.gform_style .gform_view_item:first-child {
    padding-top: 0 !important;
}

.rb_bbs_wrap.gform_style .gform_view_item:last-child {
    border-bottom: none !important;
}

.rb_bbs_wrap.gform_style .gform_view_question {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #5F6368 !important;
    margin-bottom: 8px !important;
}

.rb_bbs_wrap.gform_style .gform_view_answer {
    font-size: 16px !important;
    color: #202124 !important;
    line-height: 24px !important;
    word-break: break-word;
}

/* 이전글/다음글 네비게이션 */
.rb_bbs_wrap.gform_style .gform_view_nav {
    background: #FFFFFF !important;
    border-radius: 8px;
    padding: 16px 24px !important;
    margin-top: 12px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
}

.rb_bbs_wrap.gform_style .gform_view_nav_item {
    padding: 8px 0 !important;
    border-bottom: 1px solid #F0F0F0;
}

.rb_bbs_wrap.gform_style .gform_view_nav_item:last-child {
    border-bottom: none !important;
}

.rb_bbs_wrap.gform_style .gform_view_nav_label {
    color: #5F6368 !important;
    font-size: 13px !important;
    margin-right: 12px;
    font-weight: 500 !important;
}

.rb_bbs_wrap.gform_style .gform_view_nav_item a {
    color: #202124 !important;
    text-decoration: none !important;
    transition: color 0.2s;
}

.rb_bbs_wrap.gform_style .gform_view_nav_item a:hover {
    color: #673AB7 !important;
}

/* 페이지네이션 */
.rb_bbs_wrap.gform_style .gform_pagination {
    padding: 24px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.rb_bbs_wrap.gform_style .gform_pagination a,
.rb_bbs_wrap.gform_style .gform_pagination strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px !important;
    border-radius: 4px;
    font-size: 14px !important;
    text-decoration: none !important;
    color: #202124 !important;
    transition: all 0.2s;
}

.rb_bbs_wrap.gform_style .gform_pagination a:hover {
    background: rgba(103, 58, 183, 0.08) !important;
}

.rb_bbs_wrap.gform_style .gform_pagination strong {
    background: #673AB7 !important;
    color: white !important;
}

/* 반응형 */
@media (max-width: 768px) {
    .rb_bbs_wrap.gform_style {
        padding: 20px 12px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_header_content {
        padding: 24px 20px 20px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_title {
        font-size: 24px !important;
        line-height: 32px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_question,
    .rb_bbs_wrap.gform_style .gform_submit_wrap {
        padding: 20px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_list_toolbar {
        padding: 12px 16px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_list_table th,
    .rb_bbs_wrap.gform_style .gform_list_table td {
        padding: 8px 12px !important;
        font-size: 13px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_view_header {
        padding: 24px 20px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_view_title {
        font-size: 20px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_view_content,
    .rb_bbs_wrap.gform_style .gform_view_nav {
        padding: 20px !important;
    }
    
    .rb_bbs_wrap.gform_style .gform_view_item {
        padding: 16px 0 !important;
    }
}
