/* --- 문의하기 팝업(모달) 전용 스타일 --- */ /* 💡 [핵심] 모든 스타일을 #contact-modal ID 하위로 한정하여 충돌 방지 */ #contact-modal { --primary-color: #ff6b6b; --secondary-color: #4ecdc4; --accent-color: #45b7d1; --tertiary-color: #96ceb4; --quaternary-color: #feca57; --text-primary: #2c3e50; --text-secondary: #7f8c8d; --text-light: #bdc3c7; --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-tertiary: #ecf0f1; --bg-card: #ffffff; --border-color: #e9ecef; --border-light: #f1f3f4; --shadow-sm: 0 2px 4px 0 rgb(0 0 0 / 0.1); --shadow-md: 0 4px 8px 0 rgb(0 0 0 / 0.1); --shadow-lg: 0 8px 16px 0 rgb(0 0 0 / 0.1); --shadow-xl: 0 16px 32px 0 rgb(0 0 0 / 0.1); --radius-sm: 0.5rem; --radius-md: 0.75rem; --radius-lg: 1rem; --radius-xl: 1.5rem; --spacing-xs: 0.5rem; --spacing-sm: 1rem; --spacing-md: 1.5rem; --spacing-lg: 2rem; --spacing-xl: 3rem; --spacing-2xl: 4rem; font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: var(--text-primary); } /* 모달 오버레이 (최상위 요소) */ #contact-modal.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); display: flex; justify-content: center; align-items: center; z-index: 9999; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; } #contact-modal.modal-overlay.active { opacity: 1; visibility: visible; } /* 모달 컨텐츠 박스 */ #contact-modal .modal-content { background-color: #fff; padding: 40px; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); width: 90%; max-width: 960px; max-height: 90vh; overflow-y: auto; position: relative; transform: scale(0.9); transition: transform 0.3s ease; box-sizing: border-box; /* 패딩 포함 크기 계산 */ } #contact-modal.active .modal-content { transform: scale(1); } /* 닫기 버튼 */ #contact-modal .modal-close { position: absolute; top: 15px; right: 20px; background: none; border: none; font-size: 28px; font-weight: bold; color: #888; cursor: pointer; line-height: 1; padding: 0; z-index: 10; } #contact-modal .modal-close:hover { color: #333; } /* 컨테이너 (모달 내부) */ #contact-modal .container { width: 100%; margin: 0 auto; padding: 0; /* 모달 내부 패딩이 있으므로 제거 */ } /* CTA 섹션 스타일 재정의 */ #contact-modal .cta-section { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%) !important; color: #fff !important; padding: 40px 20px !important; /* 패딩 조정 */ text-align: center !important; border-radius: 8px; /* 모달 내부에서 둥글게 */ } #contact-modal .cta-content { text-align: center; max-width: 100%; margin: 0 auto; } #contact-modal .cta-text h2 { font-size: 2rem; /* 크기 조정 */ font-weight: 700; margin-bottom: 1rem; color: #fff; } #contact-modal .cta-text p { font-size: 1rem; opacity: 0.9; margin-bottom: 2rem; line-height: 1.6; color: #fff; } /* 폼 메시지 영역 */ #contact-modal .form-message-area { padding: 15px; margin-bottom: 20px; border-radius: 8px; font-weight: 500; display: none; text-align: center; color: #333; /* 기본 글자색 */ } #contact-modal .form-message-area.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; display: block; } #contact-modal .form-message-area.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; display: block; } /* 문의 폼 스타일 */ #contact-modal .contact-form { background: #fff; /* 폼 배경 흰색 */ padding: 20px; border-radius: 8px; color: #333; /* 폼 내부 글자색 */ text-align: left; /* 입력 필드 정렬 */ } #contact-modal .contact-form input, #contact-modal .contact-form select, #contact-modal .contact-form textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 6px; margin-bottom: 15px; font-size: 15px; font-family: inherit; box-sizing: border-box; background-color: #fff; color: #333; } #contact-modal .contact-form input:focus, #contact-modal .contact-form select:focus, #contact-modal .contact-form textarea:focus { outline: none; border-color: #2c3e50; box-shadow: 0 0 0 3px rgba(44, 62, 80, 0.1); } #contact-modal .contact-form .cta-button { width: 100%; font-size: 16px; cursor: pointer; background-color: #0056b3; color: #ffffff; border: none; padding: 15px; border-radius: 6px; font-weight: 700; transition: background-color 0.3s ease; margin-top: 10px; } #contact-modal .contact-form .cta-button:hover { background-color: #004494; } /* 반응형 스타일 */ @media (max-width: 768px) { #contact-modal .modal-content { padding: 20px; width: 95%; } #contact-modal .cta-text h2 { font-size: 1.5rem; } #contact-modal .contact-form { padding: 15px; } }