/* 주문하기 폼 - 서비스 설명 */
#service-description-content {
    font-size: 12px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
    word-break: keep-all;
    word-wrap: break-word;
}

/* PC 환경 (768px 이상) */
@media (min-width: 768px) {
    #service-description-content {
        font-size: 0.75rem;
        line-height: 1.7;
        font-weight: 400;
        color: #0f0f0f;
    }
} 
/* 주문하기 폼 - 설명 강조 */
.highlight {
    font-size: 17px;
    display: inline-block;  /* 또는 inline-block */
    width: 100%;
    background: linear-gradient(to right, #e2e8f0 60%, rgba(255, 255, 255, 0));
    font-weight: bold;
}

/* 모바일 디바이스 */
@media screen and (max-width: 768px) {
    .highlight {
        font-size: 14px;
        display: inline-block;  /* 또는 inline-block */
        width: 100%;
        background: linear-gradient(to right, #e2e8f0 60%, rgba(255, 255, 255, 0));
        font-weight: bold;    }
}

   .highlight-two {
      font-size: 13px;
       font-weight: bold;
     color: #f36
   }
   .highlight3 {
      font-size: 12px;
     font-weight: bold;
     background-color: #005ff0;
     color: #ffffff;
     display: flex;
     width: 100%;
     text-align: center;
     border: none;
     cursor: pointer;
     text-decoration: none;
     transition: 0.3s;
     height: 25px; /* 높이를 원하는 값으로 설정 */
     align-items: center;
     justify-content: center;
     border-radius: 1px; /* 모서리를 둥글게 만드는 속성 */
     margin-bottom: 10px;
   }

/* 주문 아이템 기본 스타일 (PC) */
.order-item {
    background-color: #fff;
    padding: 15px 48px 48px 48px;
    border-bottom-left-radius: 12px;  /* 추가 */
    border-bottom-right-radius: 12px; /* 추가 */
    box-shadow: rgb(0 0 0 / 4%) 0 0 12px 0;
}

/* 모바일 반응형 (480px 이하) */
@media screen and (max-width: 480px) {
    .order-item {
        width: 100% !important;
        padding: 15px;
    }
}

/* 주문 아이템 폼 스타일 */
.order-item select {
    border-radius: 12px !important;
    background-color: #FCFCFF !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-size: unset !important;
    background-position: calc(100% - 10px) calc(100% - 7px), 100% 0 !important;
    border-color: #CDCEDE !important;
}

@media screen and (max-width: 480px) {
    .order-item select {
        font-size: 14px;
        padding: 8px 12px;
    }
}

#order-button {
    width: 100%;
    color: #fff;
    font-size: 18px;
    height: 52px;
    background-color: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    margin-top: 24px;
    cursor: pointer;
    font-weight: 500;
    justify-content: center;
}



/* 모바일 반응형 */
@media screen and (max-width: 768px) {
    #order-button {
        height: 48px;
        font-size: 16px;
        border-radius: 10px;
        margin-top: 20px;
    }
}


/* 폼 그룹 스타일 */
.order-item .form-group.fields {
    margin-top: 16px;
}

.order-item .fields span {
    font-size: 16px !important;
    font-weight: normal;
}

.order-item .fields input {
    margin-top: 16px;
}

@media screen and (max-width: 480px) {
    .order-item .fields span {
        font-size: 14px !important;
    }
    
    .order-item .fields input {
        margin-top: 12px;
    }
}

/* 주문 정보 래퍼 스타일 */
.order-item-info-wrap {
    background-color: #FCFCFF;
    border: 1px solid #CDCEDE;
    border-radius: 12px;
}

@media screen and (max-width: 480px) {
    .order-item-info-wrap {
        border-radius: 8px;
    }
}

/* 주문하기 페이지 / SNS 플랫폼 선택 영역 */
.order-item-type-wrap {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    justify-content: space-between;
}

@media screen and (max-width: 480px) {
    .order-item-type-wrap {
        grid-gap: 5px;
        grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
    }
}

/* 플랫폼 선택 버튼 스타일 */
.order-item-type-wrap li {
    transition: all 0.2s ease;
    cursor: pointer;
}

.order-item-type-wrap li.active {
    background-color: #f8f9fa;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}

.order-item-type-wrap > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    color: #63636F;
    border-color: #E1E2F6;
    font-size: 14px;
    font-weight: normal;
}

@media screen and (max-width: 480px) {
    .order-item-type-wrap > li {
        padding: 10px 0;
        font-size: 10px;
        border-radius: 12px;
        white-space: nowrap;
    }
}

/* 버튼 아이콘 스타일 */
.neworder-btn i {
    width: 40px;
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media screen and (max-width: 480px) {
    .neworder-btn {
        gap: 3px;
    }

    .neworder-btn i {
        width: 25px;
        height: 25px;
    }
}

/* 주문하기 페이지 / 타이틀 및 프로세스 */
.order-item-process {
    background-color: #f6f7ff;
    border: 1.5px solid #005ff0;
    border-radius: 20px;
    padding: 0 14px;
    color: #005ff0;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    height: 24px;
    transition: all 0.3s ease;
}

@media screen and (max-width: 480px) {
    .order-item-process {
        border-radius: 15px;
        padding: 0 10px;
        font-size: 12px;
    }
}

.order-item-title {
    color: #333;
    font-size: 15px;
    display: flex;
    gap: 10px;
    align-items: center;
}

@media screen and (max-width: 480px) {
    .order-item-title {
        font-size: 13px;
        gap: 6px;
    }
}

/* 주문하기 버튼 스타일 */
.order-submit-btn {
    width: 100%;
    height: 56px;
    margin-top: 24px;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    background-color: #005ff0;
    border: none;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.order-submit-btn:hover {
    background-color: #004ed0;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 95, 240, 0.2);
}

.order-submit-btn:active {
    transform: translateY(0);
}

@media screen and (max-width: 480px) {
    .order-submit-btn {
        height: 48px;
        font-size: 13px;
        margin-top: 16px;
        border-radius: 8px;
    }
}
/*
* 가이드 모달 스타일시트
* 작성일: 2024-01-17
* 
* 목적: 서비스 이용 가이드를 위한 모달 UI 컴포넌트
* 구조: 
*  - 모달 컨테이너 (.guide-container)
*  - 제목 섹션 (.guide-title)
*  - 인트로 섹션 (.guide-intro) 
*  - 단계별 리스트 (.step-list)
*  - 탭 네비게이션 (.nav-tabs)
*  - 알림 박스 (.alert-custom)
*
* 반응형 브레이크포인트:
*  - 모바일: max-width 768px
*  - 데스크톱: min-width 768px
*/
/* 가이드 모달 - 컨테이너 */
.guide-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

/* 모바일에서 패딩 축소 */
@media (max-width: 768px) {
    .guide-container {
        padding: 1rem;
        margin: 0.5rem;
    }
}


/* 가이드 인트로 섹션 */
.guide-intro {
    background: #f8f9fa;
    padding: 1.25rem;
    border-radius: 8px;
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* 모바일에서 인트로 여백 조정 */
@media (max-width: 768px) {
    .guide-intro {
        padding: 1rem;
        margin-bottom: 1.5rem;
        font-size: 0.9rem;
    }
}

/* 단계별 리스트 컨테이너 */
.step-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 각 단계 아이템 스타일링 */
.step-item {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

/* 모바일에서 단계 아이템 여백 조정 */
@media (max-width: 768px) {
    .step-item {
        padding: 1rem;
        margin-bottom: 0.75rem;
    }
}

/* 단계 아이템 호버 효과 */
.step-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transform: translateY(-2px);
}

/* 단계 헤더 레이아웃 */
.step-header {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

/* 단계 번호 원형 디자인 */
.step-number {
    background: #000000;
    color: white;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 600;
    font-size: 0.9rem;
    margin-right: 8px;
}

/* 모바일에서 단계 번호 크기 조정 */
@media (max-width: 768px) {
    .step-number {
        width: 28px;
        height: 28px;
        font-size: 0.8rem;
    }
}

/* 단계 제목 스타일링 */
.step-title {
    font-size: 1.2rem;
    color: #252525;
    margin: 0;
}

/* 모바일에서 단계 제목 크기 조정 */
@media (max-width: 768px) {
    .step-title {
        font-size: 1rem;
    }
}

/* 단계 내용 스타일링 */
.step-content {
    color: #4a5568;
    line-height: 1.6;
}

/* 모바일에서 단계 내용 폰트 크기 조정 */
@media (max-width: 768px) {
    .step-content {
        font-size: 0.8rem;
        line-height: 1.5;
    }
}

/* 가이드 이미지 스타일링 */
.guide-img {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    width: 100%;
    margin: 1rem 0;
}

/* PC에서 이미지 크기 조정 */
@media screen and (min-width: 768px) {
    .guide-img {
        width: 50%;
        margin: 1rem auto;
        display: block;
    }
}

/* 탭 네비게이션 스타일링 */
.nav-tabs {
    border-bottom: 2px solid #e2e8f0;
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap; /* 모바일에서 탭 줄바꿈 지원 */
}

.nav-tabs .nav-link {
    color: #718096;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}

/* 모바일에서 탭 패딩 조정 */
@media (max-width: 768px) {
    .nav-tabs .nav-link {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
}

/* 활성화된 탭 스타일 */
.nav-tabs .nav-link.active {
    color: #4E75FF;
    border-bottom-color: #4E75FF;
}

/* 알림 박스 스타일링 */
.alert-custom {
    background-color: #F1F5F9;
    border-left: 4px solid #3B82F6;
    padding: 1.25rem;
    margin: 1.25rem 0;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #334155;
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.05);
    transition: all 0.2s ease;
}

/* 모바일에서 알림 박스 여백 조정 */
@media (max-width: 768px) {
    .alert-custom {
        padding: 1rem;
        margin: 1rem 0;
        font-size: 0.7rem;
    }
}

/* 알림 박스 호버 효과 */
.alert-custom:hover {
    background-color: #F8FAFC;
    box-shadow: 0 4px 6px rgba(59, 130, 246, 0.1);
}

/* 알림 박스 내 강조 텍스트 */
.alert-custom strong {
    color: #2563EB;
    font-weight: 600;
}




/* 공지사항 제목 스타일 */
.notice-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 19px;
    font-weight: bold;
    word-break: break-all;
    width: 100%;
    position: relative;
    color: #000;
    padding-bottom: 3px;
    border-bottom: 1px solid #ededed;
}
.notice-info {
    font-size: 13px;
    color: #666;
    font-weight: normal;
    display: flex;
    align-items: center;
    gap: 4px;
}
@media (max-width: 768px) {
    .notice-info {
        font-size: 11px;
        gap: 3px;  /* gap도 약간 줄임 */
    }
}

/* 공지사항 제목 h2, h3 스타일 */
.notice .notice-title h2,
.notice .notice-title h3 {
    font-size: 21px;
    padding: 8px 0;
    margin: 0; /* 기본 마진 제거 */
}



/* 모바일 대응을 위한 반응형 디자인 */
@media (max-width: 768px) {
    .notice .notice-title h2,
    .notice .notice-title h3 {
        font-size: 14px; /* 모바일에서는 글자 크기 축소 */
        padding: 6px 0; /* 모바일에서는 패딩 축소 */
    }
}


/* 공지사항 컨텐츠 영역 스타일 */
.notice-content {
    max-height: 200px;
    overflow-y: auto;
    padding: 15px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
    margin: 10px 0;
}

/* 스크롤바 스타일링 */
.notice-content::-webkit-scrollbar {
    width: 8px; /* 스크롤바 너비 증가 */
}

.notice-content::-webkit-scrollbar-track {
    background: #e9ecef;
    border-radius: 3px;
}

.notice-content::-webkit-scrollbar-thumb {
    background: #adb5bd; /* 더 진한 색상 */
    border-radius: 3px;
}

.notice-content::-webkit-scrollbar-thumb:hover {
    background: #6c757d; /* 호버 시 더 진한 색상 */
}

/* 공지사항 리스트 스타일 */
.notice-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.notice-item {
    padding: 10px 15px;
    border-bottom: 1px solid #e9ecef;
    transition: background-color 0.2s;
}

.notice-item:last-child {
    border-bottom: none;
}

.notice-item:hover {
    background-color: #fff;
}

.notice-date {
    font-size: 12px;
    color: #666;
    margin-right: 10px;
}

.notice-link {
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

.notice-link:hover {
    color: #007bff;
}

.notice-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 1rem;
}

.notice-link i {
    font-size: 0.875rem;
    color: #6c757d;
    margin-left: 0.5rem;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .notice-content {
        max-height: 150px;
        padding: 10px;
    }
    
    .notice-date {
        font-size: 10px;
    }
    
    .notice-link {
        font-size: 12px;
    }
    
    .notice-item {
        padding: 8px 10px;
    }
}

/* 가이드 항목 목록의 기본 스타일 */
.guide-method-list {
    display: flex;
    flex-direction: column;
    gap: 15px; /* 항목 간 간격 */
    padding-left:0;
}

/* 개별 가이드 항목 스타일 */
.guide-method {
    background-color: #f8f9fa; /* 흰색 배경으로 변경 */
    padding: 16px 20px; /* 패딩 약간 증가 */
    border-radius: 12px; /* 더 부드러운 모서리 */
    border: 1px solid #e5e7eb; /* 더 연한 테두리 */
    cursor: pointer;
    transition: all 0.3s ease; /* 부드러운 전환 효과 */
    text-align: center;
    font-size: 15px;
    color: #374151; /* 더 부드러운 텍스트 색상 */
    display: block;
    position: relative; /* 호버 효과를 위한 위치 설정 */
    overflow: hidden; /* 리플 효과를 위한 오버플로우 숨김 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* 미묘한 그림자 */
}

/* 버튼 스타일 초기화 및 개선 */
.guide-method button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: 15px; /* PC 환경의 기본 폰트 크기 */
    color: inherit;
    cursor: pointer;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* 모바일 대응을 위한 반응형 디자인 */
@media (max-width: 768px) {
    .guide-method button {
        font-size: 12px; /* 모바일에서는 글자 크기 축소 */
    }
}

/* 경고(주의사항) 항목 스타일 */
.guide-method.warning {
    background-color: #10b981; /* 더 세련된 초록색 */
    color: white;
    border: none;
}

/* 경고 항목 호버 시 스타일 */
.guide-method.warning:hover {
    background-color: #059669; /* 호버 시 약간 어두운 초록색 */
    color: white;
    transform: translateY(-2px); /* 살짝 위로 떠오르는 효과 */
}

/* 호버 시 스타일 */
.guide-method:hover {
    background-color: #3b82f6; /* 더 부드러운 파란색 */
    color: white;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2); /* 더 강조된 그림자 */
    transform: translateY(-2px); /* 살짝 위로 떠오르는 효과 */
}

/* 활성화(클릭) 상태 스타일 */
.guide-method:active {
    transform: translateY(0); /* 클릭 시 원래 위치로 */
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.1);
}

/* 반응형 디자인 개선 */
@media (max-width: 768px) {
    .guide-method {
        padding: 14px 16px;
        font-size: 14px;
    }
    
    .guide-method:hover {
        transform: none; /* 모바일에서는 떠오르는 효과 제거 */
    }
}

/* 화살표 아이콘 추가 */
.guide-method button::after {
    content: '›'; /* 화살표 문자 사용 */
    font-size: 18px; /* 화살표 크기 */
    line-height: 1;
    color: rgb(156, 163, 175); /* 회색톤의 화살표 */
    margin-left: 8px; /* 텍스트와 화살표 사이 간격 */
}

/* 호버 시 화살표 색상 변경 */
.guide-method:hover button::after {
    color: inherit;
}

/* 가이드 아이템 컨테이너 스타일 */
.guide-item {
    background-color: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: rgb(0 0 0 / 4%) 0 0 12px 0;
    margin-bottom: 1rem !important;
    width: 100% !important;
}

/* 가이드 제목 스타일 */
.guide-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 19px;
    font-weight: bold;
    word-break: break-all;
    width: 100%;
    position: relative;
    color: #000;
    padding-bottom: 3px;
    border-bottom: 1px solid #ededed;
}

.guide-title h2,
.guide-title h3 {
    font-size: 21px;
    padding: 8px 0;
    margin: 0; /* 기본 마진 제거 */
}

/* 모바일 대응을 위한 반응형 디자인 */
@media (max-width: 768px) {
    .guide-title h2,
    .guide-title h3 {
        font-size: 14px; /* 모바일에서는 글자 크기 축소 */
        padding: 6px 0; /* 모바일에서는 패딩 축소 */
    }
}




/* 모바일 대응을 위한 반응형 디자인 */
@media (max-width: 768px) {
    .guide-method {
        padding: 12px; /* 모바일에서는 패딩 축소 */
        font-size: 14px; /* 모바일에서는 글자 크기 축소 */
    }
    
    .guide-item {
        width: 100% !important;
        padding: 15px;
    }
}



/* 로그인 모달 기본 스타일 */
.login-modal .modal-dialog {
    max-width: 900px;
}

.login-modal .modal-content {
    border: none;
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    background: #FFFFFF;
}

.login-modal .modal-close {
    position: absolute;
    right: 24px;
    top: 24px;
    z-index: 10;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    transition: all 0.3s ease;
}

.login-modal .modal-close:hover {
    background-color: #f1f5f9;
    transform: rotate(90deg);
}

/* 왼쪽 일러스트레이션 섹션 */
.login-modal .col-md-5 {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    position: relative;
    overflow: hidden;
}

.login-modal .col-md-5::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1) 25%, transparent 25%),
                linear-gradient(-45deg, rgba(255,255,255,0.1) 25%, transparent 25%);
    background-size: 60px 60px;
    opacity: 0.1;
}

.login-modal .img-fluid {
    max-width: 75%;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.15));
    transition: transform 0.5s ease;
    position: relative;
    z-index: 1;
}

.login-modal .img-fluid:hover {
    transform: translateY(-5px);
}

/* 로그인 폼 섹션 */
.login-modal .modal-body {
    padding: 2.5rem;
}

.login-modal h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

.login-modal .text-muted {
    color: #64748b !important;
    font-size: 0.925rem;
}

/* 입력 필드 스타일 */
.login-modal .form-control {
    padding: 0.875rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 0.95rem;
    background-color: #f8fafc;
    color: #1e293b;
    transition: all 0.2s ease;
}

.login-modal .form-control:hover {
    background-color: #f1f5f9;
}

.login-modal .form-control:focus {
    border-color: #3b82f6;
    background-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

/* 라벨 스타일 */
.login-modal label.text-base {
    font-weight: 600;
    color: #475569 !important;
    font-size: 0.875rem;
}

/* 체크박스 커스텀 스타일 */
.login-modal .checkbox {
    gap: 0.5rem;
    position: relative;
    display: flex;
    align-items: center;
}

/* 기본 체크박스 숨기기 */
.login-modal .checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* 커스텀 체크박스 */
.login-modal .checkbox label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #475569;
    user-select: none;
}

/* 체크박스 박스 스타일 */
.login-modal .checkbox label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 2px solid #cbd5e1;
    border-radius: 4px;
    background-color: #fff;
    transition: all 0.2s ease;
}

/* 체크 마크 스타일 */
.login-modal .checkbox label:after {
    content: '';
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform-origin: center;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 체크됐을 때 박스 스타일 */
.login-modal .checkbox input[type="checkbox"]:checked + label:before {
    border-color: #3b82f6;
    background-color: #3b82f6;
}

/* 체크됐을 때 체크마크 스타일 */
.login-modal .checkbox input[type="checkbox"]:checked + label:after {
    transform: translateY(-75%) rotate(45deg) scale(1);
}

/* 호버 효과 */
.login-modal .checkbox label:hover:before {
    border-color: #3b82f6;
}

/* 포커스 효과 */
.login-modal .checkbox input[type="checkbox"]:focus + label:before {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

/* 버튼 스타일 */
.login-modal .btn {
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.login-modal .btn-primary {
    background: #3b82f6;
    border: none;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}

.login-modal .btn-primary:hover {
    background: #2563eb;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(59, 130, 246, 0.3);
}

/* 카카오 로인 버튼 */
.login-modal .btn[href*="loginWithKakao"] {
    background: #FEE500;
    color: #191919;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(254, 229, 0, 0.25);
}

.login-modal .btn[href*="loginWithKakao"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(254, 229, 0, 0.3);
}

/* 게스트 로그인 버튼 */
.login-modal .btn-secondary {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.login-modal .btn-secondary:hover {
    background: #e2e8f0;
    color: #1e293b;
    transform: translateY(-2px);
}

/* 링크 스타일 */
.login-modal .text-primary {
    color: #3b82f6 !important;
    text-decoration: none;
    font-weight: 500;
}

.login-modal .text-primary:hover {
    color: #2563eb !important;
    text-decoration: underline;
}

/* 구분선 */
.login-modal hr {
    margin: 1.5rem 0;
    border-color: #e2e8f0;
    opacity: 0.5;
}

/* 반응형 조정 */
@media (max-width: 768px) {
    /* 모달 크기 조정 */
    .login-modal .modal-dialog {
        margin: 0.15rem;
        max-width: 100%;
    }
    
    .login-modal .modal-content {
        border-radius: 12px;
    }
    
    .login-modal .modal-body {
        padding: 2rem;
    }
    
    /* 일러스트레이션 영역 숨김 */
    .login-modal .col-md-5 {
        display: none;
    }
    
    /* 제목 크기 조정 */
    .login-modal h2 {
        font-size: 1rem;
        margin-bottom: 0.25rem;
    }
    
    /* 설명 텍스트 크기 조정 */
    .login-modal .text-muted {
        font-size: 0.7rem;
    }
    
    /* 입력 필드 크기 조정 */
    .login-modal .form-control {
        padding: 0.4rem 0.6rem;
        font-size: 0.8rem;
        border-radius: 6px;
        margin-bottom: 0.5rem;
    }
    
    /* 라벨 크기 조정 */
    .login-modal label.text-base {
        font-size: 0.75rem;
        margin-bottom: 0.25rem;
    }
    
    /* 체크박스 영역 조정 */
    .login-modal .checkbox label {
        font-size: 0.75rem;
        padding-left: 20px;
    }
    
    .login-modal .checkbox label:before {
        width: 14px;
        height: 14px;
    }
    
    /* 체크마크 크기 조정 */
    .login-modal .checkbox label:after {
        left: 5px;
        width: 4px;
        height: 8px;
    }
    
    /* 버튼 크기 조정 */
    .login-modal .btn {
        padding: 0.4rem 0.8rem;
        font-size: 0.75rem;
        border-radius: 6px;
        margin-bottom: 0.5rem;
    }
    
    /* 구분선 여백 조정 */
    .login-modal hr {
        margin: 0.75rem 0;
    }
    
    /* 모달 닫기 버튼 위치 조정 */
    .login-modal .modal-close {
        right: 12px;
        top: 12px;
        padding: 4px;
    }

    /* 폼 그룹 간격 조정 */
    .login-modal .form-group {
        margin-bottom: 0.75rem;
    }
}



.icon-instagram-signin {
    background: url(/assets/icons/platformicon/instagram.png) no-repeat center/contain;
    display: inline-block;
    width: 100px;
    height: 100px;
}
.icon-instagram-f-platfrom {
    background: url(/assets/icons/platformicon/instagram.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-instagram-i-platform {
    background: url(/assets/icons/platformicon/instagram.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-instagram-acc-platform {
    background: url(/assets/icons/platformicon/instagram.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-youtube-platform {
    background: url(/assets/icons/platformicon/youtube.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-facebook-platform {
    background: url(/assets/icons/platformicon/facebook.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-tiktok-platform {
    background: url(/assets/icons/platformicon/tiktok.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-telegram-platform {
    background: url(/assets/icons/platformicon/telegram.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-kakaotalk-platform {
    background: url(/assets/icons/platformicon/kakao-talk.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-thread-platform {
    background: url(/assets/icons/platformicon/thread.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
.icon-twitter-platform {
    background: url(/assets/icons/platformicon/x.png) no-repeat center/contain;
    display: inline-block;
    width: 50px;
    height: 50px;
}
/* 모바일 아이콘 크기 */
@media (max-width: 768px) {
    .icon-instagram-signin,
    .icon-instagram-f-platfrom,
    .icon-instagram-i-platform,
    .icon-instagram-acc-platform,
    .icon-youtube-platform,
    .icon-facebook-platform,
    .icon-tiktok-platform,
    .icon-telegram-platform,
    .icon-kakaotalk-platform,
    .icon-soundcloud-platform,
    .icon-twitter-platform {
        width: 64px;
        height: 64px;
    }
}
/* 각 아이콘별 background-image 설정 */
.icon-instagram-k {
    background-image: url('/assets/icons/instagram.svg');
}

.icon-instagram-f {
    background-image: url('/assets/icons/instagram.svg');
}

.icon-instagram-i {
    background-image: url('/assets/icons/instagram.svg');
}

.icon-instagram-acc {
    background-image: url('/assets/icons/instagram.svg');
}

.icon-youtube {
    background-image: url('/assets/icons/youtube.svg');
}

.icon-facebook {
    background-image: url('/assets/icons/facebook.svg');
}

.icon-tiktok {
    background-image: url('/assets/icons/tiktok.svg');
}

.icon-telegram {
    background-image: url('/assets/icons/telegram.svg');
}

.icon-kakaotalk {
    background-image: url('/assets/icons/kakaotalk.svg');
}

.icon-soundcloud {
    background-image: url('/assets/icons/thread.svg');
}

.icon-twitter {
    background-image: url('/assets/icons/twitter.svg');
}

.icon-nportal {
    background-image: url('/assets/icons/naver.svg');
}

.icon-appmarketing {
    background-image: url('/assets/icons/appmarketing.svg');
}

.icon-news {
    background-image: url('/assets/icons/news.svg');
}

.icon-reviewer {
    background-image: url('/assets/icons/reviewer.svg');
}

.icon-place {
    background-image: url('/assets/icons/place.svg');
}
.icon-n_blog {
    background-image: url('/assets/icons/n_blog_logo.png');
}

.icon-kakaotalk-button {
    width: 19px;
    height: 16px;
    background-image: url('/assets/icons/kakaotalk-button.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.icon-phone-button {
    width: 16px;
    height: 16px;
    background-image: url('/assets/icons/phone-button.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}


.inner-wrap {
    background-color: #ffffff;
    border: 1px solid #edf2f7;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .inner-wrap {
        padding: 12px;
    }
}



  /* PC 슬라이드 컨테이너 */
  .pc-slider-container {
    width: 100%;
    max-width: 1000px;
    height: auto;
    margin-bottom: -20px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}
/* 모바일 슬라이드 컨테이너 크기 */
.mobile-slider-container {
    width: 100%; /* 모바일에서 슬라이드의 너비를 100%로 설정 */
    height: auto;
    overflow: hidden; /* 컨테이너 밖으로 튀어나오지 않도록 설정 */
    position: relative; /* 네비게이션 버튼을 배치하기 위해 relative 설정 */
}
/* Swiper 슬라이드 */
.swiper-wrapper {
    display: flex;
    transition: transform 0.3s ease-in-out;
}

.swiper-slide {
    flex-shrink: 0; /* 슬라이드 크기가 줄어들지 않도록 설정 */
    width: 100%; /* 슬라이드가 컨테이너의 100%를 차지 */
    height: auto; /* 높이는 자동으로 설정 */
}



/* 왼쪽 화살표 */
.swiper-button-prev {
    left: 10px; /* 왼쪽에서 10px 위치 */
}

/* 오른쪽 화살표 */
.swiper-button-next {
    right: 10px; /* 오른쪽에서 10px 위치 */
}

/* 이미지 스타일 */
.swiper-slide img {
    height: auto; /* 높이는 자동으로 설정 */
    display: block;
}

/* 이미지에 마우스를 올렸을 때 클릭 가능한 커서로 변경 */
.swiper-slide img {
    cursor: pointer; /* 클릭 가능한 손가락 모양 커서 */
}


.tabs-container {
    display: table;
    table-layout: fixed;
    width: 100%;
    justify-content: center;
    margin-bottom: -16px;
  }
  
  .tab-button {
    display: table-cell;
    border: 1px solid #ffffff;
    background-color: #f6f7ff;
    cursor: pointer;
    text-align: center;
    padding: 10px;
    color: black;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-size: 13px;
  }
  
  .tab-button.active {
    background-color: #005ff0;
    color: white;
    border: 0.5px solid #ffffff;
  }

  .category-buttons-container {
    background-color: #f6f7ff;
    white-space: normal;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 5px;
    border-radius: 5px;
    margin: 0 auto;
    width: 100%;
  }



  .order-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 19px;
    font-weight: bold;
    word-break: break-all;
    width: 100%;
    position: relative;
    color: #000;
    padding-bottom: 3px;
    border-bottom: 1px solid #ededed;
}


.order-title > button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    height: 40px;
    font-size: 13px;
}

@media (max-width: 768px) {
    .order-title > button {
        height: 30px;
        font-size: 10px;
    }
}

  .order-title h2,
  .order-title h3 {
      font-size: 21px;
      font-weight: 600;
      padding: 8px 0;
      color: #333;
  }
  
  /* 모바일 반응형에 제목 스타일 추가 */
  @media (max-width: 768px) {
      .order-title h2,
      .order-title h3 {
          font-size: 15px;
          padding: 8px 0;
      }
      
      .order-title h2::after,
      .order-title h3::after {
          height: 1px;
      }
  }


.swiper-slide {
    width: 100% !important; /* 인라인 스타일 오버라이드 */
    flex-shrink: 0;
}


/* 지원 섹션 컨테이너 */
.support-section {
    background-color: #fff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: rgb(0 0 0 / 4%) 0 0 12px 0;
    margin-bottom: 1rem;
}

.support-container {
    height: 100%;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.support-content {
    width: 100%;
    font-weight: 600;
    color: #6c757d;
}

/* 지원 섹션 제목 스타일 */
.support-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 19px;
    font-weight: bold;
    word-break: break-all;
    width: 100%;
    position: relative;
    color: #000;
    padding-bottom: 3px;
    border-bottom: 1px solid #ededed;
}

/* 지원 섹션 제목 h2, h3 스타일 */
.support-title h2,
.support-title h3 {
    font-size: 21px;
    padding: 8px 0;
    margin: 0; /* 기본 마진 제거 */
}



/* 모바일 대응을 위한 반응형 디자인 */
@media (max-width: 768px) {
    .support-title h2,
    .support-title h3 {
        font-size: 14px; /* 모바일에서는 글자 크기 축소 */
        padding: 6px 0; /* 모바일에서는 패딩 축소 */
    }
}

.support-buttons-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 16px; /* 간격 약간 증가 */
    margin-top: 16px;
    justify-content: space-between; /* 균등 분배로 변경 */
    align-items: center;
    width: 100%;
    padding: 0 16px;
}

/* 버튼 공통 스타일 */
.support-button {
    flex: 1 1 0; /* grow shrink basis - 유동적 크기 조절 */
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    text-decoration: none;
}


/* 카카오톡 버튼 */
.support-button.kakao {
    background-color: #F7DA00;
    color: #371D1E;
}

/* 전화 버튼 */
.support-button.phone {
    background-color: #4E75FF;
    color: white;
}

/* 문서 버튼 (제안서, 포트폴리오) */
.support-button.document {
    background-color: #fff;
    border: 1px solid #E1E2F6;
    color: #000;
}

/* 버튼 호버 효과 */
.support-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* SVG 아이콘 스타일 */
.support-button svg {
    width: 18px;
    height: 18px;
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .support-section {
        padding: 16px;
    }

    .support-button {
        padding: 8px 16px;
        font-size: 12px;
        min-width: 150px; /* 모바일에서는 최소 너비 줄임 */
        flex: 1 1 calc(50% - 8px); /* 모바일에서 2열로 배치 */
    }
}


.order-content-primary {
    width: 55%;
    display: flex;
    flex-direction: column;
}

.order-content-secondary {
    flex: 1;
}

@media (max-width: 768px) {
    .order-content-primary {
        width: 100%;
    }
}


.guide-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

.guide-highlight {
    position: relative;
    z-index: 1001;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
    border: 2px solid #ffff05;
    border-radius: 4px;
}

.guide-tooltip {
    position: absolute;
    z-index: 1002;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    padding: 20px;
    max-width: 320px;
    animation: fadeIn 0.3s ease-in-out;
}

/* 말풍선 화살표 스타일 */
.guide-tooltip-arrow {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid white;
}

.guide-tooltip-content {
    position: relative;
}

.guide-tooltip h3 {
    color: #185bdc;
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 600;
}

.guide-tooltip p {
    margin: 0 0 20px 0;
    color: #666;
    line-height: 1.6;
}
/* 모바일 반응형 스타일 */
@media (max-width: 768px) {
    .guide-tooltip {
        max-width: calc(100% - 32px); /* 좌우 여백 16px씩 */
        margin: 0 16px;
    }

    .guide-tooltip h3 {
        font-size: 16px;
        margin: 0 0 8px 0;
    }

    .guide-tooltip p {
        font-size: 14px;
        margin: 0 0 16px 0;
        line-height: 1.5;
    }
}

.guide-controls {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.guide-controls button {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
}

.guide-next {
    background: #185bdc;
    color: white;
}

.guide-next:hover {
    background: #0f49b3;
}

.guide-skip {
    background: #f5f5f5;
    color: #666;
}

.guide-skip:hover {
    background: #e5e5e5;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 가이드 시작 버튼 스타일 */
.guide-start-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #ffffff;
    color: #005ff0;
    border: 1.5px solid #005ff0;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 95, 240, 0.1);
}

.guide-start-btn:hover {
    background: #f6f7ff;
    color: #004ed0;
    border-color: #004ed0;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 95, 240, 0.15);
}

.guide-start-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 95, 240, 0.1);
}

/* SVG 아이콘 색상 변경 */
.guide-start-btn svg {
    stroke: #005ff0;
    transition: all 0.3s ease;
}

.guide-start-btn:hover svg {
    stroke: #004ed0;
}

/* 버튼 내부 아이콘 애니메이션 */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.guide-start-btn svg {
    animation: pulse 2s infinite;
}
/* 모달 기본 스타일 */
.notice-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
}

/* 모달 컨텐츠 */
.notice-modal-content {
    background: white;
    border-radius: 16px;
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    animation: slideUp 0.3s ease;
}

/* 모달 헤더 */
.notice-modal-header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eef2f6;
    position: relative;
}

/* 날짜 스타일 */
.notice-time {
    color: #64748b;
    font-size: 0.9rem;
    margin-bottom: 16px;
    display: block;
}

/* 제목 스타일 */
.notice-modal-body h3 {
    color: #1e293b;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.4;
}

/* 본문 스타일 */
.notice-modal-body {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .notice-modal-body {
        font-size: 0.7rem;
        line-height: 1.6;
    }
    
    .notice-modal-body h3 {
        font-size: 0.9rem;
    }
    
    .notice-modal-body .notice-time {
        font-size: 0.7rem;
    }
}

.notice-modal-body p {
    margin-bottom: 16px;
}

/* 리스트 스타일 */
.notice-modal-body ul {
    background: linear-gradient(145deg, #f8fafc, #f1f5f9);
    padding: 24px 28px;
    border-radius: 12px;
    margin: 20px 0;
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.notice-modal-body li {
    margin-bottom: 16px;
    position: relative;
    color: #334155;
    padding-left: 28px;
    list-style: none;
    display: flex;
    align-items: flex-start;
}

.notice-modal-body li:last-child {
    margin-bottom: 0;
}

/* 리스트 아이템 아이콘 */
.notice-modal-body li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 6px;
    height: 6px;
    background: #3b82f6;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

/* 리스트 아이템 호버 효과 */
.notice-modal-body li:hover {
    color: #1e293b;
    transform: translateX(4px);
    transition: all 0.2s ease;
}

.notice-modal-body li:hover::before {
    background: #2563eb;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}

/* 리스트 구분선 */
.notice-modal-body li:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(226, 232, 240, 0.5), transparent);
}

/* 리스트 컨테이너 호버 효과 */
.notice-modal-body ul:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

/* 닫기 버튼 */
.modal-close {
    position: absolute;
    right: -12px;
    top: -12px;
    background: white;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.modal-close:hover {
    background: #f1f5f9;
    transform: rotate(90deg);
}

/* 스크롤바 스타일 */
.notice-modal-content::-webkit-scrollbar {
    width: 8px;
}

.notice-modal-content::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}

.notice-modal-content::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

/* 애니메이션 */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .notice-modal-content {
        padding: 24px;
        width: 92%;
    }
    
    .notice-modal-body h3 {
        font-size: 1.25rem;
    }
    
    .notice-modal-body ul {
        padding: 16px 16px 16px 32px;
    }
}



.snssupporter-category-container {
    background: #f6f7ff;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.snssupporter-category-header {
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 8px;
    padding: 0 4px;
}

.category-count {
    font-size: 0.813rem;
    color: #8B95A1;
    font-weight: 500;
}

.snssupporter-category-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.snssupporter-category-btn {
    position: relative;
    width: 100%;
    padding: 12px;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    overflow: hidden;
    transition: all 0.2s ease;
}

.btn-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.btn-text {
    flex: 1;
    font-size: 0.813rem;
    color: #333;
    transition: all 0.2s ease;
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.btn-icon {
    opacity: 0;
    transform: translateX(-6px);
    transition: all 0.2s ease;
}

.btn-icon svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-width: 2;
}

/* 호버 효과 */
.snssupporter-category-btn:hover {
    border-color: #E5E7EB;
    background: #F8FAFC;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.snssupporter-category-btn:hover .btn-text {
    transform: translateX(2px);
}

.snssupporter-category-btn:hover .btn-icon {
    opacity: 0.5;
    transform: translateX(0);
}

/* 활성화 상태 */
.snssupporter-category-btn.active {
    background: #e9ecff;
    border: 2px solid #005ff0;
    box-shadow: 0 2px 8px rgba(66, 99, 235, 0.08);
}

.snssupporter-category-btn.active .btn-text {
    color: #333;
    font-weight: 600;
}

.snssupporter-category-btn.active .btn-icon {
    opacity: 1;
    transform: translateX(0);
    color: #4263EB;
}

/* 서브 아이템 스타일 */
.sub-item {
    position: relative;
    padding-left: 12px;
    background: #FAFBFC;
    width: 100%;
}

.sub-item::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    background: #CBD5E1;
    border-radius: 50%;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .snssupporter-category-container {
        padding: 12px;
        border-radius: 12px;
    }

    .snssupporter-category-grid {
        gap: 6px;
    }
    
    .snssupporter-category-btn {
        padding: 10px;
    }
    
    .btn-text {
        font-size: 0.6rem;
        color: #333;  /* 모바일에서도 동일한 색상 유지 */
    }
    
    .snssupporter-category-btn.active .btn-text {
        color: #333;  /* 활성화 상태에서만 파란색 */
    }
}

/* 매우 작은 화면 대응 */
@media (max-width: 360px) {
    .snssupporter-category-container {
        padding: 10px;
    }
    
    .btn-text {
        font-size: 0.6rem;
    }
}




/* 검색창 placeholder 스타일 */
.select2-selection.select2-selection--single.form-control::placeholder {
    color: #666;
    transition: font-size 0.3s ease;
}

/* PC 환경 (기본) */
@media screen and (min-width: 1024px) {
    .select2-selection.select2-selection--single.form-control {
        font-size: 14px;
    }
    .select2-selection.select2-selection--single.form-control::placeholder {
        font-size: 14px;
    }
}

/* 태블릿 환경 */
@media screen and (max-width: 1023px) and (min-width: 768px) {
    .select2-selection.select2-selection--single.form-control {
        font-size: 13px;
    }
    .select2-selection.select2-selection--single.form-control::placeholder {
        font-size: 13px;
    }
}

/* 모바일 환경 */
@media screen and (max-width: 767px) {
    .select2-selection.select2-selection--single.form-control {
        font-size: 11px;
    }
    .select2-selection.select2-selection--single.form-control::placeholder {
        font-size: 11px;
    }
    
    /* 매우 작은 모바일 화면 */
    @media screen and (max-width: 320px) {
        .select2-selection.select2-selection--single.form-control {
            font-size: 10px;
        }
        .select2-selection.select2-selection--single.form-control::placeholder {
            font-size: 10px;
        }
    }
}

/* 추가 스타일 */
.select2-selection.select2-selection--single.form-control {
    padding: 8px 12px;
    line-height: 1.5;
    color: #333;
    transition: all 0.3s ease;
}

/* placeholder 텍스트가 길 때 말줄임표 처리 */
.select2-selection.select2-selection--single.form-control::placeholder {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.message-bubble {
    font-size: 10px;
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
    max-width: 600px;
    margin-bottom: 10px;
    padding: 12px 20px;
    border-radius: 15px;
  background: #f6f7ff;
    color: #005ff0;
    border: 1.5px solid #005ff0;
    position: relative;
      animation: floating 1.5s ease-in-out infinite;
          }
          @keyframes floating {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-5px);
    }
    100% {
        transform: translateY(0px);
    }
}

          @media screen and (max-width: 400px) {
    .message-bubble {
        font-size: 9px;

    }
}

/* 말풍선 꼬리 - 왼쪽 끝으로 이동 */
.message-bubble:after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 30px;  /* 왼쪽에서 30px 떨어진 위치 */
    border-width: 10px 10px 0;
    border-style: solid;
    border-color: #005ff0 transparent transparent;
}

.signup-link {
    color: #005ff0;  /* 기존 메시지 버블의 파란색과 동일 */
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}

                .sub-heading {
    font-size: 9px;
    color: #999;  /* 연한 회색 */
    margin-top: 5px;
}

@media screen and (max-width: 400px) {
    .sub-heading {
        font-size: 7px;
    }
}

