
/** ADD YOUR AWESOME CODES HERE **/

/* 메인 히어로(슬라이더) 높이: 뷰포트의 2/3 */
#carouselExampleControls.box-slider {
	height: calc(100vh * 2 / 3);
	min-height: 280px;
}

/* 히어로 KAIAS 오버레이(상단)는 그대로 두고, 태그라인 영역만 아래로 간격 */
#carouselExampleControls .first-section .dtab {
	padding-top: clamp(72px, 14vh, 160px);
}

/* 첫 슬라이드(로고 배경): style.css .first-section::before 어둡게 처리 제거 */
#carouselExampleControls .first-section--logo-plain::before {
	display: none;
}

/* kolaa.or.kr/ko 유사 메인 블록 (index.php) */
.kolaa-main-home {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}
.kolaa-quick-row {
	border: none;
	border-radius: 0;
	overflow: visible;
	background: transparent;
}
.kolaa-quick-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1.35rem 0.65rem 1.15rem;
	color: #2f4f6f;
	background: #f4f6f9;
	border: none;
	min-width: 160px;
	min-height: 0;
}
.kolaa-quick-icon {
	font-size: 2.65rem;
	line-height: 1;
	margin-bottom: 0.75rem;
	color: #2f4f6f;
	opacity: 0.92;
	transition: color 0.2s ease, opacity 0.2s ease;
}
img.kolaa-quick-icon.kolaa-quick-thumb {
	width: 11.7rem;
	height: 11.7rem;
	max-width: 100%;
	object-fit: contain;
	display: block;
	flex-shrink: 0;
	font-size: inherit;
}
.kolaa-quick-label {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
	max-width: 11rem;
}
.kolaa-quick-item:hover,
.kolaa-quick-item:focus {
	background: #f4f6f9;
	color: #2f4f6f;
	text-decoration: none;
}
.kolaa-quick-item:hover .kolaa-quick-icon,
.kolaa-quick-item:focus .kolaa-quick-icon {
	color: #2f4f6f;
	opacity: 0.92;
}
@media (max-width: 767.98px) {
	.kolaa-quick-item {
		flex: 1 1 100%;
		border: none;
		min-width: 0;
		min-height: 0;
		padding-top: 1.1rem;
		padding-bottom: 1rem;
	}
	.kolaa-quick-icon {
		font-size: 2.25rem;
		margin-bottom: 0.55rem;
	}
	img.kolaa-quick-icon.kolaa-quick-thumb {
		width: 9.75rem;
		height: 9.75rem;
	}
}
.kolaa-section-heading {
	font-size: 1.15rem;
	font-weight: 700;
	color: #2f4f6f;
	margin-bottom: 1rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid #eea412;
	display: inline-block;
}
.kolaa-notice-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid #e9ecef;
	font-size: 0.95rem;
}
.kolaa-notice-list li:last-child {
	border-bottom: 0;
}
.kolaa-notice-list a {
	color: #333;
	flex: 1 1 200px;
	min-width: 0;
}
.kolaa-notice-list a:hover {
	color: #eea412;
	text-decoration: none;
}
.kolaa-date {
	color: #888;
	font-size: 0.88rem;
	white-space: nowrap;
}
.kolaa-intro-panel {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 6px;
	padding: 1.35rem 1.25rem;
	height: 100%;
}
.kolaa-intro-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #2f4f6f;
	text-align: center;
	border-bottom: 0;
	margin-bottom: 1rem !important;
}
.kolaa-intro-btn {
	display: block;
	text-align: center;
	padding: 0.75rem 0.5rem;
	font-weight: 600;
	font-size: 0.9rem;
	color: #fff;
	background: #2f4f6f;
	border-radius: 4px;
	transition: background 0.2s ease;
}
.kolaa-intro-btn:hover {
	color: #fff;
	background: #244060;
	text-decoration: none;
}
.kolaa-intro-btn-alt {
	background: #5a6c7d;
}
.kolaa-intro-btn-alt:hover {
	background: #485768;
}

/* 회원 가입·협의회 소개: 아이콘 + 문구, 호버 시 색상 고정 */
.kolaa-join-card,
.kolaa-about-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	color: #2f4f6f;
	background: transparent;
	border: none;
	padding: 0.35rem 0.25rem 0.5rem;
	border-radius: 0;
}
.kolaa-join-card__img,
.kolaa-about-card__img {
	width: 9.5rem;
	height: 9.5rem;
	max-width: 100%;
	object-fit: contain;
	display: block;
	flex-shrink: 0;
}
.kolaa-join-card__label,
.kolaa-about-card__label {
	margin-top: 0.55rem;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
	color: #2f4f6f;
}
.kolaa-join-card:hover,
.kolaa-join-card:focus,
.kolaa-about-card:hover,
.kolaa-about-card:focus {
	color: #2f4f6f;
	text-decoration: none;
	background: transparent;
	outline: none;
}
.kolaa-join-card:hover .kolaa-join-card__label,
.kolaa-join-card:focus .kolaa-join-card__label,
.kolaa-about-card:hover .kolaa-about-card__label,
.kolaa-about-card:focus .kolaa-about-card__label {
	color: #2f4f6f;
}
@media (max-width: 767.98px) {
	.kolaa-join-card__img,
	.kolaa-about-card__img {
		width: 8rem;
		height: 8rem;
	}
}
.kolaa-divider {
	border-color: #dee2e6;
	margin: 2rem 0;
}
.kolaa-gallery-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 5.5rem;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	color: #333;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.kolaa-gallery-card:hover {
	border-color: #eea412;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	color: #2f4f6f;
	text-decoration: none;
}
.kolaa-gallery-title {
	font-weight: 600;
	font-size: 0.92rem;
	line-height: 1.35;
}
.kolaa-gallery-date {
	margin-top: 0.35rem;
	font-size: 0.82rem;
	color: #888;
}
.kolaa-muted {
	color: #666;
	font-size: 0.95rem;
}
.kolaa-partners {
	border-top: 1px solid #e9ecef;
}
.kolaa-partners-title {
	border-bottom: 0;
	font-size: 1rem;
}

/* 메인: 갤러리 한 줄 자동 스크롤 (DB 썸네일) */
.kaias-home-gallery-hit {
	display: block;
	text-decoration: none;
	color: inherit;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e9ecef;
}
.kaias-home-gallery-hit:hover {
	text-decoration: none;
	color: inherit;
}
.kaias-home-gallery-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.kaias-home-gallery-viewport::-webkit-scrollbar {
	display: none;
}
.kaias-home-gallery-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0.75rem;
	width: max-content;
	padding: 0.55rem 0.4rem;
}
.kaias-home-gallery-item {
	flex: 0 0 auto;
	width: 220px;
	height: 148px;
	border-radius: 8px;
	overflow: hidden;
	background: #eceff3;
}
.kaias-home-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}
@media (max-width: 575.98px) {
	.kaias-home-gallery-item {
		width: 160px;
		height: 108px;
	}
}

/* 메인: 회원대학 로고 무한 흐름 (캐러셀 하단) */
.kaias-home-univ-section {
	background: #f8f9fb;
	border-top: 1px solid #e9ecef;
	border-bottom: 1px solid #e9ecef;
	padding: 0.85rem 0;
}
.kaias-home-univ-bar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	column-gap: 0.85rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0 clamp(0.5rem, 2vw, 1rem);
}
.kaias-home-univ-brand {
	flex: 0 0 auto;
	display: inline-block;
	border: 1px solid #cbd5e1;
	background: #fff;
	line-height: 0;
	cursor: default;
	user-select: none;
}
.kaias-home-univ-brand-logo {
	display: block;
	width: auto;
	height: 70px;
	max-width: 210px;
	object-fit: contain;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}
.kaias-home-univ-hit {
	flex: 1 1 auto;
	min-width: 0;
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.kaias-home-univ-hit:hover,
.kaias-home-univ-hit:focus {
	text-decoration: none;
	color: inherit;
}
.kaias-home-univ-marquee {
	overflow: hidden;
	width: 100%;
	padding: 0.15rem 0;
	mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}
.kaias-home-univ-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem;
	width: max-content;
	will-change: transform;
}
.kaias-home-univ-set {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem;
	flex: 0 0 auto;
}
.kaias-home-univ-logo-wrap {
	flex: 0 0 auto;
	display: inline-block;
	border: 1px solid #cbd5e1;
	background: #fff;
	line-height: 0;
}
.kaias-home-univ-logo {
	display: block;
	width: auto;
	height: 70px;
	max-width: 210px;
	object-fit: contain;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}
@media (prefers-reduced-motion: reduce) {
	.kaias-home-univ-track {
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		max-width: 1140px;
		margin: 0 auto;
		transform: none !important;
	}
}
@media (max-width: 575.98px) {
	.kaias-home-univ-logo {
		height: 59px;
		max-width: 176px;
	}
	.kaias-home-univ-brand-logo {
		height: 59px;
		max-width: 176px;
	}
	.kaias-home-univ-track {
		gap: 0.75rem;
	}
}

/* 이벤트 관리 index: 목록/View 카드 헤더 — Grid로 좌제목·우버튼 세로 중앙·좌우 여백 고정 */
body.host_version .ea-event-list-card > .card-header.ea-event-list-hd,
body.host_version .ea-event-view-card.ea-guest-event-card > .card-header.ea-view-card-hd {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center !important;
	column-gap: 0.75rem;
	row-gap: 0.35rem;
	padding: 0.65rem 1rem !important;
	background-color: #f8f9fa !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.125) !important;
}
body.host_version .ea-event-list-card .kaias-event-hd-title.ea-event-list-title,
body.host_version .ea-event-view-card .kaias-event-hd-title.ea-view-card-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	display: flex !important;
	align-items: center !important;
	min-width: 0 !important;
	width: 100%;
	max-width: 100%;
}
body.host_version .ea-event-list-card > .card-header.ea-event-list-hd .ea-event-list-actions,
body.host_version .ea-event-view-card.ea-guest-event-card > .card-header.ea-view-card-hd .ea-view-card-actions {
	display: inline-flex !important;
	align-items: center !important;
	justify-self: end;
	flex-wrap: nowrap;
	gap: 0.5rem;
}
@media (max-width: 575.98px) {
	body.host_version .ea-event-list-card > .card-header.ea-event-list-hd,
	body.host_version .ea-event-view-card.ea-guest-event-card > .card-header.ea-view-card-hd {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
	}
	body.host_version .ea-event-list-card > .card-header.ea-event-list-hd .ea-event-list-actions,
	body.host_version .ea-event-view-card.ea-guest-event-card > .card-header.ea-view-card-hd .ea-view-card-actions {
		justify-self: end;
		flex-wrap: wrap;
	}
}

/* 이벤트 신청 관리 event_attend_list.php — 요약 카드·이벤트 선택 카드 헤더 */
body.host_version .eal-event-summary-card > .card-header.eal-attend-list-hd,
body.host_version .eal-pick-event-card > .card-header.eal-attend-pick-hd {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center !important;
	column-gap: 0.75rem;
	row-gap: 0.35rem;
	padding: 0.65rem 1rem !important;
	font-size: 1rem !important;
}
body.host_version .eal-event-summary-card .eal-attend-list-title.kaias-event-hd-title,
body.host_version .eal-pick-event-card .eal-attend-pick-title.kaias-event-hd-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	display: flex !important;
	align-items: center !important;
	min-width: 0 !important;
	width: 100%;
	max-width: 100%;
}
body.host_version .eal-event-summary-card .eal-attend-list-title-ic,
body.host_version .eal-pick-event-card .eal-attend-list-title-ic {
	font-size: 1em;
	line-height: 1;
	width: 1.1em;
	text-align: center;
}
body.host_version .eal-event-summary-card .eal-attend-list-actions,
body.host_version .eal-pick-event-card .eal-attend-list-actions {
	display: inline-flex !important;
	align-items: center !important;
	justify-self: end;
	flex-wrap: nowrap;
	gap: 0.5rem;
}
body.host_version .eal-event-summary-card .eal-attend-list-id-badge {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0.28rem 0.5rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600;
	line-height: 1.2 !important;
}
@media (max-width: 575.98px) {
	body.host_version .eal-event-summary-card > .card-header.eal-attend-list-hd,
	body.host_version .eal-pick-event-card > .card-header.eal-attend-pick-hd {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
	}
	body.host_version .eal-event-summary-card .eal-attend-list-actions,
	body.host_version .eal-pick-event-card .eal-attend-list-actions {
		justify-self: end;
		flex-wrap: wrap;
	}
}

/* KAIAS — 액션 카드: 헤더(제목+아이콘, 닫기), 푸터 버튼 배치 (.cursor/rules/kaias-action-card-ui.mdc) */
.kaias-action-card .kaias-action-card__header {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
	width: 100%;
	box-sizing: border-box;
}
.kaias-action-card .kaias-action-card__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}
.kaias-action-card .kaias-action-card__title > span {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1.25rem;
	line-height: 1.35;
}
.kaias-action-card .kaias-action-card__title .fa {
	opacity: 0.88;
	flex-shrink: 0;
	font-size: 1rem;
	line-height: 1;
}
.kaias-action-card .kaias-action-card__header-actions {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.35rem;
	margin-left: auto;
	flex-shrink: 0;
}
.kaias-action-card .kaias-action-card__header-close {
	color: #6c757d;
	padding: 0.35rem 0.55rem;
	border-radius: 4px;
	line-height: 1;
	font-size: 1.15rem;
	flex-shrink: 0;
}
.kaias-action-card .kaias-action-card__header-close:hover,
.kaias-action-card .kaias-action-card__header-close:focus {
	color: #212529;
	background: rgba(0, 0, 0, 0.06);
	text-decoration: none;
}
.kaias-action-card .kaias-action-card__footer {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	background: #fafafa;
}
.kaias-action-card .kaias-action-card__footer--1 {
	justify-content: center;
}
/* 2·3버튼: 왼쪽 묶음 / 오른쪽 닫기 — 풀폭 + margin-left:auto로 줄 맞춤 (카드·모달 공통 modifier) */
.kaias-action-card .kaias-action-card__footer--2,
.kaias-action-card .kaias-action-card__footer--3,
.kaias-modal__footer.kaias-action-card__footer--2,
.kaias-modal__footer.kaias-action-card__footer--3 {
	justify-content: flex-start;
	align-items: center;
}
.kaias-action-card .kaias-action-card__footer--2 .kaias-action-card__footer-end,
.kaias-action-card .kaias-action-card__footer--3 .kaias-action-card__footer-end,
.kaias-modal__footer.kaias-action-card__footer--2 .kaias-action-card__footer-end,
.kaias-modal__footer.kaias-action-card__footer--3 .kaias-action-card__footer-end {
	margin-left: auto;
}
.kaias-action-card .kaias-action-card__footer-start {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.kaias-action-card .kaias-action-card__footer-end {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}
/* 푸터 버튼 한 줄·세로 정렬 통일 (아이콘+텍스트 높이 차이 보정) */
.kaias-action-card .kaias-action-card__footer .btn,
.kaias-modal__footer .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	line-height: 1.25;
}

/* ---------- KAIAS 모달 (Bootstrap .modal) — 헤더 타이틀·푸터는 액션 카드와 동일 패턴 ---------- */
.kaias-modal__header {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
	width: 100%;
	box-sizing: border-box;
}
.kaias-modal__header .close {
	margin-left: auto;
	flex-shrink: 0;
}
.kaias-modal__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-weight: 700;
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
}
.kaias-modal__title > span {
	font-size: 1.25rem;
	line-height: 1.35;
}
.kaias-modal__title .fa {
	opacity: 0.88;
	flex-shrink: 0;
	font-size: 1rem;
	line-height: 1;
	/* FA4 글리프가 텍스트 캡 높이와 어긋나 보일 때 한 줄 정렬 보조 */
	align-self: center;
}
.kaias-modal__footer {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
	box-sizing: border-box;
}
.kaias-modal__footer .kaias-action-card__footer-start,
.kaias-modal__footer .kaias-action-card__footer-end {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.kaias-modal__footer .kaias-action-card__footer-end {
	flex-shrink: 0;
}

/* =============================================================================
   KAIAS 전역: 카드·모달·신청/관리 카드 등의 .btn → 메인 `hover-btn-new`와 동일 계열
   (밝은 배경용: style.css `.message-box a.hover-btn-new` — 주황 베이스 + 진회색 오버레이 호버 시 축소)
   ※ `input` 요소는 의사 요소 제한으로 단색 호버만 적용.
   ※ `.btn-link`는 텍스트 링크용으로 제외.
   ============================================================================= */
.card .btn:not(.btn-link),
.modal .btn:not(.btn-link),
.regist-card .btn:not(.btn-link),
.conf-admin-card .btn:not(.btn-link),
.kaias-action-card .btn:not(.btn-link),
.message-box .btn:not(.btn-link) {
	position: relative;
	z-index: 1;
	overflow: visible;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	background: transparent !important;
	background-image: none !important;
	color: #ffffff !important;
	border: 2px solid #eea412 !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.25;
	min-height: 46px;
	padding: 0 17px !important;
	text-decoration: none;
	vertical-align: middle;
	-webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	-moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	-ms-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	-o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.card .btn:not(.btn-link)::before,
.card .btn:not(.btn-link)::after,
.modal .btn:not(.btn-link)::before,
.modal .btn:not(.btn-link)::after,
.regist-card .btn:not(.btn-link)::before,
.regist-card .btn:not(.btn-link)::after,
.conf-admin-card .btn:not(.btn-link)::before,
.conf-admin-card .btn:not(.btn-link)::after,
.kaias-action-card .btn:not(.btn-link)::before,
.kaias-action-card .btn:not(.btn-link)::after,
.message-box .btn:not(.btn-link)::before,
.message-box .btn:not(.btn-link)::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.card .btn:not(.btn-link)::before,
.modal .btn:not(.btn-link)::before,
.regist-card .btn:not(.btn-link)::before,
.conf-admin-card .btn:not(.btn-link)::before,
.kaias-action-card .btn:not(.btn-link)::before,
.message-box .btn:not(.btn-link)::before {
	background: #eea412;
}

.card .btn:not(.btn-link)::after,
.modal .btn:not(.btn-link)::after,
.regist-card .btn:not(.btn-link)::after,
.conf-admin-card .btn:not(.btn-link)::after,
.kaias-action-card .btn:not(.btn-link)::after,
.message-box .btn:not(.btn-link)::after {
	background: #333333 !important;
}

.card .btn:not(.btn-link) > *,
.modal .btn:not(.btn-link) > *,
.regist-card .btn:not(.btn-link) > *,
.conf-admin-card .btn:not(.btn-link) > *,
.kaias-action-card .btn:not(.btn-link) > *,
.message-box .btn:not(.btn-link) > * {
	position: relative;
	z-index: 2;
}

.card .btn:not(.btn-link):hover,
.card .btn:not(.btn-link):hover > *,
.modal .btn:not(.btn-link):hover,
.modal .btn:not(.btn-link):hover > *,
.regist-card .btn:not(.btn-link):hover,
.regist-card .btn:not(.btn-link):hover > *,
.conf-admin-card .btn:not(.btn-link):hover,
.conf-admin-card .btn:not(.btn-link):hover > *,
.kaias-action-card .btn:not(.btn-link):hover,
.kaias-action-card .btn:not(.btn-link):hover > *,
.message-box .btn:not(.btn-link):hover,
.message-box .btn:not(.btn-link):hover > * {
	color: #333333 !important;
}

.card .btn:not(.btn-link):hover::after,
.modal .btn:not(.btn-link):hover::after,
.regist-card .btn:not(.btn-link):hover::after,
.conf-admin-card .btn:not(.btn-link):hover::after,
.kaias-action-card .btn:not(.btn-link):hover::after,
.message-box .btn:not(.btn-link):hover::after {
	height: 0;
	left: 50%;
	top: 50%;
	width: 0;
}

.card .btn:not(.btn-link):focus,
.modal .btn:not(.btn-link):focus,
.regist-card .btn:not(.btn-link):focus,
.conf-admin-card .btn:not(.btn-link):focus,
.kaias-action-card .btn:not(.btn-link):focus,
.message-box .btn:not(.btn-link):focus {
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(238, 164, 18, 0.45) !important;
}

.card .btn:not(.btn-link):disabled,
.card .btn:not(.btn-link).disabled,
.modal .btn:not(.btn-link):disabled,
.modal .btn:not(.btn-link).disabled,
.regist-card .btn:not(.btn-link):disabled,
.regist-card .btn:not(.btn-link).disabled,
.conf-admin-card .btn:not(.btn-link):disabled,
.conf-admin-card .btn:not(.btn-link).disabled,
.kaias-action-card .btn:not(.btn-link):disabled,
.kaias-action-card .btn:not(.btn-link).disabled,
.message-box .btn:not(.btn-link):disabled,
.message-box .btn:not(.btn-link).disabled {
	opacity: 0.55;
	pointer-events: none;
}

.card .btn.btn-sm:not(.btn-link),
.modal .btn.btn-sm:not(.btn-link),
.regist-card .btn.btn-sm:not(.btn-link),
.conf-admin-card .btn.btn-sm:not(.btn-link),
.kaias-action-card .btn.btn-sm:not(.btn-link),
.message-box .btn.btn-sm:not(.btn-link) {
	min-height: 34px;
	font-size: 12px;
	padding: 0 12px !important;
}

.card .btn.btn-lg:not(.btn-link),
.modal .btn.btn-lg:not(.btn-link),
.regist-card .btn.btn-lg:not(.btn-link),
.conf-admin-card .btn.btn-lg:not(.btn-link),
.kaias-action-card .btn.btn-lg:not(.btn-link),
.message-box .btn.btn-lg:not(.btn-link) {
	min-height: 52px;
	font-size: 15px;
	padding: 0 22px !important;
}

/* 버튼 그룹: 붙어 보이지 않게 간격 */
.card .btn-group > .btn + .btn,
.modal .btn-group > .btn + .btn,
.regist-card .btn-group > .btn + .btn,
.conf-admin-card .btn-group > .btn + .btn,
.kaias-action-card .btn-group > .btn + .btn {
	margin-left: 0.35rem !important;
}

.card .btn-group > .btn,
.modal .btn-group > .btn,
.regist-card .btn-group > .btn,
.conf-admin-card .btn-group > .btn,
.kaias-action-card .btn-group > .btn {
	border-radius: 2px !important;
}

/* input[type=submit|button] — 의사 요소 대신 단색 전환 */
.card input.btn:not(.btn-link),
.modal input.btn:not(.btn-link),
.regist-card input.btn:not(.btn-link),
.conf-admin-card input.btn:not(.btn-link),
.kaias-action-card input.btn:not(.btn-link),
.message-box input.btn:not(.btn-link) {
	position: relative;
	z-index: auto;
	display: inline-block;
	min-height: 46px;
	line-height: 46px;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background: #333333 !important;
	color: #ffffff !important;
	border: 2px solid #eea412 !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 14px;
	-webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.card input.btn:not(.btn-link)::before,
.card input.btn:not(.btn-link)::after,
.modal input.btn:not(.btn-link)::before,
.modal input.btn:not(.btn-link)::after,
.regist-card input.btn:not(.btn-link)::before,
.regist-card input.btn:not(.btn-link)::after,
.conf-admin-card input.btn:not(.btn-link)::before,
.conf-admin-card input.btn:not(.btn-link)::after,
.kaias-action-card input.btn:not(.btn-link)::before,
.kaias-action-card input.btn:not(.btn-link)::after,
.message-box input.btn:not(.btn-link)::before,
.message-box input.btn:not(.btn-link)::after {
	content: none !important;
	display: none !important;
}

.card input.btn:not(.btn-link):hover,
.modal input.btn:not(.btn-link):hover,
.regist-card input.btn:not(.btn-link):hover,
.conf-admin-card input.btn:not(.btn-link):hover,
.kaias-action-card input.btn:not(.btn-link):hover,
.message-box input.btn:not(.btn-link):hover {
	background: #eea412 !important;
	color: #333333 !important;
	border-color: #eea412 !important;
}

/* 관리자 전용 등록 화면(_regist/common.php `is_regist_admin`): KAIAS 카드 버튼 커스텀 해제 → Bootstrap 4 기본 .btn */
.kaias-regist-admin-only .conf-admin-card .btn:not(.btn-link),
.kaias-regist-admin-only .modal .btn:not(.btn-link),
.kaias-regist-admin-only .conf-admin-card input.btn:not(.btn-link),
.kaias-regist-admin-only .modal input.btn:not(.btn-link) {
	position: relative;
	z-index: auto;
	overflow: visible;
	display: inline-block;
	align-items: unset;
	justify-content: unset;
	gap: unset;
	background-image: none !important;
	text-transform: none;
	font-weight: 400;
	line-height: 1.5;
	vertical-align: middle;
	min-height: 0;
	padding: 0.375rem 0.75rem !important;
	border-radius: 0.25rem !important;
	box-shadow: none !important;
	-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
		box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
		box-shadow 0.15s ease-in-out;
}

.kaias-regist-admin-only .conf-admin-card .btn:not(.btn-link)::before,
.kaias-regist-admin-only .conf-admin-card .btn:not(.btn-link)::after,
.kaias-regist-admin-only .modal .btn:not(.btn-link)::before,
.kaias-regist-admin-only .modal .btn:not(.btn-link)::after,
.kaias-regist-admin-only .conf-admin-card input.btn:not(.btn-link)::before,
.kaias-regist-admin-only .conf-admin-card input.btn:not(.btn-link)::after,
.kaias-regist-admin-only .modal input.btn:not(.btn-link)::before,
.kaias-regist-admin-only .modal input.btn:not(.btn-link)::after {
	content: none !important;
	display: none !important;
}

.kaias-regist-admin-only .conf-admin-card .btn:not(.btn-link) > *,
.kaias-regist-admin-only .modal .btn:not(.btn-link) > * {
	position: static;
	z-index: auto;
}

.kaias-regist-admin-only .conf-admin-card .btn.btn-sm,
.kaias-regist-admin-only .modal .btn.btn-sm {
	padding: 0.25rem 0.5rem !important;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: 0.2rem !important;
	min-height: 0;
}

.kaias-regist-admin-only .conf-admin-card .btn-primary,
.kaias-regist-admin-only .modal .btn-primary,
.kaias-regist-admin-only .conf-admin-card input.btn-primary,
.kaias-regist-admin-only .modal input.btn-primary {
	color: #fff !important;
	background-color: #007bff !important;
	border-color: #007bff !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-primary:hover,
.kaias-regist-admin-only .modal .btn-primary:hover,
.kaias-regist-admin-only .conf-admin-card input.btn-primary:hover,
.kaias-regist-admin-only .modal input.btn-primary:hover {
	color: #fff !important;
	background-color: #0069d9 !important;
	border-color: #0062cc !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-secondary,
.kaias-regist-admin-only .modal .btn-secondary,
.kaias-regist-admin-only .conf-admin-card input.btn-secondary,
.kaias-regist-admin-only .modal input.btn-secondary {
	color: #fff !important;
	background-color: #6c757d !important;
	border-color: #6c757d !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-secondary:hover,
.kaias-regist-admin-only .modal .btn-secondary:hover,
.kaias-regist-admin-only .conf-admin-card input.btn-secondary:hover,
.kaias-regist-admin-only .modal input.btn-secondary:hover {
	color: #fff !important;
	background-color: #5a6268 !important;
	border-color: #545b62 !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-danger,
.kaias-regist-admin-only .modal .btn-danger {
	color: #fff !important;
	background-color: #dc3545 !important;
	border-color: #dc3545 !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-danger:hover,
.kaias-regist-admin-only .modal .btn-danger:hover {
	color: #fff !important;
	background-color: #c82333 !important;
	border-color: #bd2130 !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-outline-primary,
.kaias-regist-admin-only .modal .btn-outline-primary {
	color: #007bff !important;
	background-color: transparent !important;
	border-color: #007bff !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-outline-primary:hover,
.kaias-regist-admin-only .modal .btn-outline-primary:hover {
	color: #fff !important;
	background-color: #007bff !important;
	border-color: #007bff !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-outline-secondary,
.kaias-regist-admin-only .modal .btn-outline-secondary {
	color: #6c757d !important;
	background-color: transparent !important;
	border-color: #6c757d !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-outline-secondary:hover,
.kaias-regist-admin-only .modal .btn-outline-secondary:hover {
	color: #fff !important;
	background-color: #6c757d !important;
	border-color: #6c757d !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-outline-danger,
.kaias-regist-admin-only .modal .btn-outline-danger {
	color: #dc3545 !important;
	background-color: transparent !important;
	border-color: #dc3545 !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-outline-danger:hover,
.kaias-regist-admin-only .modal .btn-outline-danger:hover {
	color: #fff !important;
	background-color: #dc3545 !important;
	border-color: #dc3545 !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-outline-success,
.kaias-regist-admin-only .modal .btn-outline-success,
.kaias-regist-admin-only .survey-card .btn-outline-success {
	color: #28a745 !important;
	background-color: transparent !important;
	border-color: #28a745 !important;
}
.kaias-regist-admin-only .conf-admin-card .btn-outline-success:hover,
.kaias-regist-admin-only .modal .btn-outline-success:hover,
.kaias-regist-admin-only .survey-card .btn-outline-success:hover,
.kaias-regist-admin-only .conf-admin-card .btn-outline-success:focus,
.kaias-regist-admin-only .modal .btn-outline-success:focus,
.kaias-regist-admin-only .survey-card .btn-outline-success:focus {
	color: #fff !important;
	background-color: #28a745 !important;
	border-color: #28a745 !important;
}

.kaias-regist-admin-only .conf-admin-card .btn:not(.btn-link):focus,
.kaias-regist-admin-only .modal .btn:not(.btn-link):focus,
.kaias-regist-admin-only .conf-admin-card input.btn:not(.btn-link):focus,
.kaias-regist-admin-only .modal input.btn:not(.btn-link):focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

.kaias-regist-admin-only .conf-admin-card .btn-group > .btn,
.kaias-regist-admin-only .modal .btn-group > .btn {
	border-radius: 0.25rem !important;
}

/* KAIAS 관리 목록 카드: 카드 헤더와 테이블 사이 여백 없음 (kaias-list-pagination.mdc) */
.conf-admin-card.conf-admin-card--list > .card-header,
.mm-wrap .mm-list-card > .card-header {
	margin-bottom: 0;
}
.conf-admin-card.conf-admin-card--list > .card-body,
.conf-admin-card.conf-admin-card--list > .card-body.table-responsive,
.mm-wrap .mm-list-card > .card-body,
.mm-wrap .mm-list-card > .card-body.table-responsive {
	padding: 0 !important;
	margin: 0;
}
.conf-admin-card.conf-admin-card--list > .card-body > .table-responsive,
.mm-wrap .mm-list-card > .card-body > .table-responsive {
	margin: 0;
	padding: 0;
}
.conf-admin-card.conf-admin-card--list .table,
.conf-admin-card.conf-admin-card--list .conf-admin-table,
.conf-admin-card.conf-admin-card--list .univ-admin-table,
.mm-wrap .mm-list-card .table,
.mm-wrap .mm-list-card .mm-member-table {
	margin-top: 0;
	margin-bottom: 0;
}

/* 회원대학 관리 목록: 로고 열 50px 고정 (_univ/index.php col.univ-col-logo) */
.conf-admin-card.conf-admin-card--list .univ-admin-table,
.univ-admin-table {
	table-layout: fixed;
	width: 100%;
}
.conf-admin-card.conf-admin-card--list .univ-admin-table col.univ-col-logo,
.univ-admin-table col.univ-col-logo,
.univ-admin-table col:nth-child(2) {
	width: 50px;
}
.conf-admin-card.conf-admin-card--list .univ-admin-table thead th:nth-child(2),
.conf-admin-card.conf-admin-card--list .univ-admin-table .univ-list-logo-col,
.conf-admin-card.conf-admin-card--list .univ-admin-table .univ-list-logo-cell,
.univ-admin-table thead th:nth-child(2),
.univ-admin-table .univ-list-logo-col,
.univ-admin-table .univ-list-logo-cell {
	width: 50px !important;
	min-width: 50px;
	max-width: 50px;
	padding: 2px !important;
	text-align: center;
	vertical-align: middle;
	overflow: hidden;
	box-sizing: border-box;
	white-space: normal;
}
.conf-admin-card.conf-admin-card--list .univ-admin-table .univ-list-logo-img,
.univ-admin-table .univ-list-logo-img {
	width: 40px;
	height: 40px;
	max-width: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e2e8f0;
}

/* --------------------------------------------------------------------------
   이벤트 목록(_event/event_list.php) · 총회 공개 목록(_regist/common.php) 공통 카드
   -------------------------------------------------------------------------- */
.al-attend-list-hero {
	box-sizing: border-box;
	width: 100%;
	min-height: 190px;
	background-color: #3d3d3d;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
.al-attend-list-row > [class*="col-"] {
	margin-bottom: 1.5rem;
}
/* 관리자 접수자 목록: 상단 총회 카드 한 줄 — 목록용 col 하단 여백 제거 */
.kaias-conf-attendees-summary .al-attend-list-row > [class*="col-"] {
	margin-bottom: 0;
}
/* 신청 상단: 총회 카드 1건 + 바로 아래 참가 신청 카드 — 열 하단·래퍼 마진 최소화 */
#kaias-conf-apply-view.kaias-conf-apply-tight {
	margin-bottom: 0.35rem;
}
#kaias-conf-apply-view.kaias-conf-apply-tight .al-attend-list-row > [class*="col-"] {
	margin-bottom: 0;
}
#kaias-conf-apply-view.kaias-conf-apply-tight + .regist-card,
#kaias-conf-apply-view.kaias-conf-apply-tight + .alert {
	margin-top: 0;
}
.al-attend-list-row .al-event-list-card {
	margin-bottom: 0;
}
.al-event-list-card {
	transition: box-shadow 0.15s ease;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.al-event-list-card:hover {
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
}
a.al-event-list-card-link {
	color: inherit;
	cursor: pointer;
}
a.al-event-list-card-link:hover,
a.al-event-list-card-link:focus {
	color: inherit;
	text-decoration: none;
}
/* 링크 카드 안의 span.btn는 클릭이 상위 <a>로 전달되도록 */
a.al-event-list-card-link .al-card-header-pill {
	pointer-events: none;
}

/* 총회 공개 목록: 헤더 없음 — 본문 맨 위 한 줄(아이콘+제목+배지), 푸터 없음 — 접수 버튼 오버레이 */
/* 카드 외곽선·그림자 없음; 제목 행 아래 가로 구분선 1줄(본문 열 구역과 구분) */

/* 총회 공개 목록 카드: div 래퍼 + 풀영역 링크(중첩 a 방지) */
.al-conf-public-list-card-wrap.al-conf-public-list-card.card.al-event-list-card {
	border: none !important;
	box-shadow: none;
	background-color: #ffffff;
}
.al-conf-public-list-card-wrap.al-conf-public-list-card.card.al-event-list-card:hover {
	box-shadow: none;
}
.al-conf-public-list-card-wrap .al-conf-public-card-stretched {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: transparent;
}
.al-conf-public-list-card-wrap .al-conf-public-card-body {
	position: relative;
	z-index: 3;
	pointer-events: none;
}
.al-conf-public-list-card-wrap .al-conf-apply-overlay-actions {
	pointer-events: auto;
}
/* 신청 페이지 상단: 정적 카드 — 우하단「취소」(본문 대비 약 1.5배 크기) + 본문 여백 */
.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-event-card.al-event-card--conf-overlay .al-content-col {
	padding-bottom: 3.25rem;
}
/* 정적 상단 카드: 취소 — 접수 오버레이와 동일 기준(카드 내부 absolute)으로 본문 위에 겹침 */
.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-event-card.al-event-card--conf-overlay .al-conf-public-card-listnav--static-overlay {
	position: absolute;
	right: 0.65rem;
	bottom: 0.65rem;
	z-index: 5;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	pointer-events: auto;
}
.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-conf-public-card-listnav-btn--cancel-only.btn-sm,
.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-conf-public-card-listnav-btn--admin-back.btn-sm {
	font-size: 1.21875rem !important;
	line-height: 1.35 !important;
	padding: 0.3rem 0.675rem !important;
	min-height: 0 !important;
	min-width: 0 !important;
	max-width: max-content;
	width: auto !important;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
}
.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-conf-public-card-listnav-btn--cancel-only.btn-sm .fa,
.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-conf-public-card-listnav-btn--admin-back.btn-sm .fa {
	font-size: 1.3125rem !important;
	line-height: 1;
}
@media (max-width: 575.98px) {
	.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-event-card.al-event-card--conf-overlay .al-conf-public-card-listnav--static-overlay {
		flex-wrap: wrap;
	}
}
.al-event-card.al-event-card--conf-overlay {
	position: relative;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: stretch;
}
.al-event-card.al-event-card--conf-overlay .al-conf-public-title-row {
	flex: 1 1 100%;
	width: 100%;
	box-sizing: border-box;
	padding: 0.95rem 1.25rem;
	background: #ffffff;
	border-bottom: 1px solid #dee2e6;
}
.al-event-card.al-event-card--conf-overlay .al-conf-public-title-line {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
	min-width: 0;
	width: 100%;
	font-size: 1.43rem; /* 기준 1.1rem × 1.3 */
	line-height: 1.35;
}
.al-event-card.al-event-card--conf-overlay .al-conf-public-title-line > .fa {
	flex-shrink: 0;
	font-size: 1.3rem;
	line-height: 1;
}
@media (max-width: 991.98px) {
	.al-event-card.al-event-card--conf-overlay .al-thumb-col,
	.al-event-card.al-event-card--conf-overlay .al-info-col {
		border-bottom: none !important;
	}
}
.al-event-card.al-event-card--conf-overlay .al-conf-public-title-text {
	flex: 1 1 auto;
	min-width: 0;
}
.al-event-card.al-event-card--conf-overlay .al-content-col {
	padding-bottom: 4.25rem;
	box-sizing: border-box;
}
/* 접수 버튼 + QR(버튼과 동일 높이 51px) — 우하단 묶음 */
.al-event-card.al-event-card--conf-overlay .al-conf-apply-overlay-actions {
	position: absolute;
	right: 0.65rem;
	bottom: 0.65rem;
	z-index: 5;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
}
.al-event-card.al-event-card--conf-overlay .al-conf-apply-overlay-qr {
	width: 51px;
	height: 51px;
	object-fit: contain;
	flex-shrink: 0;
	display: block;
	background: #fff;
	border-radius: 4px;
	box-sizing: border-box;
	pointer-events: none;
}
/* 세로 1.5배(글자·최소 높이·패딩), 가로 폭 약 2배(min-width + 좌우 패딩) */
.al-conf-public-list-card-wrap.al-conf-public-list-card.card.al-event-list-card .al-event-card--conf-overlay .al-conf-apply-overlay-actions .al-conf-apply-overlay-btn.btn-sm {
	min-height: 51px !important;
	font-size: 18px !important;
	line-height: 1.25 !important;
	padding: 0.5rem 1.5rem !important;
	min-width: 200px !important;
	box-sizing: border-box;
	width: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
@media (max-width: 575.98px) {
	.al-conf-public-list-card-wrap.al-conf-public-list-card.card.al-event-list-card .al-event-card--conf-overlay .al-conf-apply-overlay-actions .al-conf-apply-overlay-btn.btn-sm {
		min-width: min(200px, calc(100% - 1.5rem)) !important;
	}
}

/* 총회 공개 카드: 모바일·태블릿(≤991) — 썸네일 / 메타 / 안내 세 구역을 세로로 각각 표시(고정 높이·클립 해제) */
@media (max-width: 991.98px) {
	.al-conf-public-list-card-wrap .al-event-card.al-event-card--conf-overlay {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		min-height: 0;
	}
	.al-conf-public-list-card-wrap .al-event-card.al-event-card--conf-overlay .al-conf-public-title-row {
		flex: 0 0 auto;
		width: 100%;
	}
	.al-conf-public-list-card-wrap .al-event-card.al-event-card--conf-overlay .al-thumb-col {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		align-self: stretch;
		height: 200px;
		min-height: 168px;
		border-right: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
	}
	.al-conf-public-list-card-wrap .al-event-card.al-event-card--conf-overlay .al-info-col {
		flex: 0 0 auto;
		width: 100%;
		min-height: 0;
		height: auto;
		border-right: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
	}
	.al-conf-public-list-card-wrap .al-event-card.al-event-card--conf-overlay .al-content-col {
		flex: 1 1 auto;
		width: 100%;
		min-height: 0;
		height: auto;
		overflow: visible;
		border-right: 0;
		padding-bottom: 4.5rem;
	}
	.al-conf-public-list-card-wrap.al-conf-public-list-card--static .al-event-card.al-event-card--conf-overlay .al-content-col {
		padding-bottom: 3.5rem;
	}
	.al-conf-public-list-card-wrap.al-conf-public-list-card.card.al-event-list-card .al-event-card--conf-overlay .al-event-description,
	.al-conf-public-list-card-wrap.al-conf-public-list-card.card.al-event-list-card .al-event-card--conf-overlay .al-event-description.is-empty {
		max-height: none;
		overflow: visible;
	}
}

.al-event-list-card .card-header {
	gap: 0.5rem;
}
.al-event-list-card .card-header .al-card-header-title {
	font-size: 1.1rem;
	line-height: 1.35;
	min-width: 0;
	display: flex;
	align-items: center;
}
.al-event-list-card .card-header .al-card-header-title > .fa {
	flex-shrink: 0;
}
.al-event-list-card .card-header .al-card-header-title > span {
	min-width: 0;
}
.al-event-card {
	--al-thumb-h: 220px;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex: 1 1 auto;
	min-height: var(--al-thumb-h);
	background: #ffffff;
}
.al-event-card .al-thumb-col {
	position: relative;
	flex: 0 0 260px;
	width: 260px;
	box-sizing: border-box;
	background: #f4f5f7;
	display: block;
	align-self: flex-start;
	height: var(--al-thumb-h);
	border-right: 1px solid rgba(0, 0, 0, 0.08);
	overflow: hidden;
}
/* contain → cover: 칸을 채우며 잘림 허용(여백 최소) */
.al-event-card .al-thumb-col img,
.al-event-card .al-thumb-col .al-thumb-col__img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	margin: 0;
	max-width: none;
	max-height: none;
}
.al-event-card .al-info-col {
	flex: 0 0 34%;
	padding: 0.85rem 1rem;
	background: #ffffff;
	border-right: 1px solid rgba(0, 0, 0, 0.08);
	align-self: stretch;
	min-height: var(--al-thumb-h);
}
.al-event-card .al-content-col {
	flex: 1 1 auto;
	padding: 0.85rem 1rem;
	background: #ffffff;
	height: var(--al-thumb-h);
	overflow: hidden;
	align-self: stretch;
}
.al-event-card .al-col-title {
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #4b5864;
	margin-bottom: 0.6rem;
	text-transform: uppercase;
}
@media (min-width: 768px) {
	.al-event-card {
		--al-thumb-h: 248px;
	}
	.al-event-card .al-thumb-col {
		flex-basis: 300px;
		width: 300px;
	}
}
@media (max-width: 991.98px) {
	.al-event-card {
		flex-direction: column;
	}
	.al-event-card .al-thumb-col,
	.al-event-card .al-info-col,
	.al-event-card .al-content-col {
		flex: 1 1 auto;
		width: 100%;
		border-right: 0;
	}
	.al-event-card .al-thumb-col {
		align-self: stretch;
		height: var(--al-thumb-h);
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
	.al-event-card .al-info-col {
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
}
.al-event-list-card.al-event-past {
	opacity: 0.88;
}
.al-event-list-card.al-event-past .al-thumb-col img,
.al-event-list-card.al-event-past .al-thumb-col .al-thumb-col__img {
	filter: grayscale(35%);
}
.al-event-list-card .card-body {
	min-width: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #343a40;
}
.al-event-list-card .al-meta-list {
	font-size: 1rem;
}
.al-event-list-card .al-meta-list li {
	margin-bottom: 0.45rem;
}
.al-event-list-card .al-meta-list li:last-child {
	margin-bottom: 0;
}
.al-event-list-card .al-apply-period .al-apply-start,
.al-event-list-card .al-apply-period .al-apply-end {
	display: block;
	font-weight: 500;
	color: #212529;
	margin-top: 0.2rem;
}
.al-event-list-card .al-apply-period .al-apply-start {
	margin-top: 0.35rem;
}
.al-event-list-card .al-event-description {
	margin: 0;
	color: #2f3a44;
	line-height: 1.65;
	overflow: hidden;
	max-height: calc(var(--al-thumb-h) - 3.2rem);
}
.al-event-list-card .al-event-description > :first-child {
	margin-top: 0;
}
.al-event-list-card .al-event-description > :last-child {
	margin-bottom: 0;
}
.al-event-list-card .al-event-description.is-empty {
	color: #8a98a6;
}

/* 회원 로그인 모달: 폭·타이틀 (기본·modal-lg 대비 약 30% 축소 / 타이틀 약 30% 확대) */
#login .modal-dialog {
	max-width: min(350px, 92vw); /* Bootstrap 기본 500px × 70% */
}
@media (min-width: 992px) {
	#login .modal-dialog.modal-lg {
		max-width: min(560px, 92vw); /* modal-lg 800px × 70% */
	}
}
#login .modal-header .modal-title {
	font-size: 130%;
	line-height: 1.25;
}

/* 회원 로그인 모달: 푸터 좌(로그인/가입) · 우(회원가입·비밀번호·취소) */
#login .kaias-login-modal-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
}
#login .kaias-login-modal-footer-left,
#login .kaias-login-modal-footer-right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}
#login .kaias-login-modal-footer-right {
	margin-left: auto;
	justify-content: flex-end;
}
#login .kaias-login-modal-body .tab-content {
	padding-top: 0;
}

/* 회원 로그인 모달: 아이디·패스워드 레이블 */
#login .kaias-login-field {
	margin-bottom: 1.5rem;
}
#login .kaias-login-field:last-child {
	margin-bottom: 0;
}
#login .kaias-login-field-label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #2d3032;
	line-height: 1.3;
}
#login .kaias-login-field .form-control {
	margin-bottom: 0;
}

/* 상단 네비 회원 버튼 아이콘 */
.navbar-right li a.hover-btn-new.log span .fa {
	position: relative;
	z-index: 2;
}

/* 상단 네비 우측(언어·회원) 세로 가운데 정렬 */
.top-navbar .navbar-expand-lg .navbar-collapse {
	align-items: center;
}
.top-navbar .navbar-nav.navbar-right {
	align-items: center;
}
.top-navbar .navbar-right > li {
	display: flex;
	align-items: center;
}
.top-navbar .navbar-right li a.hover-btn-new.log {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.35;
	padding: 8px 16px;
	margin: 0;
	vertical-align: middle;
}
.top-navbar .navbar-right li a.hover-btn-new.log span {
	display: inline-flex;
	align-items: center;
	line-height: 1.35;
}
.top-navbar .navbar-right li a.hover-btn-new.log span .fa {
	vertical-align: middle;
}

/* 상단 네비: 흰 배경 + 어두운 메뉴 텍스트 (style.css #4c5a7d 덮어씀) */
.top-navbar .bg-light {
	background: #ffffff !important;
	border-bottom: 1px solid #e8ecf0;
}
.top-navbar .navbar-light .navbar-nav .nav-link {
	color: #333333;
}
.top-navbar .navbar-light .navbar-nav .nav-item::after,
.top-navbar .navbar-light .navbar-nav .nav-item .nav-link::before,
.top-navbar .navbar-light .navbar-nav .nav-item .nav-link::after {
	background-color: #4c5a7d;
}
.top-navbar .navbar-light .navbar-nav .nav-item.active .nav-link,
.top-navbar .navbar-light .navbar-nav .nav-item .nav-link:hover {
	color: #eea412;
}
.top-navbar .navbar-light .navbar-nav li .dropdown-menu .dropdown-item {
	color: #333333;
}
.top-navbar .navbar-toggler {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
}
.top-navbar .navbar-toggler .icon-bar {
	background: #333333;
}
.top-navbar .navbar-toggler:hover {
	background: #eea412;
	border-color: #eea412;
}
.top-navbar .navbar-toggler:hover .icon-bar {
	background: #ffffff;
}

/* 상단 네비 언어 선택 드롭다운 (style.css hover·pointer-events 충돌 보정) */
.top-navbar .kaias-lang-dropdown > .dropdown-toggle:active {
	pointer-events: auto;
}
.top-navbar .kaias-lang-dropdown:hover > .dropdown-menu {
	display: none;
}
.top-navbar .kaias-lang-dropdown.show > .dropdown-menu {
	display: block !important;
}
.top-navbar .kaias-lang-dropdown .dropdown-menu {
	z-index: 1051;
	margin-top: 0;
	pointer-events: auto;
}
.top-navbar .kaias-lang-dropdown .dropdown-menu .dropdown-item {
	pointer-events: auto;
}
.top-navbar .navbar-right .kaias-lang-dropdown .nav-link.dropdown-toggle {
	color: #333333;
	font-size: 16px;
	font-weight: 500;
	padding: 6px 12px;
	white-space: nowrap;
}
.top-navbar .navbar-right .kaias-lang-dropdown .nav-link.dropdown-toggle:hover,
.top-navbar .navbar-right .kaias-lang-dropdown.show .nav-link.dropdown-toggle {
	color: #eea412;
}
.top-navbar .navbar-right .kaias-lang-dropdown .nav-link.dropdown-toggle .fa-globe {
	font-size: 1.05em;
	vertical-align: middle;
}
.top-navbar .kaias-lang-dropdown .dropdown-menu .dropdown-item {
	cursor: pointer;
}
.top-navbar .kaias-lang-dropdown .dropdown-menu .dropdown-item.active,
.top-navbar .kaias-lang-dropdown .dropdown-menu .dropdown-item:active {
	background-color: #eea412;
	color: #ffffff;
}