@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Play:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');


/* 모달 열릴 때 body 스크롤 차단 */
body.ty-alert--open {
    overflow: hidden;
}



/* 열기 버튼  */
.ty-alert__btn--open {
    /*padding: 10px 18px;*/
    /*background: #2563eb;*/
    /*color: #fff;*/
    /*border-radius: 8px;*/
    /*font-size: 14px;*/
    /*border: none;*/
    /*cursor: pointer;*/
}


/** ty-alert__modal 기본 ********************************/
/*******************************************************/
.ty-alert__modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 10000;
}


/** ty-alert__modal 열렸을 때 ***************************/
/*******************************************************/
.ty-alert__modal.is-active {
    opacity: 1;
    pointer-events: auto;
}


/** ty-alert__modal 배경 ********************************/
/*******************************************************/
.ty-alert__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity 0.25s ease;
}


/** ty-alert__modal 열렸을 때 배경 보이게 *****************/
/*******************************************************/
.ty-alert__modal.is-active .ty-alert__backdrop {
    opacity: 1;
}


/** ty-alert__modal dialog *****************************/
/*******************************************************/
.ty-alert__dialog {
    position: relative;
    z-index: 1;
    max-width: 360px;
    width: calc(100% - 40px);
    padding: 20px 20px 16px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3),0 0 0 1px rgba(148, 163, 184, 0.15);
    transform: translateY(10px) scale(0.97);
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    font-size: 16px;
    letter-spacing: -1px;
}

/* 열릴 때 애니메이션 */
.ty-alert__modal.is-active .ty-alert__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.ty-alert__head {
    display: flex;
    justify-content: flex-end;
}
.ty-alert__head .ty-alert__btn--close {
    border: none;
    background: none;
    cursor: pointer;
    font-size: 1rem;
}
.ty-alert__icon {
	padding-top: 1rem;
	text-align: center;
}
.ty-alert__body {
    margin: 1rem 0;
    font-size: 14px;
    text-align: center;
    color: #4b5563;
}
.ty-alert__title {
    margin: 0 0 8px;
    font-size: 18px;
    text-align: center;
    font-weight: 600;
}
.ty-alert__text {
    margin-top: 1rem;
}

.ty-alert__foot {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
	background-color: var(--bs-modal-footer-bg);
	border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
	border-bottom-right-radius: var(--bs-modal-inner-border-radius);
	border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}

.ty-alert__foot .btn {
	display: inline-block;
	position: relative;
	padding: 0.5rem 1rem;
	font-weight: 400;
	letter-spacing: -1px;
	white-space: nowrap;
	transition: all 0.3s;
	background: none;
	border-radius: 0.5rem;
	border: 1px solid rgba(0,0,0,0);
	overflow: hidden;
	cursor: pointer;
	vertical-align: middle;
	color: rgb(var(--color-white));
}
.ty-alert__dialog.bg-alert-failed .ty-alert__icon,
.ty-alert__dialog.bg-alert-failed .ty-alert__title {
    color: #ef5f5f;
}
.ty-alert__dialog.bg-alert-failed .ty-alert__foot .btn {
	color: #ffffff;
	background: #ef5f5f;
}
.ty-alert__dialog.bg-alert-failed .ty-alert__foot .btn:hover,
.ty-alert__dialog.bg-alert-failed .ty-alert__foot .btn:focus {
	background: #cf3434;
}
.ty-alert__dialog.bg-alert-failed .ty-alert__foot .btn.btn--outline {
	color: #ef5f5f;
	border: 1px solid #ef5f5f;
	background: transparent;
}
.ty-alert__dialog.bg-alert-failed .ty-alert__foot .btn.btn--outline:hover,
.ty-alert__dialog.bg-alert-failed .ty-alert__foot .btn.btn--outline:focus {
	color: #ffffff;
	border: 1px solid #ef5f5f;
	background: #ef5f5f;
}
.ty-alert__dialog.bg-alert-info .ty-alert__icon,
.ty-alert__dialog.bg-alert-info .ty-alert__title {
    color: #1c84ee;
}
.ty-alert__dialog.bg-alert-info .ty-alert__foot .btn {
	color: #ffffff;
	background: #1c84ee;
}
.ty-alert__dialog.bg-alert-info .ty-alert__foot .btn:hover,
.ty-alert__dialog.bg-alert-info .ty-alert__foot .btn:focus{
	color: #ffffff;
	background: #1041e4;
}
.ty-alert__dialog.bg-alert-info .ty-alert__foot .btn.btn--outline {
	color: #1c84ee;
	border: 1px solid #1c84ee;
	background: transparent;
}
.ty-alert__dialog.bg-alert-info .ty-alert__foot .btn.btn--outline:hover,
.ty-alert__dialog.bg-alert-info .ty-alert__foot .btn.btn--outline:focus {
	color: #ffffff;
	border: 1px solid #1c84ee;
	background: #1c84ee;
}
.ty-alert__dialog.bg-alert-success .ty-alert__icon,
.ty-alert__dialog.bg-alert-success .ty-alert__title {
    color: #22c55e;
}
.ty-alert__dialog.bg-alert-success .ty-alert__foot .btn {
	color: #ffffff;
	background: #22c55e;
}
.ty-alert__dialog.bg-alert-success .ty-alert__foot .btn:hover,
.ty-alert__dialog.bg-alert-success .ty-alert__foot .btn:focus {
	color: #ffffff;
	background: #076c34;
}
.ty-alert__dialog.bg-alert-success .ty-alert__foot .btn.btn--outline {
	color: #22c55e;
	border: 1px solid #22c55e;
	background: transparent;
}
.ty-alert__dialog.bg-alert-success .ty-alert__foot .btn.btn--outline:hover,
.ty-alert__dialog.bg-alert-success .ty-alert__foot .btn.btn--outline:focus {
	color: #ffffff;
	border: 1px solid #22c55e;
	background: #22c55e;
}
.ty-alert__dialog.bg-alert-custom .ty-alert__icon,
.ty-alert__dialog.bg-alert-custom .ty-alert__title {
    color: #99114E;
}
.ty-alert__dialog.bg-alert-custom .ty-alert__foot .btn {
	color: #ffffff;
	background: #99114E;
}
.ty-alert__dialog.bg-alert-custom .ty-alert__foot .btn:hover,
.ty-alert__dialog.bg-alert-custom .ty-alert__foot .btn:focus {
	color: #ffffff;
	background: #61072f;
}
.ty-alert__dialog.bg-alert-custom .ty-alert__foot .btn.btn--outline {
	color: #99114E;
	border: 1px solid #99114E;
	background: transparent;
}
.ty-alert__dialog.bg-alert-custom .ty-alert__foot .btn.btn--outline:hover,
.ty-alert__dialog.bg-alert-custom .ty-alert__foot .btn.btn--outline:focus {
	color: #ffffff;
	border: 1px solid #99114E;
	background: #99114E;
}

