@charset "utf-8";

/* ========================================
   메인 전용 공통 레이아웃 (배너+공지, 후원사)
   ======================================== */

/* 공지사항 섹션 */
.notice-combo {
    padding: 80px 0;
}

.notice-combo__inner {
    max-width: calc(var(--layout-max-width) + (var(--layout-screen-margin) * 2));
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--layout-screen-margin);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(320px, 384px) minmax(600px, 1fr);
    gap: var(--gap-8, 32px);
}

/* 좌측 소개 영역 */
.notice-intro {
    position: relative;
    padding-top: var(--padding-4, 20px);
    background-image: url(../img/main_notice.png);
    background-position: calc(100% - 35px) 100%;
    background-size: 200px 200px;
    background-repeat: no-repeat;
}

.notice-intro__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.3;
    margin-bottom: var(--gap-2, 8px);
    margin-top: 0;
}

.notice-intro__desc {
    
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: var(--gap-4, 16px);
    margin-top: 0;
}


/* 우측 리스트 영역 */
.notice-list {
    background: var(--color-white);
    border-top: 1px solid var(--color-gray-600);
    border-bottom: 1px solid var(--color-gray-600);
}

.notice-list__items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.notice-list__item {
    border-bottom: 1px solid var(--color-border);
}

.notice-list__item:last-child {
    border-bottom: none;
}

.notice-list__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-4, 16px);
    padding: var(--padding-5, 24px) var(--padding-2, 12px);
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.notice-list__link:hover {
    background: var(--color-bg-alt);
}

.notice-list__link:hover .notice-list__subject {
    color: var(--color-primary);
}

.notice-list__link:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.notice-list__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--gap-2, 8px);
}

.notice-list__subject {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-text);
    margin: 0;
    white-space: normal;
}

.notice-list__content {
    
    color: var(--color-text-secondary);
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0;
}

.notice-list__date-wrap {
    display: flex;
    align-items: center;
    align-self: center;
    gap: var(--gap-1, 4px);
    flex-shrink: 0;
}

.notice-list__date-icon {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
}

.notice-list__date {
    
    color: var(--color-text-secondary);
    white-space: nowrap;
}

.notice-list__item--empty {
    text-align: center;
    padding: 32px 0;
    border-bottom: none;
}

.notice-list__empty {
    font-size: 0.9375rem;
    color: var(--color-text-secondary);
}

/* 행사 섹션 */
.main-event {
    padding: 80px var(--layout-screen-margin);
    background: var(--color-bg-alt);
    margin-top: 80px; 
}

.main-event__section-title-wrap {
    max-width: var(--layout-max-width);
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--layout-screen-margin);
    box-sizing: border-box;
    margin-bottom: var(--gap-5, 18px);
}

.main-event__section-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.3;
    margin: 0;
}

.main-event__inner {
    max-width: var(--layout-max-width);
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: center;
    background: var(--color-white);
    border-radius: 25px;
    height: 338px;
    border: 1px solid var(--color-border)
}

.main-event__info {
    padding: 40px 24px 40px 40px;
}

.main-event__tag {

}

.main-event__title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.4;
    margin-bottom: var(--gap-3, 12px);

}

.main-event__desc {
    color: var(--color-text-secondary);
    line-height: 1.6;
    white-space: pre-line;
    margin-bottom: var(--gap-8, 32px);
}

.main-event__image {
    padding: 40px 40px 40px 24px;
    height: 340px;
    border-radius: 0 25px 25px 0;
    overflow: hidden;
    box-sizing: border-box;
}

.main-event__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left top;
    display: block;
    border-radius: 10px;
}

/* 후원사 타이틀 + 그리드 */
.sponsor-grid {
    padding: 90px 0 110px;
    background: var(--color-bg-alt);
}

.sponsor-grid__inner {
    max-width: calc(var(--layout-max-width) + (var(--layout-screen-margin) * 2));
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--layout-screen-margin);
    box-sizing: border-box;
    text-align: center;
}

.sponsor-grid__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: var(--gap-3, 12px);
}

.sponsor-grid__desc {
    color: var(--color-text-secondary);
    margin-bottom: var(--gap-8, 32px);
}

.sponsor-grid__list {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: var(--gap-7, 24px);
}

.sponsor-grid__item {
    position: relative;
    width: 100%;
    padding-top: 30%;
}

.sponsor-card {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sponsor-card__placeholder {
    font-size: 0.9375rem;
    color: rgba(30, 42, 61, 0.38);
}

/* 반응형 */
@media (max-width: 1024px) {
    .notice-combo {
        padding: 60px 0;
    }

    .notice-combo__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .notice-intro {
        background-position: calc(100% - 25px) 100%;
        background-size: 160px 160px;
    }

    .notice-intro__title {
        font-size: 1.625rem;
    }

    .notice-intro__desc {
        font-size: 0.875rem;
    }

  
    .notice-list__subject {
        white-space: normal;
    }

    .main-event {
        padding: 60px 0;
        margin-top: 60px;
    }

    .main-event__title {
        font-size: 1.625rem;
    }

    .sponsor-grid__title {
        font-size: 1.625rem;
    }

    .sponsor-grid__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 768px) {
    .notice-combo {
        padding: 50px 0;
    }

    .notice-intro {
        gap: var(--gap-4, 16px);
        background-position: calc(100% - 20px) 100%;
        background-size: 120px 120px;
    }

    .notice-intro__title {
        font-size: 1.5rem;
    }

    .notice-intro__desc {
        font-size: 0.875rem;
    }

    .notice-list__link {
        padding: var(--padding-4, 20px) var(--padding-2, 12px);
    }

    .notice-list__subject {
        font-size: 1.125rem;
    }

    .notice-list__content {
        font-size: 0.9375rem;
    }

    .notice-list__date {
        font-size: 0.9375rem;
    }

    .notice-list__date-icon {
        font-size: 0.8125rem;
    }

    .sponsor-grid {
        padding: 70px 0 80px;
    }

    .sponsor-grid__desc {
        font-size: 0.875rem;
    }

    .main-event {
        padding: 50px var(--layout-screen-margin);
        margin-top: 50px;
    }

    .main-event__section-title-wrap {
        margin-bottom: var(--gap-4, 16px);
    }

    .main-event__section-title {
        font-size: 1.625rem;
    }

    .main-event__inner {
        grid-template-columns: 1fr;
        gap: 0;
        height: auto;
    }

    .main-event__info {
        padding: var(--padding-5, 24px);
    }

    .main-event__image {
        padding: var(--padding-5, 24px);
        height: auto;
        min-height: 200px;
        border-radius: 0 0 25px 25px;
    }

    .main-event__image img {
        border-radius: 10px;
        object-position: left top;
    }

    .main-event__title {
        font-size: 1.625rem;
        margin-bottom: var(--gap-3, 12px);
    }

    .main-event__desc {
        font-size: 0.875rem;
        margin-bottom: var(--gap-3, 12px);
    }

    .sponsor-grid__title {
        font-size: 1.5rem;
    }

    .sponsor-grid__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .sponsor-grid__item {
        padding-top: 40%;
    }
}

@media (max-width: 360px) {
    .notice-list__link {
        flex-direction: column;
        align-items: flex-start;
    }

    .notice-list__text {
        width: 100%;
    }

    .notice-list__date-wrap {
        align-self: flex-start;
        margin-top: 8px;
    }

    .notice-intro {
        background-image: none;
    }
    .notice-intro__title {
        font-size: 1.375rem;
    }

    .main-event__section-title-wrap {
        margin-bottom: var(--gap-4, 16px);
    }

    .main-event__section-title {
        font-size: 1.375rem;
    }

    .main-event__title {
        margin-bottom: var(--gap-3, 12px);
    }

    .main-event__desc {
        margin-bottom: var(--gap-3, 12px);
    }

    .main-event__tag {
        padding: var(--padding-2, 12px) var(--padding-5, 24px);
        font-size: 0.875rem;
    }

    .main-event__btn {
        font-size: 0.875rem;
    }

    .sponsor-grid__title {
        font-size: 1.375rem;
    }

    .main-event__section-title-wrap {
        margin-bottom: var(--gap-4, 16px);
    }

    .main-event__section-title {
        font-size: 1.5rem;
    }

    .main-event__title {
        font-size: 1.375rem;
        margin-bottom: var(--gap-3, 12px);
    }

    .main-event__desc {
        margin-bottom: var(--gap-3, 12px);
    }

    .quick-card__title {
        
    }
}

/* Quick Menu Section */
.quick-menu { 
    position: relative;
    margin-top: -80px;
    z-index: 20;
    padding: 0;
}
.quick-menu__inner {
	max-width: calc(var(--layout-max-width) + (var(--layout-screen-margin) * 2));
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--layout-screen-margin);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(4, minmax(240px, 282px));
	column-gap: 24px;
	row-gap: var(--section-row-gap, 24px);
}
.quick-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: var(--color-text);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 25px;
	padding: 60px 40px;
	box-shadow: 0 0 0 rgba(0,0,0,0);
	transition: box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}
.quick-card:hover { 
	background: var(--color-bg-alt);
	box-shadow: 0 10px 24px rgba(13, 18, 68, 0.12);
	transform: translateY(-2px);
}
.quick-card__icon { 
	width: 100px; 
	height: 100px; 
	object-fit: contain; 
	display: block; 
	margin-bottom: 18px; 
}
.quick-card__icon--placeholder {
	background: linear-gradient(135deg, var(--color-primary-light, #E8E9F0), var(--color-accent, #6C7AE0));
	background-size: cover;
}
.quick-card__title { 
	font-size: 1.25rem;
	font-weight: 600; 
	line-height: 1.3; 
	margin: 6px 0 8px; 
	color: var(--color-text); 
}
.quick-card__desc { 
	font-weight: 400; 
	line-height: 1.6; 
	color: var(--color-text-secondary); 
}

@media (max-width: 1024px) {
	.quick-menu { 
		margin-top: -60px; 
	}
	.quick-menu__inner { 
		grid-template-columns: repeat(2, 1fr); 
		max-width: 100%;
	}
	.quick-card { 
		flex-direction: column; 
		align-items: center; 
		text-align: center; 
		padding: 50px 32px;
	}
	.quick-card__icon { 
		width: 90px; 
		height: 90px; 
		margin-bottom: 12px; 
	}
	.quick-card__title { 
		font-size: 1.25rem;
		margin: 4px 0 6px; 
	}
	.quick-card__desc { 
		font-size: 0.875rem;
		line-height: 1.5; 
	}
}
@media (max-width: 768px) {
	.quick-menu { 
		margin-top: -40px; 
	}
	.quick-menu__inner { 
		grid-template-columns: 1fr; 
	}
	.quick-card { 
		width: 100%; 
		margin: 0; 
		flex-direction: row; 
		align-items: center; 
		text-align: left; 
		gap: 16px; 
		padding: 40px 24px;
	}
	.quick-card__text { 
		display: flex; 
		flex-direction: column; 
		align-items: flex-start; 
	}
	.quick-card__icon { 
		width: 80px; 
		height: 80px; 
		margin: 0; 
		flex-shrink: 0;
	}
	.quick-card__title { 
		font-size: 1.125rem;
		margin: 0 0 4px; 
	}
	.quick-card__desc { 
		font-size: 0.875rem;
		line-height: 1.5; 
	}
}

@media (max-width: 360px) {
	.quick-menu { 
		margin-top: -30px; 
	}
}

.quick-card:focus-visible { outline: 2px solid var(--color-primary-light); outline-offset: 2px; box-shadow: 0 10px 24px rgba(13, 18, 68, 0.16); }
.quick-card__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.quick-card__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

