
@media (min-width: 960px) {
    .desktop\:py-\[120px\] {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}
@media (min-width: 960px) {
    .desktop\:bg-w-gray-10 {
        --tw-bg-opacity: 1;
        background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
    }
}
@media (min-width: 960px) {
    .desktop\:min-h-screen {
        min-height: 100vh;
    }
}

@media (min-width: 960px) {
    .desktop\:grid-areas-signUp-desktop {
        grid-template-areas: "welcome welcome welcome welcome welcome welcome form form form form form form";
    }
}

@media (min-width: 960px) {
    .desktop\:px-9 {
        padding-left: 2.25rem;
        padding-right: 2.25rem;
    }
}

@media (min-width: 960px) {
    .desktop\:gap-x-6 {
        -moz-column-gap: 1.5rem;
        column-gap: 1.5rem;
    }
}
.py-left {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.gap-left {
    gap: 2.5rem;
}
.left-justify-start {
    justify-content: flex-start;
}
.left-items-start {
    align-items: flex-start;
}
.flex-col {
    flex-direction: column;
}
.flex {
    display: flex;
}

.w-full {
    width: 100%;
}

.grid {
    display: grid;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.max-w-container {
    max-width: 1200px;
}

.auto-cols-1fr {
    grid-auto-columns: 1fr;
}


*, :after, :before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb;
}

*, ::after, ::before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}


/*타이틀*/

.typo-title2 {
    font-size: 32px;
    line-height: 48px;
}
.text-w-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(33 33 33 / var(--tw-text-opacity, 1));
}
.textbox {
    letter-spacing: .48px;
}
.introduce-title {
    white-space: pre;
}
.grid-in-welcome {
    grid-area: welcome;
}

/*이미지*/
.flex-none {
    flex: none;
}

img, video {
    max-width: 100%;
    height: auto;
}

audio, canvas, embed, iframe, img, object, svg, video {
    display: block;
    vertical-align: middle;
}

/*
img[Attributes Style] {
    width: 461px;
    aspect-ratio: auto 461 / 240;
    height: 240px;
    aspect-ratio: auto 461 / 240;
}
*/

/*로그인박스*/

.right-grid-in-form {
    grid-area: form;
}

.box-border {
    box-sizing: border-box;
}
@media (min-width: 960px) {
    .desktop\:shadow-contents-container {
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
}
/*@media (min-width: 960px) {*/
/*    .desktop\:shadow-contents-container {*/
/*        --tw-shadow: 0 2px 8px 0px rgba(0, 0, 0, 0.16);*/
/*        --tw-shadow-colored: 0 2px 8px 0px var(--tw-shadow-color);*/
/*    }*/
/*}*/
@media (min-width: 960px) {
    .desktop\:p-8 {
        padding: 2rem;
    }
}
@media (min-width: 960px) {
    .desktop\:rounded-2xl {
        border-radius: 1rem;
    }
}
@media (min-width: 960px) {
    .desktop\:flex-col {
        flex-direction: column;
    }
}
@media (min-width: 960px) {
    .desktop\:flex {
        display: flex;
    }
}
@media (min-width: 960px) {
    .desktop\:box-border {
        box-sizing: border-box;
    }
}
.right-bg-w-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.h-right-full {
    height: 100%;
}


@media (min-width: 960px) {
    .desktop\:block {
        display: block;
    }
}
.typo-login-title {
    font-size: 24px;
    line-height: 36px;
}
.mb-8-login-title {
    margin-bottom: 2rem;
}



/* 로그인박스 정렬*/


.right-justify-center {
    justify-content: center;
}
.right-items-center {
    align-items: center;
}


.pb-input {
    padding-bottom: 1.5rem;
}
.gap-input {
    gap: 1.5rem;
}

.gap-input-2 {
    gap: .5rem;
}



.select-none {
    -moz-user-select: none;
    user-select: none;
}
.min-w-fit {
    min-width: fit-content;
}

.input-text {
    cursor: text;
}

.px-input-loginBtn {
    padding-left: 1rem;
    padding-right: 1rem;
}
.bg-w-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
/*
.border-w-red-500 {
    --tw-border-opacity: 1;
    border-color: rgb(229 41 41 / var(--tw-border-opacity, 1));
}*/

/*로그인 입력창 */
.border-w-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(224 224 224 / var(--tw-border-opacity, 1));
}
.py-px {
    padding-top: 1px;
    padding-bottom: 1px;
}
.gap-0\.5 {
    gap: .125rem;
}

/*html에서 안 보이는데 빼면 스타일이 바뀜 이건 먼지?*/
.h-\[42px\] {
    height: 42px;
}

.relative {
    position: relative;
}
.typo-body1 {
    font-size: 16px;
    line-height: 26px;
}
.id-pw-textbox {
    transition-duration: .3s;
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.text-w-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(158 158 158 / var(--tw-text-opacity, 1));
}
.translate-y-2 {
    --tw-translate-y: 0.5rem;
}
.translate-y-1\/2, .translate-y-2 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.origin-top-left {
    transform-origin: top left;
}
.absolute {
    position: absolute;
}

.typo-body1 {
    font-size: 16px;
    line-height: 26px;
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.text-w-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(97 97 97 / var(--tw-text-opacity, 1));
}
.pt-\[14px\] {
    padding-top: 14px;
}

/* 비밀번호 입력창 */
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    margin: 0;
    padding: 0;
}
/*.min-w-fit-input {*/
/*    min-width: -moz-fit-content;*/
/*    min-width: fit-content;*/
/*}*/
.border {
    border-width: 1px;
}
.text-rounded-xl {
    border-radius: .75rem;
}

.overflow-hidden {
    overflow: hidden;
}
.gap-input-chk {
    gap: .75rem;
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-weight: inherit;
    margin: 0;
    padding: 0;
}

.cursor-pointer {
    cursor: pointer;
}

svg {
    display: block;
    vertical-align: middle;
}

/*로그인 상태유지,비밀번호찾기 */
.chkBox-gap-loginBtn{
    padding-bottom: 2rem;
}


.justify-between {
    justify-content: space-between;
}

.size-chkBox-fit{
    width: fit-content;
    height: fit-content;
}

.option-m-px {
    margin: 1px;
}


.option-opacity-0 {
    opacity: 0;
}
.option-w-0 {
    width: 0;
}
.option-h-0 {
    height: 0;
}

.option-size-4 {
    width: 1rem;
    height: 1rem;
}


 input {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}


.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.rounded {
    border-radius: .25rem;
}


.text-transparent {
    color: transparent;
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
}
.-translate-y-1\/2 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
}
.top-1\/2 {
    top: 50%;
}
.left-1\/2 {
    left: 50%;
}
.no-underline {
    text-decoration-line: none;
}
a {
    color: inherit;
    text-decoration: inherit;
}

/* 로그인 버튼 */
.btn-login-pb-4 {
    padding-bottom: 1rem;
}
.text-w-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.leading-\[26px\] {
    line-height: 26px;
}
.text-base {
    font-size: 1rem;
}
.bg-primary-500 {
    /* --tw-bg-opacity: 1;
    background-color: rgb(59 163 199 / var(--tw-bg-opacity, 1)); */
    background: linear-gradient(to right, #005792, #001A2C);
}
.btn-login-border-0 {
    border-width: 0;
}

.gap-x-1\.5 {
    -moz-column-gap: .375rem;
    column-gap: .375rem;
}

.bg-w-gray-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 224 224 / var(--tw-bg-opacity, 1));
}
.flex-shrink-0{
    flex-shrink: 0;
}
.w-\[40\%\] {
    width: 40%;
}

.h-orline-px {
    height: 1px;
}
.typo-caption1 {
    font-size: 12px;
    line-height: 18px;
}
.text-w-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(117 117 117 / var(--tw-text-opacity, 1));
}
.w-14 {
    width: 3.5rem;
}
.or{
    margin-left: .75rem;
    margin-right: .75rem;
}

/* 구글,페이스북 */

.gap-UnitedLoginBtn {
    gap: 1rem;
}

.px-\[15px\] {
    padding-left: 15px;
    padding-right: 15px;
}
.h-\[50px\] {
    height: 50px;
}

button{
      text-transform: none;
     -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}



/*회원가입 링크*/
.gap-1 {
    gap: .25rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.items-end {
    align-items: flex-end;
}
.font-medium {
    font-weight: 500;
}

.label-float {
    transform: translateY(-0.4rem) scale(0.75);
    transform-origin: top left;
    /*color: #005792;*/
    transition: transform 0.3s ease, color 0.3s ease;
}

.input-hover-focus {
    border: 1px solid #005792 !important;
    box-shadow: 0 0 0 2px rgba(0, 87, 146, 0.2);
    transition: border 0.3s, box-shadow 0.3s;
    z-index: 1;
}

.input-container-fix {
    height: 56px !important;
}

.input-textbox-padding {
    padding-top: 20px !important;
}

/* input hover 시 테두리와 라벨 색상 */
.input-hover-focus {
    border: 1.5px solid #005792 !important;
    box-shadow: 0 0 0 2px rgba(0, 87, 146, 0.08);
    transition: border 0.3s, box-shadow 0.3s;
    z-index: 1;
}
.label-float-hover {
    color: #005792;
    transition: color 0.3s;
}

/* 버튼 hover 시 테두리/텍스트 색상 */
.button-hover-focus {
    border-color: #005792 !important;
    color: #005792 !important;
    transition: border 0.3s, color 0.3s;
}

/* 체크박스가 체크된 경우 SVG를 보이게 함 */
input[type="checkbox"][name="remember"]:checked + div[role="checkbox-button"] svg {
  visibility: visible;
  color: #1877F2; /* 원하는 색상으로 변경 가능 */
}
/* === Mobile (<= 959px)에서 welcome 영역 보이게 & 레이아웃 정의 === */
@media (max-width: 959px) {
    /* 그리드 영역 이름 정의: welcome -> form 순서로 세로 스택 */
    .grid-areas-signUp-mobile {
        display: grid;
        grid-template-areas:
      "welcome"
      "form";
        row-gap: 24px; /* 모바일에서 간격 조금 */
    }

    /* hidden을 덮어써서 모바일에서도 보이도록 */
    .grid-in-welcome {
        display: block !important; /* hidden override */
        grid-area: welcome;
    }

    /* 폼 영역은 기존대로 form 그리드 영역에 */
    .right-grid-in-form {
        grid-area: form;
    }

    /* 모바일에서 타이틀/이미지 크기 튜닝(선택) */
    .grid-in-welcome .introduce-title {
        font-size: 24px;
        line-height: 36px;
        letter-spacing: .48px; /* 기존 textbox와 톤 맞춤 */
    }
    .grid-in-welcome img {
        width: 100%;
        max-width: 360px;   /* 너무 커지지 않도록 */
        height: auto;
        margin-top: 12px;
    }
}

/* === Tablet (예: 960px 미만을 tablet로 안 쓰는 경우라면 필요 없음)
   필요하면 여기도 원하는 2열 구성으로 정의 가능 === */
@media (min-width: 600px) and (max-width: 959px) {
    .tablet\:grid-areas-signUp-tablet {
        display: grid;
        grid-template-areas:
      "welcome"
      "form";
        row-gap: 28px;
    }
}
/* 전체 타이틀 컨테이너 */
.login-title {
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.3px;
    display: inline-block;
}

/* 브랜드명 강조 */
.login-title .brand {
    color: #005792;      /* 브랜드 컬러 */
    font-weight: 700;
    font-size: 1.6em;    /* 주변 글자보다 크게 */
}

/* 서브 문구 */
.login-title .sub {
    color: #333;
    font-size: 1.2em;
    font-weight: 500;
}

/* 모바일에서 가운데 정렬 + 크기 조금 축소 */
@media (max-width: 959px) {
    .login-title {
        display: block;
        text-align: center;
        font-size: 20px;
        line-height: 32px;
        margin: 0 auto;
    }
    .login-title .brand {
        font-size: 1.4em;
    }
    .login-title .sub {
        font-size: 1em;
    }
}

/* 데스크톱에서 큼직하게 */
@media (min-width: 960px) {
    .login-title {
        font-size: 28px;
        line-height: 42px;
    }
}

/* 기존 클래스를 수정하는 대신 중앙 정렬용 클래스를 추가하는 것이 더 안전합니다. */
.left-items-center {
    align-items: center; /* 수직 중앙 정렬 (flex-direction이 col이므로) */
}

.left-justify-center {
    justify-content: center; /* 수평 중앙 정렬 */
}

/* ... 기존 CSS ... */

/* left-items-start, left-justify-start는 그대로 두거나,
   데스크톱에서만 적용되도록 미디어 쿼리 안에 넣을 수 있습니다. */
.left-items-start {
    align-items: flex-start;
}

.left-justify-start {
    justify-content: flex-start;
}
/* === 480px 이하 모바일 화면에서 이미지 및 텍스트 중앙 정렬 === */
@media (max-width: 480px) {
    /* 이미지를 감싸는 부모(.grid-in-welcome)를 Flexbox 컨테이너로 만들고,
       내부 아이템들을 수직/수평 중앙에 배치합니다. */
    .grid-in-welcome {
        display: flex !important; /* 기존 display: block을 덮어씁니다. */
        flex-direction: column;   /* 아이템들을 세로로 쌓습니다 (텍스트 위, 이미지 아래) */
        justify-content: center;  /* 수직 중앙 정렬 (세로 방향 기준) */
        align-items: center;      /* 수평 중앙 정렬 */
    }

    /* 이미지 자체에 좌우 마진을 자동으로 주어
       Flexbox 컨테이너 내에서 확실하게 중앙을 차지하도록 합니다. */
    .grid-in-welcome img {
        margin-left: auto;
        margin-right: auto;
    }
}


