/* ============================================
   reservation.css
   reservation.jsp 에서 분리된 정적 CSS
   ============================================ */

/* === 기본 레이아웃/캘린더 === */
.wrap .visual.noti .ment .caution{margin-top:0px}
.map .pin.disabled .marker {filter: none;}
.pignose-calendar .pignose-calendar-unit{margin-top:0px}
.pignose-calendar .pignose-calendar-unit:last-child{border-right:0px !important}

.calendar .district dl.schedule.color1  dt, .color-var p.color1  span {
    background-color: var(--type1);
}
.calendar .district dl.schedule.color2  dt, .color-var p.color2  span {
    background-color: var(--type2);
}
.calendar .district dl.schedule.color3  dt, .color-var p.color3  span {
    background-color: var(--type3);
}
.calendar .district dl.schedule.color4  dt, .color-var p.color4  span {
    background-color: var(--type4);
}
.calendar .district dl.schedule.color5  dt, .color-var p.color5  span {
    background-color: var(--type5);
}
.calendar .district dl.schedule.color6  dt, .color-var p.color6  span {
    background-color: var(--type6);
}
.calendar .district dl.schedule.color7  dt, .color-var p.color7  span {
    background-color: #888;
}
.map .pin.color1 .marker:after, .map .pin.color1.active .marker:after{border-top-color: var(--type1)}
.map .pin.color2 .marker:after, .map .pin.color2.active .marker:after{border-top-color: var(--type2)}
.map .pin.color3 .marker:after, .map .pin.color3.active .marker:after{border-top-color: var(--type3)}
.map .pin.color4 .marker:after, .map .pin.color4.active .marker:after{border-top-color: var(--type4)}
.map .pin.color5 .marker:after, .map .pin.color5.active .marker:after{border-top-color: var(--type5)}
.map .pin.color6 .marker:after, .map .pin.color6.active .marker:after{border-top-color: var(--type6)}
.map .pin.color7 .marker:after, .map .pin.color7.active .marker:after{border-top-color: #888}

/* 동계팩 달력에 숨김 */
.schedule.color7{display:none !important}

.map .pin.color1 .marker, .map .pin.color1.active .marker {background-color: var(--type1);}
.map .pin.color2 .marker, .map .pin.color2.active .marker {background-color: var(--type2);}
.map .pin.color3 .marker, .map .pin.color3.active .marker {background-color: var(--type3);}
.map .pin.color4 .marker, .map .pin.color4.active .marker {background-color: var(--type4);}
.map .pin.color5 .marker, .map .pin.color5.active .marker {background-color: var(--type5);}
.map .pin.color6 .marker, .map .pin.color6.active .marker {background-color: var(--type6);}

.map .pin.color1.active .marker input[type='text'], .map .pin.color1.active .marker > p, .selected-info h3.color1, .selected-item h3.color1 {
    color: var(--type1);
}
.map .pin.color2.active .marker input[type='text'], .map .pin.color2.active .marker > p, .selected-info h3.color2, .selected-item h3.color2 {
    color: var(--type2);
}
.map .pin.color3.active .marker input[type='text'], .map .pin.color3.active .marker > p, .selected-info h3.color3, .selected-item h3.color3 {
    color: var(--type3);
}
.map .pin.color4.active .marker input[type='text'], .map .pin.color4.active .marker > p, .selected-info h3.color4, .selected-item h3.color4 {
    color: var(--type4);
}
.map .pin.color5.active .marker input[type='text'], .map .pin.color5.active .marker > p, .selected-info h3.color5, .selected-item h3.color5 {
    color: var(--type5);
}
.map .pin.color6.active .marker input[type='text'], .map .pin.color6.active .marker > p, .selected-info h3.color6, .selected-item h3.color6 {
    color: var(--type6);
}

.calendar .calendar-in .pignose-calendar .pignose-calendar-unit-active .district{display: none;}
.calendar .calendar-in .pignose-calendar .pignose-calendar-unit-active .district.selectDateResult{display: block;}
.calendar .pignose-calendar .pignose-calendar-unit-active::before, .calendar .pignose-calendar .pignose-calendar-unit-range::before{z-index:0}

.pignose-calendar .pignose-calendar-unit-first-active + .pignose-calendar-unit-range a:before{left: calc((100% - 30px)* -1);z-index:9}

.with-btn a{display:none}

.map .feat.icon .material-symbols-sharp,
.facilities .icon-ramp .material-symbols-sharp {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 3px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 20;
}

/* === 모달팝업 === */
.modal-inc {
}
.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  flex-direction: column;
  overflow: hidden;
  overscroll-behavior: none;
  height: 0;
  top: 0;
  left: 0;
  z-index: 50;
}
.modal .dimed {
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  transition: 0.4s;
  opacity: 0;
}
.modal .modal-popup {
  max-width: 90%;
  max-height: 90%;
  overflow: hidden;
  overscroll-behavior: none;
  border-radius: 20px;
  transition: 0.4s;
  z-index: 2;
  box-shadow: 60px 60px 90px rgba(0, 0, 0, 0.2);
  position: relative;
}
.modal .modal-popup .popup-content.split {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: max-content;
}
.modal .modal-popup .popup-content .btn-set.close-only a {
  background: none;
  position: absolute;
  top: 20px;
  right: 20px;
  width: auto;
  height: auto;
  line-height: 1;
  font-size: 1.5em;
  margin: 0;
  padding: 0;
  color: var(--Gray-Dark);
}
.modal.login .modal-popup .popup-content.split > li {
  width: 450px;
}
.modal.login.single .modal-popup .popup-content.split > li.non-login {
  display: none;
}
.modal.login .modal-popup .popup-content.split > li.non-login {
  background-color: var(--Gray-Pale);
}
.modal.login .modal-popup .popup-content.split > li .join-find > div {
  margin-top: 8px;
}
.modal.login.dual .modal-popup .popup-content.split > li.regular-login .join-find > div.join {
  display: none;
}
.modal.login .modal-popup .popup-content.split > li .join-find > div a {
  font-weight: bold;
  text-decoration: underline;
}
.modal .modal-popup .popup-content.split > li {
  flex-grow: 1;
  border-bottom: 0;
}
.modal .modal-popup .popup-content.split > li .login-form {
  display: flex;
  gap: 8px;
  flex-direction: column;
  margin-top: 20px;
}
.modal .modal-popup .popup-content.split > li .login-form .inputs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.modal .modal-popup .popup-content.split > li .login-form a.submit {
  border: 1px solid var(--Gray-Dark);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.2em;
  height: var(--Input-h);
}
.modal .modal-popup .popup-content.split > li + li {
  border-left: 1px solid var(--Gray-Border);
}
.modal .modal-popup .popup-content {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
  line-height: 1.5;
  flex-grow: 0;
  max-height: calc(100% - 70px);
}
.modal.ticket .modal-popup .popup-content {
  max-height: 100%;
  position: relative;
  background-color: transparent;
}
.modal.ticket .modal-popup,
.modal.ticket .modal-popup .popup-content {
  border-radius: 0;
  box-shadow: none;
}
.modal.ticket .modal-popup .popup-content .ticket-img {
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
.modal.ticket .modal-popup .popup-content .subscr,
.modal.ticket .modal-popup .popup-content .ticket-img {
  width: 350px;
}
.modal.ticket .modal-popup .popup-content .ticket-printing {
  position: absolute;
  width: 100%;
  height: 100%;
  padding-top: 20%;
  line-height: 1.4;
  left: 0;
  bottom: 0;
}
.modal.ticket .modal-popup .popup-content .ticket-img .stamp {
  --color: rgb(0, 149, 255);
  position: absolute;
  width: 240px;
  height: 240px;
  border: 4px solid var(--color);
  border-radius: 50%;
  opacity: 1;
  transform-origin: center center;
  transform: rotate(-30deg);
  left: 20%;
  bottom: 10%;
  padding: 10px;
  box-sizing: border-box;
  color: var(--color);
  z-index: 3;
  mix-blend-mode: multiply;
  font-weight: 900;
  font-size: 2.5em;
  text-align: center;
  line-height: 212px;
}
.modal.ticket .modal-popup .popup-content .ticket-img .stamp::before {
  content: '';
  width: 212px;
  height: 212px;
  left: 10px;
  top: 10px;
  border-radius: 50%;
  border: 10px solid var(--color);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: absolute;
}
.modal.ticket .modal-popup .popup-content .ticket-img .stamp.used {
  --color: rgb(0, 149, 255);
}
.modal.ticket .modal-popup .popup-content .ticket-img .stamp.expired {
  --color: orangered;
}
.modal.ticket .modal-popup .popup-content .ticket-img .stamp.canceled,
.modal.ticket .modal-popup .popup-content .ticket-img .stamp.unabled {
  --color: rgb(171, 0, 0);
}
.modal.ticket .modal-popup .popup-content .ticket-printing .qrcode {
  padding: 5% 30%;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .name {
  font-weight: bold;
  text-align: center;
  font-size: 1.7em;
  line-height: 1.3;
  color: #000;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .remain {
  text-align: center;
  font-size: 1.1em;
  display: block;
  color: var(--Gray-Mid);
  margin-bottom: 1%;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .remain span {
  color: var(--Gray-Dark);
}
.modal.ticket .modal-popup .popup-content .ticket-printing .remain span.num {
  font-weight: bold;
  color: var(--Main-color);
}
.modal.ticket .modal-popup .popup-content .ticket-printing .info {
  display: flex;
  justify-content: space-between;
  padding: 4% 7%;
  gap: 4%;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .info dt {
  font-weight: bold;
  color: var(--Gray-Light);
  font-size: 0.85em;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .info dd {
  font-size: 1.1em;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .date {
  font-weight: bold;
  text-align: center;
  font-size: 1.4em;
  color: #000;
}
.modal.ticket .modal-popup .popup-content .ticket-bg img {
  width: 400px;
}
.modal.ticket .modal-popup .popup-content .subscr {
  color: #fff;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.modal.ticket .modal-popup .popup-content .subscr p {
  line-height: 1.2;
  font-size: 0.8em;
}
.modal.ticket .modal-popup .popup-content .subscr p::before {
  content: '\2022';
}
.modal .modal-popup .popup-content li {
  padding: 30px;
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.modal .modal-popup .popup-content li:last-of-type {
  border-bottom: 0;
}
.modal .modal-popup .popup-content .descript .img-set {
  overflow: hidden;
  overscroll-behavior: none;
  margin: 20px 0;
  display: flex;
  gap: 10px;
}
.modal .modal-popup .popup-content .descript .img-set img {
  height: 150px;
}
.modal .modal-popup h1 {
  font-size: 1.75em;
}
.modal .modal-popup.cert h1.certificated {
  color: var(--Main-color);
  display: flex;
  align-items: center;
}
.modal .modal-popup.cert h1.certificated::after {
  content: '\C778\C99D\C644\B8CC';
  color: #fff;
  font-size: 0.5em;
  background-color: var(--Main-color);
  border-radius: 5px;
  padding: 9px 12px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
  line-height: 1;
  animation-name: certok;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform-origin: center;
}
@keyframes certok {
  0% {
    background-color: var(--Main-color);
  }
  100% {
    background-color: var(--Main-light);
  }
  100% {
    background-color: var(--Main-color);
  }
}
.modal .modal-popup h2 {
  color: var(--Gray-Mid);
  font-size: 1em;
  font-weight: normal;
}
.modal .modal-popup h2 span {
  font-weight: bold;
  color: var(--Main-color);
}
.modal .btn-set {
  display: flex;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}
.modal .btn-set a {
  height: 70px;
  line-height: 70px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: var(--Gray-Mid);
  width: 100%;
  transition: 0.3s;
}
.modal .btn-set a.submit {
  background-color: var(--Main-color);
}
.modal .btn-set a img {
  vertical-align: middle;
}
.modal .btn-set a:hover {
  background-color: var(--Gray-Dark);
}
.modal .btn-set a.submit:hover {
  background-color: var(--Main-light);
}
.modal .no {
  margin-top: 20px;
  color: var(--Gray-Mid);
  font-weight: bold;
  transition: 0.3s;
  z-index: 2;
  position: relative;
}
.modal.ticket .no {
  border: 2px solid #fff;
  color: #fff;
  border-radius: 8px;
  padding: 12px 30px;
}
.modal .no:hover {
  color: #fff;
}
.modal-on {
  overflow: hidden;
  overscroll-behavior: none;
}
.modal-on .modal.on {
  height: 100%;
}
.modal-on .modal .dimed {
  opacity: 1;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.modal-on .modal.login .dimed {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.modal.system {
}
.modal.system .popup-content {
  max-height: calc(100% - var(--Input-h));
}
.modal.system .modal-popup {
  box-shadow: 60px 60px 60px rgba(0, 0, 0, 0.5);
}
.modal.system .btn-set a {
  height: var(--Input-h);
  line-height: var(--Input-h);
} /* LINK모달 */
.modal .filebox input {
  border-radius: 5px 0 0 5px;
  border-right: 0;
}
.modal .filebox label {
  font-weight: bold;
  border: none;
  background-color: var(--Gray-Light);
  color: #fff;
  padding: 0 15px;
  flex-shrink: 0;
}
.modal.linkage .thumb {
  height: 200px;
  background-size: cover;
  background-position: center;
}
.modal.linkage .modal-popup h1 {
  line-height: 1;
}
.modal.linkage .logo {
  max-width: 120px;
  max-height: 42px;
}
.modal.linkage .descript h3,
.modal.linkage .descript h4 {
  font-weight: normal;
  color: var(--Gray-Dark);
}
.modal.linkage .descript h3 span {
  font-weight: bold;
}
.modal.linkage .descript h3 {
  font-size: 1.4em;
}
.modal.linkage .descript h4 {
  font-size: 1.2em;
  margin-bottom: 5px;
}
.sub .contents .article .header h2 {display:none}
.moDiv{display:none}
#map-select .head .added-date.point{font-weight: bold;color: #000;font-size: 18px;}

/* .weekend:before{content:'주말요금';position:absolute;right:-47px;color:#036eb8;font-size:12px} */

a.weekend{color:red !important}
.calendar .pignose-calendar .pignose-calendar-unit-first-active a{color:#fff !important}
.calendar .pignose-calendar .pignose-calendar-unit-active a{color:#fff !important}

.calendar .pignose-calendar .pignose-calendar-unit-first-active a.weekend:before{display:none}
.calendar .pignose-calendar .pignose-calendar-unit-active a.weekend:before{display:none}

.stopReason{word-break: auto-phrase;line-height: 1.2;padding: 0px;display: block;}

.event-nm-label{
	display:inline-block;
	margin-top:4px;
	padding:3px 8px;
	border-radius:20px;
	font-size:11px;
	font-weight:600;
	line-height:1.4;
	word-break:keep-all;
	overflow-wrap:break-word;
	white-space:normal;
	color:#fff;
	letter-spacing:-0.3px;
	box-shadow:0 1px 3px rgba(0,0,0,0.15);
	max-width:100%;
	text-align:center;
}

.today-closed-badge{
	display:inline-block;
	margin-top:3px;
	padding:3px 8px;
	border-radius:20px;
	background:#f0f0f0;
	color:#999;
	font-size:12px;
	font-weight:700;
	letter-spacing:-0.3px;
	line-height:1.3;
	white-space:nowrap;
}
.pre-open-label{
	display:block;
	font-size:13px;
	font-weight:700;
	color:#ff5e1a;
	letter-spacing:-0.3px;
	line-height:1.3;
	margin-top:3px;
}
.pre-open-badge{
	display:inline-flex;
	align-items:center;
	gap:3px;
	margin-top:3px;
	padding:4px 10px;
	border-radius:20px;
	background:linear-gradient(135deg, #ff8c42, #ff5e1a);
	color:#fff;
	font-size:12px;
	font-weight:700;
	letter-spacing:-0.3px;
	line-height:1;
	white-space:nowrap;
	box-shadow:0 2px 6px rgba(255,94,26,0.35);
	cursor:pointer;
	transition:all 0.2s ease;
}
.pre-open-badge:hover{
	background:linear-gradient(135deg, #ff9d5c, #ff7100);
	box-shadow:0 3px 10px rgba(255,94,26,0.5);
	transform:translateY(-1px);
}
.pre-open-badge .badge-icon{
	display:inline-block;
	width:12px;
	height:12px;
	border:1.5px solid #fff;
	border-radius:50%;
	position:relative;
	flex-shrink:0;
}
.pre-open-badge .badge-icon::after{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	width:5px;
	height:5px;
	background:#fff;
	border-radius:50%;
	transform:translate(-50%,-50%);
	animation:preOpenDot 1.8s ease-in-out infinite;
}
@keyframes preOpenDot{
	0%, 100%{opacity:1;transform:translate(-50%,-50%) scale(1);}
	50%{opacity:0.5;transform:translate(-50%,-50%) scale(0.6);}
}
.pre-open-badge .badge-arrow{
	font-size:11px;
	margin-left:1px;
	transition:transform 0.2s ease;
}
.pre-open-badge:hover .badge-arrow{
	transform:translateX(2px);
}

@media (max-width: 812px){
	.moDiv{display:block}
	.sub .contents .article .header h2 {display:block;font-size: 20px;padding: 0 var(--padding);}
	.sub .contents .article .header h1{margin-top:10px}

	.calendar .pignose-calendar .pignose-calendar-unit-date.preOpenPeriod{overflow:visible;}
	.today-closed-badge{font-size:9px;padding:2px 4px;letter-spacing:-0.5px;border-radius:10px;margin-top:2px;white-space:normal;word-break:keep-all;line-height:1.2;}
	.pre-open-label{font-size:10px;margin-top:1px;letter-spacing:-0.5px;text-align:center;}
	.pre-open-badge{font-size:9px;padding:2px 5px;gap:2px;margin-top:2px;box-shadow:none;border-radius:10px;}
	.pre-open-badge .badge-icon{display:none;}
	.pre-open-badge .badge-arrow{font-size:9px;margin-left:0;}

	.event-nm-label{font-size:9px;padding:2px 6px;margin-top:2px;border-radius:12px;letter-spacing:-0.5px;line-height:1.2;box-shadow:none;}

	.calendar .pignose-calendar .pignose-calendar-unit-date .element .district {
	    display: block;text-align:center
	}
	.calendar .district dl.schedule{justify-content: center;}
	.calendar .calendar-in .pignose-calendar .pignose-calendar-unit-active .district{display: none;}
	.pignose-calendar-unit-first-active:after, .pignose-calendar-unit-second-active:after{display: none;}

	.calendar .district dl.schedule dd{display:none}
	.calendar .district dl.schedule dt, .color-var p span{width:20px;height:20px;line-height:20px;font-size:11px;}

	.reserv-ui .tooltip.on{display:none !important}
	.reserv-ui dl.total-payment, .type2.paying .reserv-ui dl.total-payment{display:block}

	.wrap.sub .contents{padding-top:0px}

	.weekend:before{display:none}
}


/* === 팝업/옵션/커스텀 confirm === */
@media (max-width: 812px) {
.full .reserv-ui .agree-policy:has(input[type='checkbox']:checked) + .total-payment{max-width:2000px}
.full .reserv-ui .agree-policy:has(input[type='checkbox']) + .total-payment{max-width:2000px}
}
.popup{padding:0px;top:90px;border: 3px solid #fff;position: absolute;z-index: 9990;background: #fff;max-width:500px}
#popup2{left:45%}
#popup3{left: 60%}
@media ( max-width : 600px) {
	#popup1 {
		width:90%;
		left: 0 !important;
		transform: translate(0px, 0px);
	}
	#popup2{left: 50%;transform: translate(-50%, 0px);width:90%;}
	#popup3{left: 50%;transform: translate(-50%, 0px);width:90%;}
}
.options {
    .map-picker:has(.pin.active) & {
        display: flex;
    }
    margin: 5px;
    max-width: calc(100% - 10px);
    flex-wrap: wrap;
    position: absolute;
    bottom: 100px;
    transform: translateX(50%);
    width: fit-content;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10em;
    backdrop-filter: blur(15px);
    gap: 2em;
    row-gap: 0.5em;
    display: flex;
    max-width: 100%;
    align-items: center;
    padding: 20px 20px 20px 30px;
    border: 3px solid rgba(255, 255, 255, 0.8);
    .title {
        font-size: 1em;
        white-space: nowrap;
        > h4 {
        }
        > p {
            color: rgba(255, 255, 255, 0.9);
            font-weight: bold;
            .impo {
                color: var(--red) !important;
            }
        }
    }
    .pack {
        display: flex;
        gap: 10px;

        > li {
            aspect-ratio: 1/1;
            padding: 10px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 0 10 15px rgba(0, 0, 0, 0.2);
            cursor: pointer;
            transition: background-color 0.3s, transform 0.3s;
            font-size: 1.5em;
            color: var(--red);
            span {
                font-weight: 300;
                filter: brightness(1.2);
            }

            &.on {
                background-color: var(--red);
                transform: scale(1.1);
                color: #fff;
                &::before {
                    font-size: 0.6em;

                    content: 'check';
                    font-family: 'Material symbols sharp';
                    font-variation-settings: 'FILL' 1;
                    position: absolute;
                    left: -5px;
                    top: -5px;
                    aspect-ratio: 1/1;
                    border-radius: 50%;
                    width: 24px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background-color: color-mix(in srgb, var(--red) 50%, #000);

                    border: 1px solid rgba(255, 255, 255, 0.2);
                }
            }
            &:hover {
                transform: scale(1.1);
            }
            &.disable {
                background-color: rgba(200, 200, 200, 0.4);
                color: rgba(255, 255, 255, 0.5);
                cursor: not-allowed;
                pointer-events: none;
                box-shadow: none;
                position: relative;
                opacity: 0.7;
                &::before {
                    content: '';
                    width: 100%;
                    position: absolute;
                    border-top: 1px solid #fff;
                    top: 50%;
                    transform: rotate(-45deg);
                    opacity: 0.5;
                }
            }
        }
    }
    @media (max-width: 812px) {
        padding: 10px 5px;
        gap: 1em;
        text-align: center;
        justify-content: center;
        bottom: 90px;
        width: calc(100% - 10px);
        transform: initial;
        left: 5px;
        margin: 0;
        border: 0;
        border-radius: 8px;
        .title {
            font-size: 1em;
        }
    }
}

 /* 배경 */
 .confirm-layer {
     position: fixed;
     inset: 0;
     background: rgba(0,0,0,0.45);
     z-index: 9999;
     display: flex;
     align-items: flex-start;
     justify-content: center;
     padding-top: 80px;
 }

.confirm-box {
    background: #fff;
    width: 800px;
    max-width: calc(100% - 40px);
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    border-radius: 10px;
    padding: 22px 24px 18px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.25);
    -webkit-overflow-scrolling: touch;
}

.confirm-content {
    font-size: 17px;
    line-height: 1.7;
    color: #333;
}

.confirm-btns {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.confirm-btns .btn {
    min-width: 90px;
    height: 36px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    border: none;
}

.confirm-btns .cancel {
    background: #e9ecef;
    color: #333;
}

.confirm-btns .ok {
    background: #1c7ed6;
    color: #fff;
}


/* === 구역 색상 === */
p.sect01 span {
  background-color: #364fc7;
}
p.sect02 span {
  background-color: #00b3b3;
}


/* === notification card === */
ul.notification.card li {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    flex-grow: 1;
}
ul.notification.vertical {
    row-gap: 3em;
}
ul.notification.card {
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 12px;
    padding-top: 0;
}
ul.notification.card li, .sub.full ul.notification.card li {
    padding: var(--padding);
}
ul.notification.card li, .sub.full ul.notification.card li {
    gap: 8px;
}
ul.notification.card li:first-child {
    width: 33%;
    flex-grow: 1;
}
ul.notification li, .sub.full ul.notification li {
    width: calc(50% - 20px);
    display: flex;
    gap: 16px;
}
ul.notification.vertical li, .sub ul.notification.vertical li {
    width: 33.3%;
    gap: 0.5em;
    flex-direction: column;
}
.sub ul.notification.vertical.card li .icon {
    font-size: 3.5em;
}
li:nth-child(1) .icon {
    color: var(--hotpink);
}
ul.notification li .icon {
    font-size: 2.6em;
    margin-top: -3px;
    position: relative;
}
ul.notification.card li:nth-child(1) h4, ul.notification.card li:nth-child(1) .icon {
    color: var(--hotpink);
}
ul.notification.card li h4 {
    font-size: 1.35em;
}
ul.notification li h4 {
    margin-bottom: 6px;
}
ul.notification li .noti-con h5 {
    margin-top: 0.5em;
}
h5 {
    font-size: 1em;
}
.sub ul.notification.vertical.card li p {
    padding: 0;
}
.sub ul.notification.vertical li p {
    display: block;
    padding: 0 2em 0 0;
    gap: 0;
}
.sub ul.notification li p {
    font-size: 1em;
}
ul.notification li p {
    position: relative;
    display: flex;
    gap: 5px;
}
.sect p {
    color: var(--gray-mid);
    line-height: 1.4;
}
ul.notification.card li::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--hotpink);
    opacity: 0.1;
}
ul.notification.card li {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    flex-grow: 1;
}
ul.notification.card li:nth-child(2) .icon {
    color: var(--orange);
}
ul.notification.card li:nth-child(2):after {
    background-color: var(--orange);
}
ul.notification.card li:nth-child(2) h4, ul.notification.card li:nth-child(2) .icon {
    color: var(--orange);
}
ul.notification.card li:nth-child(3):after {
    background-color: var(--yellow);
}
ul.notification.card li:nth-child(3) h4, ul.notification.card li:nth-child(3) .icon {
    color: var(--yellow-deep);
}
.noti-img {
  display: flex;
  gap: 10px;
  margin: 10px 0;
}
.noti-img li {
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 475px) {
    body:has(.ui-sect) .sect.notifications {
        padding: 0;
        margin: 20px;
    }
    ul.notification.card {
        flex-wrap: wrap;
        gap: 10px;
        row-gap: 10px;
        padding: 0;
    }
    ul.notification.card li:first-child {
        width: 100%;
    }
}
@media (max-width: 812px) {
    .sect:nth-child(2) {
        z-index: 9;
    }
    ul.notification.vertical, .sub ul.notification.vertical {
        flex-direction: row;
    }
    .sect p {
        line-height: 1.4;
        font-size: 1em;
    }
    .sect {
        border-bottom: none;
    }
}
