/* ===============================
   Buy Request Page (brp-*)
   =============================== */

/* 레이아웃 */
.brp { max-width: 860px; margin: 50px auto 0; padding: 0; }
.brp__title { margin: 0 0 16px; font-size: 26px; font-weight: 800; }

/* 알림 */
.brp__alert { border: 1px solid var(--line, #e5e7eb); padding: 12px; border-radius: 10px; margin-bottom: 16px; }
.brp__alert--success { background: #e8f9e8; color: #256d25; border-color: #bfe8bf; }
.brp__alert--error   { background: #fde8e8; color: #8b1a1a; border-color: #f5bcbc; }

/* 폼 */
.brp__form { display: block; }
.brp__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.brp__row { display: flex; flex-direction: column; gap: 6px; }
.brp__row--full { grid-column: 1 / -1; }

/* 라벨 */
.brp__label { font-weight: 700; color: #374151; }

/* 컨트롤들 */
.brp__control {
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
  background: #fff;
}
.brp__control:focus {
  border-color: #9bb3e6;
  box-shadow: 0 0 0 3px rgba(155, 179, 230, .2);
}

/* 필수표시 */
.brp__required { color: #ef4444; font-weight: 700; }

/* 액션 버튼 */
.brp__actions { margin-top: 18px; display: flex; gap: 10px; }
.brp__btn {
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
}
.brp__btn--primary { background: #111; color: #fff; border: 0; }
.brp__btn--ghost   { border: 1px solid #e5e7eb; background: #fff; color: #111; }

/* 반응형 */
@media (max-width: 760px) {
  .brp__grid { grid-template-columns: 1fr; }
}

/* RTL */
[dir="rtl"] .brp { direction: rtl; }
.brp__phone-wrap { display:flex; gap:6px; align-items:center; }
.brp__select { flex:0 0 80px; height:40px; border:1px solid var(--line, #e5e7eb); border-radius:10px; padding:0 8px; font-size:14px; background:#fff; }
.brp__phone-input { flex:1 1 auto; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

/* 필수 항목 공통 표시 */
.brp__row.is-required .brp__label .brp__required {
  margin-left: 4px;
  color: #e53935; /* 빨강 포인트 */
  font-weight: 600;
}

/* 접근성 보조: 필수인 컨트롤의 테두리 강조(유효성 미통과 시) */
.brp__control:required:invalid,
.brp__select:required:invalid {
  outline: none;
  box-shadow: none;
  border-color: #e53935;
}

/* 폼 그리드(이미 있다면 생략) */
.brp__grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.brp__row--full { grid-column: 1 / -1; }
.brp__label { display:inline-block; margin-bottom: 6px; }
.brp__control, .brp__select { width:100%; }

/* 전화번호 영역 정렬 */
.brp__phone-wrap { display:flex; gap:8px; align-items:center; }
.brp__phone-wrap .brp__select { max-width: 160px; border-color:#f00 }
/* =============================
   BUY REQUEST – TOP HERO BANNER
============================== */
.brp{margin-top:30px;}
.brp__hero {
    width: 100%;
    height: 300px;
    background: url('/assets/img/request_main.jpg') center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0;
    border-radius: 0;
}

.brp__hero-inner {
    max-width: 900px;
    width: 100%;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.brp__hero-title {
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 10px;
}

.brp__hero-desc {
    font-size: 17px;
    font-weight: 300;
    margin: 0;
}

/* ===== 모바일 최적화 ===== */
@media (max-width: 768px) {
    .brp__hero {
        width: 100vw;
        margin-left: calc(-1 * (100vw - 100%)/2); /* 중앙 정렬 보정 */
        margin-right: calc(-1 * (100vw - 100%)/2);
        height: 120px;
        padding: 10px 15px;
    }

    .brp__hero-title {
        font-size: 15px;
        margin-bottom: 6px;
    }
    .brp__hero-desc {
        font-size: 11px;
    }
}
.main.is-sub{
	padding-top:0 !important;
	padding-bottom:50px !important;
}