@charset "utf-8";

/* readonly 상태 스타일링 */
input[readonly] {
    background-color: #F4F4F4;
    color: #7E7E7E;
    cursor: not-allowed;
    border-color: #E3E3E3;
}


.popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1000;
}

.popup-container {
	background-color: #fff;
	border-radius: 16px;
	padding: 0;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
	width: 70%;
	max-width: 400px;
	overflow: hidden;
}

.popup-header {
	background-color: rgba(0, 0, 0, 0.8);
	color: #999;
	padding: 15px 20px;
	font-size: 14px;
}

.popup-content {
	padding: 25px 15px 5px 15px;
}

.menu-list2 {
	list-style: none;
}

.menu-item2 {
	padding: 12px 20px;
	cursor: pointer;
	color: #333;
	font-size: 16px;
	transition: background-color 0.2s;
}

.menu-item2:last-child {
	border-bottom: none;
}

.menu-item2:hover {
	background-color: #f9f9f9;
}

.category-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.category-item {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 5px 0;
	transition: opacity 0.2s;
}

.category-item:hover {
	opacity: 0.8;
}

.checkbox_sq {
	width: 22px;
	height: 22px;
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-right: 10px;
	position: relative;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.checkbox_sq.checked {
	background-color: #B67C5B;
	border-color: #B67C5B;
}

.checkbox_sq.checked::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	font-size: 14px;
	font-weight: bold;
}


.radio-button {
	width: 22px;
	height: 22px;
	border: 1px solid #ddd;
	border-radius: 50%;
	margin-right: 10px;
	position: relative;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.radio-button.checked {
	border-color: #B67C5B;
}

.radio-button.checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12px;
	height: 12px;
	background-color: #B67C5B;
	border-radius: 50%;
}


.category-text {
	font-size: 18px;
	color: #333;
	font-weight: 500;
}

.popup-divider {
	height: 1px;
	background-color: #e0e0e0;
	margin:  20px 0 10px 0;
}

.popup-footer {
	padding: 0 20px 10px;
	text-align: center;
}

.reset-button {
	background: none;
	border: none;
	color: #666;
	font-size: 16px;
	text-decoration: underline;
	cursor: pointer;
	padding: 0 10px 10px;
	transition: color 0.2s;
}

.reset-button:hover {
	color: #333;
}

/* 애니메이션 */
.popup-overlay {
	animation: fadeIn 0.3s ease-out;
}

.popup-container {
	animation: slideUp 0.3s ease-out;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes slideUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}




.bottom-popup {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.1);
	transform: translateY(0);
	transition: transform 0.3s ease-out;
	z-index: 1000;
	overflow: hidden;
}


.popup-header2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 20px 0;
}

.popup-title2 {
	font-size: 20px;
	font-weight: 600;
	color: #333;
}

.close-button {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: none;
	font-size: 16px;
	color: #333;
	transition: background-color 0.2s;
}

.close-button:hover {
	background-color: #e0e0e0;
}

.popup-content2 {
	padding: 10px 0 25px;
	max-height: 60vh;
	overflow-y: auto;
}

.popup-footer2 {
	display: flex;
	justify-content: center;
	padding: 15px 20px;
}

.indicator {
	width: 50px;
	height: 5px;
	background-color: #000;
	border-radius: 5px;
}

/* 애니메이션 */
.bottom-popup.hidden {
	transform: translateY(100%);
}

.bottom-popup.visible {
	transform: translateY(0);
}
        

.font-orange {
  color: #FF6A00;
}
.font-light {
  color: #9E9E9E;
}
.font-gray {
  color: #757575;
}
a.border { text-decoration: underline; font-weight: 600;}
a.border-0 { text-decoration: none; font-weight: 600;}
.font-red {color: #FA2222}
.fs-13 {font-size: 13px;}
.fs-14 {font-size: 14px;}
.fs-15 {font-size: 15px;}
.fs-18 {font-size: 18px;}
.fs-22 {font-size: 22px;}
.fs-24 {font-size: 24px;}
.fs-28 {font-size: 28px;}
.fs-32 {font-size: 32px;}
.fs-34 {font-size: 34px;}
.font-bold {font-weight: bold;}
.font600 {font-weight: 600}
/*마진*/
.m-0 {margin: 0px !important}
.m-1 {margin: 1rem !important}
.mt-0 {margin-top: 0px !important; }
.mt-03 {margin-top: 0.3rem !important;}
.mt-05 {margin-top: 0.5rem !important;}
.mt-1 {margin-top: 1rem;}
.mt-2 {margin-top: 2rem !important;}
.mt-3 {margin-top: 3rem !important;}

.mb-0 {margin-bottom: 0px !important; }
.mb-03 {margin-bottom:5px !important; }
.mb-05 {margin-bottom:0.5rem !important; }
.mb-1 {margin-bottom: 1rem !important;}
.mb-2 {margin-bottom: 2rem !important;}
.ml-1 {margin: 0 0 0 1rem !important;}
.my-1 {margin: 1rem 0 !important;}
.mx-auto {margin: 0 auto !important;}

.p-0 {padding:0 !important;}
.p-05 {padding:0.5rem !important;}
.p-1 {padding:1rem !important;}
.p-1-thin {
	padding: 0.1rem 1rem !important; /* 상하 0.2rem, 좌우 1rem */
}
.p-2 {padding:2rem !important;}
.p-3 {padding:4rem !important;}
.py-05 {padding:0.5rem 0 !important;;}
.py-1 {padding:1rem 0 !important;;}
.py-2 {padding:2rem 0 !important;;}
.px-0 {padding-left: 0rem !important; padding-right: 0rem !important;}
.px-03 {padding-left: 0.3rem !important; padding-right: 0.3rem !important;}
.px-1 {padding-left: 1rem !important; padding-right: 1rem !important;}
.px-2 {padding-left: 2rem !important; padding-right: 2rem !important;}

.d-flex {display: flex;}
.flex-between {justify-content: space-between !important;}
.flex-end {justify-content: flex-end!important;}
.flex-start {justify-content: flex-start!important;}
.flex-col {flex-direction: column;}
.flex-center {justify-content: center !important;}
.align-center {align-content: center !important}
.item-center {align-items: center !important}
.d-inline {display: inline-block !important;}
.gap_5 {gap:5px;}
.gap_10 {gap:10px;}
.gap_20 {gap:20px;}
.flex1 {flex:1}
.flexnon {flex:none;}
.p_absolute {position: absolute;}
.p_relative {position: relative;}

.text-right {text-align: right !important;}
.text-left {text-align: left !important;}
.text-center {text-align: center !important;}
.align_middle {
    vertical-align: middle !important;
}
.short-h {min-height: 100px !important;}
.w-100 {width:100%;}
.MAX360 {max-width: 360px; margin: 0 auto !important;}
.MAX600 {max-width: 600px; margin: 0 auto !important;}
.MAX860 {max-width: 860px; margin: 0 auto;}
.MAX1460 {max-width: 1460px; margin: 0 auto;}
.MAX1080 {max-width: 1080px; margin: 0 auto;}
/*보더*/
.border-top {border-top: 1px solid #E9EBEE;}
.border-bottom {border-bottom: 1px solid #E9EBEE;}
.border-0 {border:0px !important;}
.bg-lightpink {background: #FFFDFB !important;}
.bg-light {background: #FBFCFF;}
.bg-black {background: #000; color: #fff}
/* width 셀렉트+인풋+버튼 균일 정렬 */
.form-row {
  display: flex;
  gap: 12px; /* 요소 간 간격 */
  width: 100%;
    height: 40px;
}

.form-row select,
.form-row input {
  flex: 1; /* 자동으로 같은 비율로 채움 */
  height: 40px;
  padding: 0 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 14px;
}

.form-row button {
    display: flex;
    justify-content: center;
    align-items: center;
  flex: 0 0 120px; /* 고정 너비 */
  background: #fff;
  color: #000;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
}

.form-row button img {
    height:20px;
}

/* 헤드보더 */
.head-border {
  margin: 24px 0 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E9EBEE;  
  width:100%;
}

textarea.default {
  min-height: 98px;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #D5D7DB;
  background: #FFF;
    flex:1;
}

input[type=search].default,
input[type=text].default,
input[type=password].default{
    min-width: 150px;
  width: 100%;
  height: 44px;
    padding: 5px 10px;
  border-radius:4px;
  border: 1px solid #D5D7DB;
  background: #FFF;
    flex:1;
}
input[type=search].trans,
input[type=text].trans,
input[type=password].trans{
    min-width: 150px;
  width: 100%;
  height: 34px;
    padding: 5px 10px;
  border-radius:4px;
  border:0px;
  background-color: transparent;
    flex:1;
}


/* 버튼 */
.b-black {
  background-color: #000 !important;
  border: 1px solid #000 !important;
  color: #fff !important;
	cursor: pointer;
	margin: 0 5px;
}

.b-gray {
  background-color: #9E9E9E !important;
  border: 1px solid #9E9E9E !important;
  color: #fff !important;
	cursor: pointer;
	margin: 0 5px;
}

.b-light {
  background-color: #F4F4F4!important;
  border: 1px solid #CACACA !important;
  color: #000 !important;
	cursor: pointer;
}

.b-lightpink {
  background-color: #FCEAE0 !important;
  border: 1px solid #FCEAE0 !important;
  color: #000 !important;
	cursor: pointer;
}

.b-red {
  background-color: #E45A5A !important;
  border: 1px solid #E45A5A !important;
  color: #fff !important;
	cursor: pointer;
	margin: 0 5px;
}

.b-trans {
  background-color: transparent!important;
  border:0px !important;
	cursor: pointer;
	margin: 0 5px;
}

.round-4 {
    border-radius: 4px !important;
	
}
.round-6 {
    border-radius: 6px !important;
}

.b-sm {
	font-size: 13px;
	padding: 6px;
	border:1px solid #ddd;
	background: #fff;
	cursor: pointer;
}
.b-md {
	font-size: 16px;
	padding: 10px 15px;
	background: #fff;
	border:1px solid #ddd;
	cursor: pointer;
}

.b-lg {
	font-size: 17px;
	padding: 15px 25px;
	background: #fff;
	border:1px solid #ccc;
	cursor: pointer;
}

.down {transform: rotate(90deg); width:7px;}
.won {position: absolute;right:16px; height: 44px;}
/* 토글스위치 */
.switch-container {
	width: 100%;
	display: flex;
	justify-content: center;
}

/* Main Toggle Switch Styles */
.toggle-switch {
	position: relative;
	display: inline-block;
	width: 36px;
	height: 20px;
}

/* Hide default HTML checkbox */
.toggle-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* The slider */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0px;
	left: 0;
	right: 0;
	bottom: 0;
	transition: .4s;
	border-radius: 34px;
}

/* The circle/dot */
.slider:before {
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	border-radius: 50%;
	transition: .4s;
	background-color: #000;
}

/* Active state (pink background) */
.slider.active {
	background-color: #FFE4DC;
}

/* Inactive state (gray background) */
.slider.inactive {
	background-color: #F0F0F0;
}

/* Switch transition animation */
.slider:before {
	transition: all 0.3s ease-in-out;
}

/* Position the dot on the right when checked (active) */
input:checked + .slider:before {
	top:2px;
	right: 2px;
	left: auto;
}

/* Position the dot on the left when NOT checked (inactive) */
input:not(:checked) + .slider:before {
	top:2px;
	left: 2px;
	right: auto;
}


 /* 날짜선택 인풋박스 */
        .date-range-container {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        /* Date Input Styles */
        .date-input-container {
            position: relative;
            flex: 1;
        }

        .date-input {
            width: 100%;
            padding: 10px 15px;
            font-size: 15px;
            color: #999;
            background-color: #fff;
            border: 1px solid #ddd;
            border-radius: 6px;
            cursor: pointer;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
        }

        .date-input:focus {
            outline: none;
            border-color: #5d9cd6;
        }

        .calendar-icon {
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
            width: 24px;
            height: 24px;
        }

        .calendar-icon svg {
            width: 100%;
            height: 100%;
            fill: #666;
        }

        .date-separator {
            font-size: 24px;
            color: #999;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 10px;
        }

        /* 셀렉트박스 - Select Box Styles */
        .select-container {
            position: relative;
            max-width: 450px;
        }

        .custom-select {
            width: 100%;
			min-width: 200px;
            padding: 10px 15px;
            font-size: 15px;
            color: #999;
            background-color: #fff;
            border: 1px solid #ddd;
            border-radius: 6px;
            cursor: pointer;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
        }

        .custom-select:focus {
            outline: none;
            border-color: #5d9cd6;
        }

        .select-arrow {
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
            width: 20px;
            height: 20px;
			background: url("../images/select_arrow.svg")
        }

        .select-arrow svg {
            width: 100%;
            height: 100%;
            fill: #999;
        }

        /* 달력레이어 - Date Picker Styles */
        .datepicker {
            position: absolute;
            top: 40px;
            left: 0;
            width: 280px;
            background: white;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            border-radius: 6px;
            border: 1px solid #ddd;
            z-index: 10;
            display: none;
        }

        .datepicker.active {
            display: block;
        }

        .datepicker-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 15px;
            border-bottom: 1px solid #eee;
        }

        .datepicker-month-year {
            font-weight: 500;
            font-size: 15px;
        }

        .datepicker-nav {
            display: flex;
            gap: 15px;
        }

        .datepicker-nav-btn {
            background: none;
            border: none;
            cursor: pointer;
            padding: 3px;
            color: #666;
        }

        .datepicker-weekdays {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            padding: 8px 0;
            border-bottom: 1px solid #eee;
        }

        .datepicker-weekday {
            text-align: center;
            font-size: 12px;
            color: #999;
            padding: 5px 0;
        }

        .datepicker-days {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            padding: 5px;
        }

        .datepicker-day {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 35px;
            cursor: pointer;
            border-radius: 50%;
            font-size: 13px;
            transition: all 0.2s;
        }

        .datepicker-day:hover {
            background-color: #f5f5f5;
        }

        .datepicker-day.today {
            background-color: #e6f7ff;
            font-weight: bold;
        }

        .datepicker-day.selected {
            background-color: #FFE4DC;
            color: #333;
        }

        .datepicker-day.other-month {
            color: #ccc;
        }

.bg-light {background: #F4F4F4; color: #000;}
.sm-box {
	border-radius: 4px;
	padding: 5px 7px;
	height: 28px;
	font-size: 13px;
}

.md-box {
	border-radius: 4px;
	padding: 15px ;
	height: 56px;
}




