/* Contact Page Styles */

@media (min-width: 768px) {
  /* Header - Contact page specific (white background) */
  .contact-page .header {
    background-color: #ffffff;
    border-bottom: 1px solid #f1f3f6;
  }

  .contact-page .header__language-text {
    color: #000000;
  }

  .contact-page .header__language-arrow {
    filter: brightness(0);
  }

  .contact-page .header__menu-icon {
    filter: brightness(0);
  }

  /* Footer - Contact page specific (dark background) */
  .contact-page .footer {
    background-color: #2a2f36;
  }

  .contact-page .footer__text {
    color: #f7f8fa;
  }

  .contact-page .footer__line {
    background-color: rgba(247, 248, 250, 0.1);
  }
  /* Hero Section */
  .contact-hero {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 clamp(144px, 18.75vw, 360px); /* 360px @1920px */
    padding-top: clamp(80px, 10.42vw, 200px); /* 200px @1920px */
    padding-bottom: clamp(48px, 6.25vw, 120px); /* 120px @1920px */
  }

  .contact-hero__container {
    width: 100%;
    max-width: 1200px;
    min-height: clamp(160px, 20.83vw, 400px); /* 400px @1920px */
    display: flex;
    gap: clamp(24px, 3.13vw, 60px); /* 60px @1920px */
    align-items: flex-start; /* 상단 정렬 */
  }

  .contact-hero__text {
    flex: 1;
    max-width: clamp(208px, 27.08vw, 520px); /* 520px @1920px */
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.04vw, 20px); /* 20px @1920px */
  }

  .contact-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(19.2px, 2.5vw, 48px); /* 48px @1920px */
    line-height: clamp(26.88px, 3.5vw, 67.2px); /* 67.2px @1920px */
    color: #1a1d21;
    white-space: pre-line;
  }

  .contact-hero__description {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(12px, calc(8px + 0.52vw), 18px); /* 12px @768px ~ 18px @1920px */
    line-height: clamp(16.8px, calc(11.2px + 0.73vw), 25.2px); /* 16.8px @768px ~ 25.2px @1920px */
    color: #1a1d21;
    white-space: pre-line;
  }

  .contact-hero__image-wrapper {
    width: clamp(240px, 31.25vw, 600px); /* 600px @1920px */
    height: clamp(160px, 20.83vw, 400px); /* 400px @1920px */
    border-radius: clamp(12.8px, 1.67vw, 32px); /* 32px @1920px */
    position: relative;
    overflow: hidden;
    background-color: #e2e5e9;
    flex-shrink: 0;
  }

  .contact-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .contact-hero__location-icon {
    position: absolute;
    bottom: clamp(12px, 1.56vw, 30px); /* 30px @1920px */
    right: clamp(12px, 1.56vw, 30px); /* 30px @1920px */
    width: clamp(25.6px, 3.33vw, 64px); /* 64px @1920px */
    height: clamp(25.6px, 3.33vw, 64px); /* 64px @1920px */
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Form Section */
  .contact-form {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 clamp(144px, 18.75vw, 360px); /* 360px @1920px */
    padding-bottom: clamp(48px, 6.25vw, 120px); /* 120px @1920px */
  }

  .contact-form__container {
    width: 100%;
    max-width: 1200px;
  }

  .contact-form__header {
    width: 100%;
    max-width: 1200px;
    margin-bottom: clamp(22.4px, 2.92vw, 56px); /* 56px @1920px */
  }

  .contact-form__title {
    font-family: 'Pretendard', sans-serif;
    font-weight: 700;
    font-size: clamp(14px, calc(4.67px + 1.22vw), 28px); /* 14px @768px ~ 28px @1920px */
    letter-spacing: clamp(-0.56px, -0.029vw, -0.22px); /* -0.56px @1920px ~ -0.22px @768px */
    line-height: clamp(19.6px, calc(6.53px + 1.7vw), 39.2px); /* 19.6px @768px ~ 39.2px @1920px */
    color: #1a1d21;
    margin-bottom: clamp(3.2px, 0.42vw, 8px); /* 8px @1920px */
  }

  .contact-form__description {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(7.67px + 0.43vw), 16px); /* 11px @768px ~ 16px @1920px */
    letter-spacing: clamp(-0.32px, -0.021vw, -0.13px); /* -0.32px @1920px ~ -0.13px @768px */
    line-height: clamp(15.4px, calc(10.73px + 0.61vw), 22.4px); /* 15.4px @768px ~ 22.4px @1920px */
    color: #6b7280;
    white-space: pre-line;
  }

  .contact-form__form {
    width: 100%;
    max-width: 1200px;
    display: flex;
    gap: clamp(24px, 3.13vw, 60px); /* 60px @1920px */
  }

  .contact-form__column {
    flex: 1;
    max-width: clamp(228px, 29.69vw, 570px); /* 570px @1920px */
    display: flex;
    flex-direction: column;
    gap: clamp(12.4px, 1.61vw, 31px); /* 31px @1920px */
  }

  .contact-form__field {
    display: flex;
    flex-direction: column;
    gap: clamp(4px, 0.52vw, 10px); /* 10px @1920px */
  }

  .contact-form__label {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(8.33px + 0.35vw), 15px); /* 11px @768px ~ 15px @1920px */
    letter-spacing: clamp(-0.3px, -0.016vw, -0.12px); /* -0.3px @1920px ~ -0.12px @768px */
    line-height: clamp(15.4px, calc(11.67px + 0.49vw), 21px); /* 15.4px @768px ~ 21px @1920px */
    color: #000000;
  }

  .contact-form__label--optional {
    font-weight: 500;
    color: #1a1d21;
  }

  .contact-form__asterisk {
    color: #D64545;
  }

  .contact-form__input {
    width: 100%;
    height: clamp(22.4px, 2.92vw, 56px); /* 56px @1920px */
    padding: 0 clamp(9.6px, 1.25vw, 24px); /* 24px @1920px */
    border: 1px solid #e2e5e9;
    border-radius: clamp(4.8px, 0.63vw, 12px); /* 12px @1920px */
    background-color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(8.33px + 0.35vw), 15px); /* 11px @768px ~ 15px @1920px */
    letter-spacing: clamp(-0.3px, -0.016vw, -0.12px); /* -0.3px @1920px ~ -0.12px @768px */
    line-height: clamp(15.4px, calc(11.67px + 0.49vw), 21px); /* 15.4px @768px ~ 21px @1920px */
    color: #1a1d21;
    outline: none;
    transition: border-color 0.2s;
  }

  .contact-form__input:focus,
  .contact-form__input:focus-visible {
    border-color: #0159fd;
    outline: none;
  }

  .contact-form__input::placeholder {
    color: #9aa1a9;
  }

  .contact-form__textarea {
    width: 100%;
    height: clamp(153.6px, 20vw, 384px); /* 384px @1920px */
    padding: clamp(8px, 1.04vw, 20px) clamp(9.6px, 1.25vw, 24px); /* 20px 24px @1920px */
    border: 1px solid #e2e5e9;
    border-radius: clamp(4.8px, 0.63vw, 12px); /* 12px @1920px */
    background-color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(8.33px + 0.35vw), 15px); /* 11px @768px ~ 15px @1920px */
    letter-spacing: clamp(-0.3px, -0.016vw, -0.12px); /* -0.3px @1920px ~ -0.12px @768px */
    line-height: clamp(15.4px, calc(11.67px + 0.49vw), 21px); /* 15.4px @768px ~ 21px @1920px */
    color: #1a1d21;
    resize: none;
    outline: none;
    transition: border-color 0.2s;
  }

  .contact-form__textarea:focus,
  .contact-form__textarea:focus-visible {
    border-color: #0159fd;
    outline: none;
  }

  .contact-form__textarea::placeholder {
    color: #9aa1a9;
  }

  /* 문의 유형 커스텀 드롭다운 - Figma: 570×60 트리거, #0159fd 테두리, 옵션 52px, 호버 #f7f8fa */
  .contact-form__dropdown {
    position: relative;
    width: 100%;
    max-width: clamp(228px, 29.69vw, 570px); /* 570px @1920px */
  }

  .contact-form__dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: clamp(24px, 3.13vw, 60px); /* 60px @1920px */
    padding: 0 clamp(9.6px, 1.25vw, 24px); /* 24px @1920px */
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(8.33px + 0.35vw), 15px); /* 11px @768px ~ 15px @1920px */
    letter-spacing: clamp(-0.3px, -0.016vw, -0.12px); /* -0.3px @1920px ~ -0.12px @768px */
    line-height: clamp(15.4px, calc(11.67px + 0.49vw), 21px); /* 15.4px @768px ~ 21px @1920px */
    color: #1a1d21;
    text-align: left;
    background-color: #ffffff;
    border: 1px solid #e2e5e9;
    border-radius: clamp(4.8px, 0.63vw, 12px); /* 12px @1920px */
    cursor: pointer;
    transition: border-color 0.2s;
  }

  .contact-form__dropdown.is-open .contact-form__dropdown-trigger {
    border-color: #0159fd;
  }

  .contact-form__dropdown-trigger-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .contact-form__dropdown-trigger-text.is-placeholder {
    color: #9aa1a9;
  }

  .contact-form__dropdown-trigger-icon {
    flex-shrink: 0;
    width: clamp(8px, 1.04vw, 20px); /* 20px @1920px */
    height: clamp(8px, 1.04vw, 20px); /* 20px @1920px */
    margin-left: clamp(3.2px, 0.42vw, 8px); /* 8px @1920px */
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%231a1d21' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.2s;
  }

  .contact-form__dropdown.is-open .contact-form__dropdown-trigger-icon {
    transform: rotate(180deg);
  }

  .contact-form__dropdown-panel {
    position: absolute;
    top: calc(100% + clamp(1.6px, 0.21vw, 4px)); /* 4px @1920px */
    left: 0;
    right: 0;
    z-index: 10;
    display: none;
    flex-direction: column;
    max-height: clamp(110.4px, 14.38vw, 276px); /* 276px @1920px */
    overflow-y: auto;
    background-color: #ffffff;
    border: 1px solid #0159fd;
    border-radius: clamp(4.8px, 0.63vw, 12px); /* 12px @1920px */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }

  .contact-form__dropdown.is-open .contact-form__dropdown-panel {
    display: flex;
  }

  .contact-form__dropdown-option {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: clamp(20.8px, 2.71vw, 52px); /* 52px @1920px */
    padding: 0 clamp(9.6px, 1.25vw, 24px); /* 24px @1920px */
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(8.33px + 0.35vw), 15px); /* 11px @768px ~ 15px @1920px */
    letter-spacing: clamp(-0.3px, -0.016vw, -0.12px); /* -0.3px @1920px ~ -0.12px @768px */
    line-height: clamp(15.4px, calc(11.67px + 0.49vw), 21px); /* 15.4px @768px ~ 21px @1920px */
    color: #1a1d21;
    text-align: left;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.15s;
  }

  .contact-form__dropdown-option:hover,
  .contact-form__dropdown-option.is-selected {
    background-color: #f7f8fa;
  }

  .contact-form__checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .contact-form__checkbox-field {
    display: flex;
    align-items: center;
    gap: clamp(3.2px, 0.42vw, 8px); /* 8px @1920px */
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

  .contact-form__checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }

  .contact-form__checkbox-label {
    position: relative;
    padding-left: clamp(16px, calc(5.33px + 1.39vw), 32px); /* 16px @768px ~ 32px @1920px */
    cursor: pointer;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, calc(9px + 0.26vw), 14px); /* 11px @768px ~ 14px @1920px */
    letter-spacing: clamp(-0.28px, -0.015vw, -0.11px); /* -0.28px @1920px ~ -0.11px @768px */
    line-height: clamp(15.4px, calc(12.6px + 0.36vw), 19.6px); /* 15.4px @768px ~ 19.6px @1920px */
    color: #4a5058;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

  .contact-form__checkbox-label::selection {
    background: transparent;
  }

  .contact-form__checkbox-label::-moz-selection {
    background: transparent;
  }

  .contact-form__checkbox-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: clamp(12px, calc(6.67px + 0.69vw), 20px); /* 12px @768px ~ 20px @1920px */
    height: clamp(12px, calc(6.67px + 0.69vw), 20px); /* 12px @768px ~ 20px @1920px */
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0C4.47715 0 0 4.47715 0 10C0 15.5229 4.47715 20 10 20C15.5229 20 20 15.5229 20 10C20 4.47715 15.5229 0 10 0ZM5.84227 9.97181C5.56981 9.69935 5.12807 9.69935 4.85561 9.97181C4.58315 10.2443 4.58315 10.686 4.85561 10.9584L7.64631 13.7491C7.91877 14.0216 8.36056 14.0216 8.63293 13.7491L15.1446 7.23752C15.417 6.96506 15.417 6.52331 15.1446 6.25086C14.8721 5.9784 14.4304 5.9784 14.158 6.25086L8.13963 12.2691L5.84227 9.97181Z' fill='%23C6CBD1'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .contact-form__checkbox:checked + .contact-form__checkbox-label::before {
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0C4.47715 0 0 4.47715 0 10C0 15.5229 4.47715 20 10 20C15.5229 20 20 15.5229 20 10C20 4.47715 15.5229 0 10 0ZM5.84227 9.97181C5.56981 9.69935 5.12807 9.69935 4.85561 9.97181C4.58315 10.2443 4.58315 10.686 4.85561 10.9584L7.64631 13.7491C7.91877 14.0216 8.36056 14.0216 8.63293 13.7491L15.1446 7.23752C15.417 6.96506 15.417 6.52331 15.1446 6.25086C14.8721 5.9784 14.4304 5.9784 14.158 6.25086L8.13963 12.2691L5.84227 9.97181Z' fill='%230159FD'/%3E%3C/svg%3E");
  }

  .contact-form__submit-wrapper {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(17px, 2.19vw, 42px); /* 42px @1920px */
  }

  .contact-form__submit {
    width: clamp(68.8px, 8.96vw, 172px); /* 172px @1920px */
    height: clamp(24px, 3.13vw, 60px); /* 60px @1920px */
    border: none;
    border-radius: 1000px;
    background-color: #4A6EDB;
    font-family: 'Pretendard', sans-serif;
    font-weight: 600;
    font-size: clamp(8px, calc(2.67px + 0.69vw), 16px); /* 8px @768px ~ 16px @1920px */
    line-height: clamp(11.2px, calc(3.73px + 0.97vw), 22.4px); /* 11.2px @768px ~ 22.4px @1920px */
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s;
  }

  .contact-form__submit:hover {
    background-color: #3B5BC0;
  }

  .contact-form__submit:active {
    background-color: #2E4A9E;
  }

  .contact-form__error {
    font-size: clamp(10px, calc(7.33px + 0.35vw), 14px); /* 10px @768px ~ 14px @1920px */
    top: calc(100% + clamp(2px, 0.21vw, 4px));
  }

  .contact-form__checkbox-group > .contact-form__error {
    top: calc(100% + clamp(2px, 0.21vw, 4px));
  }
}

/* ============================================
   Contact Form - Mobile (375px 고정값, Figma 기준)
   반응형은 별도 적용
   ============================================ */
@media (max-width: 767px) {
  .contact-form {
    width: 100%;
    padding: 0;
  }

  .contact-form__container {
    width: 100%;
    max-width: clamp(285.87px, 89.33vw, 428.8px); /* 335px @375px */
    margin: 0 auto;
    padding: 0;
    padding-bottom: clamp(85.33px, 26.67vw, 128px); /* 100px @375px */
  }

  .contact-form__header {
    width: 100%;
    max-width: clamp(285.87px, 89.33vw, 428.8px); /* 335px @375px */
    margin-bottom: clamp(23.89px, 7.47vw, 35.84px); /* 28px @375px */
  }

  .contact-form__title {
    font-family: 'Pretendard', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.4px;
    color: #1a1d21;
    margin: 0;
    margin-bottom: 4px; /* Figma: 제목과 설명 사이 */
  }

  .contact-form__description {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 22.4px;
    letter-spacing: -0.32px;
    color: #6b7280;
    margin: 0;
    white-space: pre-line;
  }

  .contact-form__form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(23.89px, 7.47vw, 35.84px); /* 28px @375px */
  }

  .contact-form__column {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .contact-form__field {
    width: 100%;
    margin-bottom: 28px; /* Figma: 필드 간격 28px */
    display: flex;
    flex-direction: column;
    gap: 10px; /* Figma: 라벨-인풋 간격 10px */
  }

  .contact-form__field:last-child {
    margin-bottom: 0;
  }

  .contact-form__label {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 19.6px;
    letter-spacing: -0.28px;
    color: #000000;
  }

  .contact-form__label--optional {
    font-weight: 500;
    color: #1a1d21;
  }

  .contact-form__input {
    width: 100%;
    height: 56px;
    padding: 0 24px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 21px;
    letter-spacing: -0.3px;
    color: #1a1d21;
    background-color: #ffffff;
    border: 1px solid #e2e5e9;
    border-radius: 12px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s;
  }

  .contact-form__input:focus,
  .contact-form__input:focus-visible {
    border-color: #0159fd;
    outline: none;
  }

  .contact-form__input::placeholder {
    color: #9aa1a9;
  }

  .contact-form__textarea {
    width: 100%;
    height: 384px;
    padding: 20px 24px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 21px;
    letter-spacing: -0.3px;
    color: #1a1d21;
    background-color: #ffffff;
    border: 1px solid #e2e5e9;
    border-radius: 12px;
    resize: none;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s;
  }

  .contact-form__textarea:focus,
  .contact-form__textarea:focus-visible {
    border-color: #0159fd;
    outline: none;
  }

  .contact-form__textarea::placeholder {
    color: #9aa1a9;
  }

  /* 모바일 드롭다운 - Figma 335×60 트리거, 8px 간격, 옵션 52px, 패딩 20px */
  .contact-form__dropdown {
    position: relative;
    width: 100%;
  }

  .contact-form__dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: clamp(51.2px, 16vw, 76.8px); /* 60px @375px */
    padding: 0 clamp(17.07px, 5.33vw, 25.6px); /* 20px @375px */
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(12.8px, 4vw, 19.2px); /* 15px @375px */
    line-height: clamp(17.92px, 5.6vw, 26.88px); /* 21px @375px */
    letter-spacing: -0.3px;
    color: #1a1d21;
    text-align: left;
    background-color: #ffffff;
    border: 1px solid #e2e5e9;
    border-radius: clamp(10.24px, 3.2vw, 15.36px); /* 12px @375px */
    cursor: pointer;
    transition: border-color 0.2s;
  }

  .contact-form__dropdown.is-open .contact-form__dropdown-trigger {
    border-color: #0159fd;
  }

  .contact-form__dropdown-trigger-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .contact-form__dropdown-trigger-text.is-placeholder {
    color: #9aa1a9;
  }

  .contact-form__dropdown-trigger-icon {
    flex-shrink: 0;
    width: clamp(17.07px, 5.33vw, 25.6px); /* 20px @375px */
    height: clamp(17.07px, 5.33vw, 25.6px); /* 20px @375px */
    margin-left: clamp(6.83px, 2.13vw, 10.24px); /* 8px @375px */
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%231a1d21' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.2s;
  }

  .contact-form__dropdown.is-open .contact-form__dropdown-trigger-icon {
    transform: rotate(180deg);
  }

  .contact-form__dropdown-panel {
    position: absolute;
    top: calc(100% + clamp(6.83px, 2.13vw, 10.24px)); /* 8px @375px */
    left: 0;
    right: 0;
    z-index: 10;
    display: none;
    flex-direction: column;
    max-height: clamp(235.47px, 73.6vw, 353.28px); /* 276px @375px */
    overflow-y: auto;
    background-color: #ffffff;
    border: 1px solid #0159fd;
    border-radius: clamp(10.24px, 3.2vw, 15.36px); /* 12px @375px */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }

  .contact-form__dropdown.is-open .contact-form__dropdown-panel {
    display: flex;
  }

  .contact-form__dropdown-option {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: clamp(44.37px, 13.87vw, 66.56px); /* 52px @375px */
    padding: 0 clamp(17.07px, 5.33vw, 25.6px); /* 20px @375px */
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(12.8px, 4vw, 19.2px); /* 15px @375px */
    line-height: clamp(17.92px, 5.6vw, 26.88px); /* 21px @375px */
    letter-spacing: -0.3px;
    color: #1a1d21;
    text-align: left;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.15s;
  }

  .contact-form__dropdown-option:hover,
  .contact-form__dropdown-option.is-selected {
    background-color: #f7f8fa;
  }

  .contact-form__checkbox-group {
    margin-top: 0;
    margin-bottom: clamp(34.13px, 10.67vw, 51.2px); /* 40px @375px */
  }

  .contact-form__checkbox-field {
    display: flex;
    align-items: flex-start;
    gap: 0; /* checkbox는 absolute로 숨김, label padding-left로 아이콘 공간 확보 */
    user-select: none;
    -webkit-user-select: none;
    position: relative;
  }

  .contact-form__checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
  }

  .contact-form__checkbox-label {
    position: relative;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: clamp(11.95px, 3.73vw, 17.92px); /* 14px @375px */
    line-height: clamp(16.73px, 5.23vw, 25.09px); /* 19.6px @375px */
    letter-spacing: -0.28px;
    color: #4a5058;
    padding-left: clamp(27.31px, 8.53vw, 40.96px); /* 32px @375px */
    cursor: pointer;
  }

  .contact-form__checkbox-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: none;
    width: clamp(17.07px, 5.33vw, 25.6px); /* 20px @375px */
    height: clamp(17.07px, 5.33vw, 25.6px); /* 20px @375px */
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0C4.47715 0 0 4.47715 0 10C0 15.5229 4.47715 20 10 20C15.5229 20 20 15.5229 20 10C20 4.47715 15.5229 0 10 0ZM5.84227 9.97181C5.56981 9.69935 5.12807 9.69935 4.85561 9.97181C4.58315 10.2443 4.58315 10.686 4.85561 10.9584L7.64631 13.7491C7.91877 14.0216 8.36056 14.0216 8.63293 13.7491L15.1446 7.23752C15.417 6.96506 15.417 6.52331 15.1446 6.25086C14.8721 5.9784 14.4304 5.9784 14.158 6.25086L8.13963 12.2691L5.84227 9.97181Z' fill='%23C6CBD1'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .contact-form__checkbox:checked + .contact-form__checkbox-label::before {
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0C4.47715 0 0 4.47715 0 10C0 15.5229 4.47715 20 10 20C15.5229 20 20 15.5229 20 10C20 4.47715 15.5229 0 10 0ZM5.84227 9.97181C5.56981 9.69935 5.12807 9.69935 4.85561 9.97181C4.58315 10.2443 4.58315 10.686 4.85561 10.9584L7.64631 13.7491C7.91877 14.0216 8.36056 14.0216 8.63293 13.7491L15.1446 7.23752C15.417 6.96506 15.417 6.52331 15.1446 6.25086C14.8721 5.9784 14.4304 5.9784 14.158 6.25086L8.13963 12.2691L5.84227 9.97181Z' fill='%230159FD'/%3E%3C/svg%3E");
  }

  .contact-form__submit-wrapper {
    display: flex;
    justify-content: flex-end;
    margin-top: 0;
  }

  .contact-form__submit {
    width: clamp(146.77px, 45.87vw, 220.16px); /* 172px @375px */
    height: clamp(51.2px, 16vw, 76.8px); /* 60px @375px */
    font-family: 'Pretendard', sans-serif;
    font-weight: 600;
    font-size: clamp(13.65px, 4.27vw, 20.48px); /* 16px @375px */
    line-height: clamp(19.11px, 5.97vw, 28.67px); /* 22.4px @375px */
    letter-spacing: 0;
  }

  /* 모바일 에러 메시지 */
  .contact-form__error {
    font-size: clamp(9.38px, 2.93vw, 14.08px); /* 11px @375px */
    top: calc(100% + clamp(3.41px, 1.07vw, 5.12px)); /* 4px @375px */
  }

  .contact-form__checkbox-group > .contact-form__error {
    top: calc(100% + clamp(3.41px, 1.07vw, 5.12px)); /* 4px @375px */
  }

}

/* ============================================
   Form Validation Error Styles
   ============================================ */

/* 에러 상태 입력 필드 */
.contact-form__input--error,
.contact-form__textarea--error {
  border-color: #e53935 !important;
  background-color: #fff8f8 !important;
}

.contact-form__input--error:focus,
.contact-form__textarea--error:focus {
  border-color: #e53935 !important;
  box-shadow: 0 0 0 2px rgba(229, 57, 53, 0.2);
}

/* 에러 메시지 */
.contact-form__field {
  position: relative;
}

.contact-form__error {
  position: absolute;
  left: 0;
  font-family: 'Pretendard', sans-serif;
  font-weight: 400;
  line-height: 1.4;
  color: #e53935;
}

/* 체크박스 에러 상태 */
.contact-form__checkbox-group {
  position: relative;
}

.contact-form__checkbox-group > .contact-form__error {
  position: absolute;
  left: 0;
  top: 100%;
}
