/* =========================================
   MYPAGE 공통: Gate 카드 (비밀번호 재확인)
   적용 범위: body.is-mypage 내부만
   ========================================= */

/* ✅ 래퍼: 가운데 정렬 + 여백 */
.is-mypage .mypage-gate-wrap{
    display:flex;
    justify-content:center;
    padding: 6px 0 18px;
}

/* ✅ 카드 */
.is-mypage .mypage-gate-card{
    width:100%;
    max-width: 680px;
    background:#fff;
    border:1px solid rgba(16,24,40,.08);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(16,24,40,.08);
    overflow:hidden;
    margin-top: 50px;
    margin-bottom: 50px;
}

/* ✅ 바디 */
.is-mypage .mypage-gate-body{
    padding: 28px;
}

/* ✅ 타이틀/설명 */
.is-mypage .mypage-gate-title{
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.2px;
    margin: 0 0 6px;
    color: #101828;
}
.is-mypage .mypage-gate-desc{
    margin: 0 0 14px;
    color:#667085;
    font-size: 14px;
    line-height: 1.45;
}

/* ✅ 안내 박스 */
.is-mypage .mypage-gate-note{
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(16,24,40,.06);
    color:#344054;
    font-size: 13px;
    line-height: 1.5;
}

/* ✅ 한 줄 입력 + 버튼 */
.is-mypage .mypage-gate-row{
    display:flex;
    gap: 10px;
    align-items:center;
}

.is-mypage .mypage-gate-input{
    flex: 1;
    height: 46px;
    border-radius: 12px;
    border: 1px solid #d0d5dd;
    padding: 0 14px;
}

.is-mypage .mypage-gate-input:focus{
    border-color: #ff7a00;
    box-shadow: 0 0 0 4px rgba(255,122,0,.14);
}

/* ✅ 버튼 */
.is-mypage .mypage-gate-btn{
    height: 46px;
    padding: 0 18px;
    border-radius: 12px;
    font-weight: 800;
    white-space: nowrap;
}

/* primary 버튼 */
.is-mypage .btn-mypage-primary{
    background: linear-gradient(135deg, #ff7a00, #ff3d00);
    border: none;
    color: #fff;
}
.is-mypage .btn-mypage-primary:hover{
    filter: brightness(.98);
    color:#fff;
}

.is-mypage .mypage-gate-card .mypage-gate-input,
.is-mypage .mypage-gate-card input.form-control {
    height: 52px;
    min-height: 52px;
    padding: 0 16px;
    font-size: 16px;          /* ✅ 모바일에서 얇아보이는/줌 이슈 방지 */
    line-height: 52px;        /* ✅ 세로 가운데 정렬 확실 */
    border-radius: 14px;
    border: 1px solid #d0d5dd;
    box-sizing: border-box;
}

.is-mypage .mypage-gate-card .mypage-gate-input:focus,
.is-mypage .mypage-gate-card input.form-control:focus {
    border-color: #ff7a00;
    box-shadow: 0 0 0 4px rgba(255,122,0,.15);
}

/* textarea 같은 멀티라인이 섞일 가능성 대비(선택) */
.is-mypage .mypage-gate-card textarea.form-control {
    line-height: 1.4;
    padding: 12px 16px;
    height: auto;
    min-height: 120px;
}

/* ✅ 모바일: 버튼 아래로 */
@media (max-width: 575.98px){
    .is-mypage .mypage-gate-card{
        margin-top: 0px;
        margin-bottom: 0px;
    }

    .is-mypage .mypage-gate-body{
        padding: 20px;
    }
    .is-mypage .mypage-gate-row{
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .is-mypage .mypage-gate-btn{
        width: 100%;
    }
}

/* ================================
   MYPAGE Renew (Info hub)
   ================================ */

.is-mypage .mypage-hero{
    border: 1px solid #eef0f4;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff, #fbfcff);
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.06);
}

.is-mypage .mypage-hero__inner{
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
    padding: 18px;
    align-items: stretch;
}

.is-mypage .mypage-hero__kicker{
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    color: #667085;
}

.is-mypage .mypage-hero__title{
    margin-top: 6px;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    color: #101828;
}

.is-mypage .mypage-hero__desc{
    margin-top: 8px;
    color: #667085;
    font-size: 13px;
    line-height: 1.55;
}

.is-mypage .mypage-hero__right{
    border-radius: 14px;
    border: 1px solid #eef0f4;
    background: #fff;
    padding: 14px 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: space-between;
}

/* 상태 chip */
.is-mypage .mypage-chip{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 12px;
    border: 1px solid #e4e7ec;
    background: #f9fafb;
    color: #344054;
    width: fit-content;
}
.is-mypage .mypage-chip.is-ok{
    border-color: rgba(16,185,129,.35);
    background: rgba(16,185,129,.10);
    color: #067647;
}
.is-mypage .mypage-chip.is-warn{
    border-color: rgba(245,158,11,.35);
    background: rgba(245,158,11,.10);
    color: #92400e;
}

/* 인증 상태 표 */
.is-mypage .mypage-reauth{
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #eef0f4;
    padding: 10px 12px;
}
.is-mypage .mypage-reauth__row{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 0;
    font-size: 12px;
}
.is-mypage .mypage-reauth__label{ color: #667085; font-weight: 700; }
.is-mypage .mypage-reauth__value{ color: #101828; font-weight: 800; }

/* 우측 버튼 */
.is-mypage .mypage-hero__actions .btn{
    width: 100%;
    height: 44px;
    border-radius: 12px;
    font-weight: 800;
}

/* 카드 그리드 */
.is-mypage .mypage-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.is-mypage .mypage-card{
    border: 1px solid #eef0f4;
    border-radius: 16px;
    background: #fff;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.05);
    display: grid;
    grid-template-columns: 42px 1fr 16px;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.is-mypage .mypage-card:hover{
    transform: translateY(-1px);
    border-color: rgba(255,122,0,.35);
    box-shadow: 0 14px 30px rgba(16, 24, 40, 0.08);
}

.is-mypage .mypage-card__icon{
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: radial-gradient(600px 180px at 30% 30%, rgba(255,140,0,.18), transparent 55%),
    radial-gradient(520px 160px at 70% 30%, rgba(94,92,230,.14), transparent 55%),
    #f8fafc;
    font-size: 18px;
}

.is-mypage .mypage-card__title{
    font-weight: 900;
    color: #101828;
    font-size: 14px;
    margin: 0;
}
.is-mypage .mypage-card__desc{
    margin-top: 4px;
    color: #667085;
    font-size: 12.5px;
    line-height: 1.45;
}
.is-mypage .mypage-card__meta{
    margin-top: 8px;
    font-size: 12px;
    font-weight: 800;
    color: #98a2b3;
}
.is-mypage .mypage-card__arrow{
    color: #98a2b3;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
}

/* 하단 안내 */
.is-mypage .mypage-note{
    border: 1px solid #eef0f4;
    border-radius: 16px;
    background: #fff;
    padding: 14px 16px;
}
.is-mypage .mypage-note__title{
    font-weight: 900;
    color: #101828;
    margin-bottom: 8px;
}
.is-mypage .mypage-note__list{
    margin: 0;
    padding-left: 18px;
    color: #475467;
    font-size: 13px;
    line-height: 1.55;
}

/* 반응형 */
@media (max-width: 991.98px){
    .is-mypage .mypage-hero__inner{
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575.98px){
    .is-mypage .mypage-grid{
        grid-template-columns: 1fr;
    }
    .is-mypage .mypage-hero__inner{
        padding: 14px;
    }
}

/* 카드가 button일 때 기본 버튼 스타일 제거 */
.is-mypage .mypage-card--btn{
    width: 100%;
    text-align: left;
    border: 1px solid #eef0f4;
    background: #fff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}
.is-mypage .mypage-card--btn:focus{
    outline: none;
}
.is-mypage .mypage-card--btn:focus-visible{
    border-color: rgba(255,122,0,.55);
    box-shadow: 0 0 0 4px rgba(255,122,0,.14);
    transform: translateY(-1px);
}

/* =========================
   MYPAGE: info_renew 섹션 카드 UI
   ========================= */
.is-mypage .mypage-section { margin-bottom: 18px; }

.is-mypage .mypage-card{
    border: 1px solid #eef0f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(16,24,40,.06);
    overflow: hidden;
}

.is-mypage .mypage-card__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap: 12px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid #f2f4f7;
}

.is-mypage .mypage-card__title{
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 6px;
}

.is-mypage .mypage-card__desc{
    font-size: 13px;
    color: #667085;
    margin: 0;
}

.is-mypage .mypage-card__body{
    padding: 16px 18px 18px;
}

.is-mypage .mypage-btn{
    height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.is-mypage .mypage-kv{
    display:flex;
    gap: 14px;
    flex-wrap: wrap;
}

.is-mypage .mypage-kv__item{
    flex: 1 1 220px;
    border: 1px solid #f2f4f7;
    border-radius: 14px;
    padding: 12px 14px;
    background: #fcfcfd;
}

.is-mypage .mypage-kv__label{
    font-size: 12px;
    color: #667085;
    margin-bottom: 6px;
}

.is-mypage .mypage-kv__value{
    font-size: 14px;
    font-weight: 800;
    color: #101828;
}

.is-mypage .mypage-badge{
    display:inline-flex;
    align-items:center;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid #e4e7ec;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    color: #344054;
}

.is-mypage .mypage-badge--ok{
    border-color: rgba(255,122,0,.35);
    background: rgba(255,122,0,.10);
    color: #b54708;
}

.is-mypage .mypage-help{
    border: 1px solid #eef0f4;
    border-radius: 14px;
    background: #f8fafc;
    padding: 12px 14px;
    color: #344054;
    font-size: 13px;
}

.is-mypage .mypage-help ul{
    margin: 0;
    padding-left: 18px;
}

.is-mypage .mypage-help li{
    margin: 3px 0;
}

/* 모바일에서도 버튼/정렬 깔끔하게 */
@media (max-width: 575.98px){
    .is-mypage .mypage-card__head{
        flex-direction: column;
        align-items: stretch;
    }
    .is-mypage .mypage-btn{
        width: 100%;
    }
}

