@charset "utf-8";
/* Info
 ========================================================================== */
/**
    * 1. Writer: Gyuri Son. (Weaverloft Corp.)
    * 2. Production Date: 2026-03
    * 3. Client: Neopharm
 */

/*========== common ==========*/
#wrap { display: flex; flex-direction: column; min-height: 100dvh; overflow: hidden; }
#sub { flex: 1; width: 100%; padding-top: 80px;  }
#sub::before { content: ''; display: block; position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; max-height: 1080px; background: url("/atp_gcontest/front/assets/images/sub/sub-top-bg.svg") no-repeat center top / cover; }
#sub:has(.community)::before { background-image: url("/atp_gcontest/front/assets/images/sub/sub-top-bg-community.svg"); }
.cont-wrap { max-width: 1520px; margin: 0 auto; padding-block: 20px 200px; padding-inline: clamp(16px, calc(60 / 1400 * 100vw), 60px); }
.mo-only { display: none; }

/* path */
.path ul { display: flex; align-items: center; }
.path ul li { display: flex; align-items: center; }
.path ul li:not(:last-child)::after { content: ''; display: inline-block; width: 20px; height: 20px; margin: 0 5px; background: url("/atp_gcontest/front/assets/images/sub/icon-path-arrow.svg") no-repeat center / cover; }
.path ul li:first-child a { width: 24px; height: 24px; background: url("/atp_gcontest/front/assets/images/sub/icon-home.svg") no-repeat center / cover; }
.path ul li span { font-size: 16px; color: var(--font-color-6); font-weight: 500; line-height: 19px; }

/* footer */
#wrap:has(#sub) .footer { height: 404px !important; }
#wrap:has(#sub) .footer .footer-area { position: relative; }
#wrap:has(#sub) .footer .footer-area .footer-green-bg { position: absolute; top: -200px; left: 0; width: 100%; height: calc(100% + 200px); z-index: -2; }
#wrap:has(#sub) .footer .footer-area .footer-green-bg svg { width: 100%; height: 100%; }
#wrap:has(#sub) .footer .footer-area .footer-inner { padding-block: 140px; }
#wrap:has(#sub) .footer .footer-area .footer-flower-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: hidden; }
#wrap:has(#sub) .footer .footer-area .footer-flower-bg img { position: absolute; left: calc(50% - 872px); bottom: 64px; max-width: 1522px; }

/* 패럴랙스 테스트 */
/* #sub { position: relative; z-index: 10; background: #fff; }
#sub .content-curve-wrapper { position: absolute; top: 100%; left: 0; width: 100%; height: 200px; line-height: 0; z-index: 10; }
#wrap:has(#sub) .footer { position: fixed; left: 0; bottom: 0; z-index: 1; } */

/* title */
.title-wrap { padding-block: 50px 60px; border-bottom: 1px solid var(--border-color-c); }
.title-wrap .sec-title { font-size: 46px; color: var(--font-color-1); font-weight: 600; text-align: center; line-height: 1.08; letter-spacing: -0.02em; }
.title-wrap .sec-text { padding-top: 20px; font-size: 20px; color: var(--font-color-6); font-weight: 600; text-align: center; line-height: 1.2; }
.title-wrap .sec-text span { font-weight: 400; }

/* button */
.btn-wrap { display: flex; align-items: center; justify-content: center; }
.front-btn { display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 0 40px; border-radius: 4px; font-size: 16px; font-weight: 700; line-height: 43px; transition: background 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s; white-space: nowrap; }
.front-btn.round { border-radius: 68px; }
.front-btn.big { min-width: 257px; padding: 0 40px; font-size: 20px; font-weight: 500; line-height: 56px; }
.front-btn.line { box-shadow: inset 0 0 0 1px var(--point-color); color: var(--point-color); }
.front-btn.brown { gap: 4px; width: 150px; padding: 0 29px; background: #FFFCF3; color: #93561E; font-size: 20px; font-weight: 700; line-height: 48px; }
.front-btn.brown::after { content: ''; display: block; width: 20px; height: 20px; background: url("/atp_gcontest/front/assets/images/sub/icon-arrow-brown.svg") no-repeat center / cover; transition: transform 0.3s; }

.front-btn.gray { gap: 10px; box-shadow: inset 0 0 0 1px var(--border-color); color: var(--font-color-1); }
.front-btn.gray::after { content: ''; display: block; width: 18px; height: 18px; background: url("/atp_gcontest/front/assets/images/sub/icon-arrow-gray.svg") no-repeat center / cover; transition: background 0.3s; }
.front-btn.hover-green::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border-radius: inherit; background: var(--point-color); z-index: -1; box-shadow: 0 0 0 1px var(--point-color); transform: translateX(-100%); transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1); }

@media screen and (min-width: 769px) {
    .front-btn.brown:hover::after { transform: translateX(6px); }
    .front-btn.hover-green:hover { color: #fff; box-shadow: inset 0 0 0 1px var(--point-color); }
    .front-btn.hover-green:hover::before { transform: translateX(0); }
    .front-btn.gray.hover-green:hover::after { background-image: url("/atp_gcontest/front/assets/images/sub/icon-arrow-white.svg"); }
}

/* 뒤로가기 버튼 */
/* .back-btn-wrap::after { content: ''; display: block; background: #F7F8FA; width: 100vw; height: 4px; margin-left: calc(-50vw + 50%); } */
.back-btn-wrap .back-btn { display: flex; align-items: center; gap: 6px; padding-block: 10px; font-size: 16px; font-weight: 500; color: var(--font-color-1); }
.back-btn-wrap .back-btn::before { content: ''; display: block; width: 20px; height: 20px; background: url("/atp_gcontest/front/assets/images/sub/back-btn-arrow.svg") no-repeat center / cover; }

/* select */
select { min-width: 200px; height: 40px; padding-left: 20px; border: 1px solid var(--border-color-c); border-radius: 6px; background: url("/atp_gcontest/front/assets/images/sub/select-arrow.svg") no-repeat calc(100% - 16px) center / 20px; background-color: #fff; font-size: 16px; color: var(--font-color-1); font-weight: 500; transition: border-color 0.3s; }
select:focus-visible { border-color: var(--point-color); }

@media screen and (max-width: 1522px) and (min-width: 769px) {
    #wrap:has(#sub) .footer .footer-area .footer-flower-bg img.pc-only { left: 50%; transform: translateX(-50%); min-height: 344px; }
}

@media screen and (max-width: 1400px) {
    .title-wrap { padding-block: clamp(30px, 3.57vw, 50px) clamp(30px, 4.29vw, 60px); }
    .title-wrap .sec-title { font-size: clamp(20px, 3.29vw, 46px); }
    .title-wrap .sec-text { padding-top: clamp(10px, 1.43vw, 20px); font-size: clamp(14px, 1.43vw, 20px); }
}

@media screen and (max-width: 1024px) {
    #sub { padding-top: 56px; }
    #sub::before { top: 56px; max-height: 600px; background-image: url("/atp_gcontest/front/assets/images/sub/mo-sub-top-bg.svg"); }
    .cont-wrap { padding-bottom: clamp(90px, 19.53vw, 200px); }

    select { padding-left: clamp(10px, 1.95vw, 20px); }

    .front-btn.big { min-width: 129px; padding: 0.9em 2em; font-size: clamp(12px, 1.95vw, 20px); line-height: 1; }
    .front-btn.brown { width: auto; padding: 0.6em 1.45em; font-size: clamp(11px, 1.95vw, 20px); line-height: 1; }
    .front-btn.brown::after { width: clamp(10px, 1.95vw, 20px); height: clamp(10px, 1.95vw, 20px); }
    .front-btn.gray::after { width: clamp(10px, 1.76vw, 18px); height: clamp(10px, 1.76vw, 18px); }
}

@media screen and (max-width: 768px) {
    .pc-only { display: none; }
    .mo-only { display: block; }

    #sub::before { top: 100px; }
    .cont-wrap { padding-top: 0; }
    .path { display: none; }

    select { width: 100%; font-size: 13px; }

    .title-wrap .sec-title { text-align: left; }
    .title-wrap .sec-text { text-align: left; }
    .title-wrap .sec-text.period { white-space: nowrap; }
    .title-wrap .sec-text.period .end-date .year { display: none; }

    #wrap:has(#sub) .footer { height: clamp(223px, 52.6vw, 404px) !important; }
    #wrap:has(#sub) .footer .footer-area .footer-green-bg { top: clamp(-200px, -26.04vw, -110px); height: calc(100% + clamp(110px, 26.04vw, 200px)); }
    #wrap:has(#sub) .footer .footer-area .footer-inner { padding-block: clamp(90px, 18.23vw, 140px) clamp(57px, 18.23vw, 140px); }
    #wrap:has(#sub) .footer .footer-area .footer-flower-bg img.mo-only { left: 16px; bottom: 16px; width: clamp(294px, 80%, 588px); max-height: calc(100% - 16px); object-fit: contain; object-position: left bottom; }
}

@media screen and (max-width: 360px) {
    #wrap:has(#sub) .footer .footer-area .footer-inner { padding-bottom: 57px; }
    .front-btn.brown { padding: 5px 10px 5px 12px; }
}

/*========== 대회요강 ==========*/
/*
    * status-none: 대회없음
    * status-open: 접수중
    * status-waiting: 접수대기
    * status-closed: 접수종료
    * status-result: 수상작발표
*/
.outline-sec section.section { display: none; position: relative; }
.outline-sec.status-none .status-none-sec { display: block; }
.outline-sec.status-open .status-open-sec { display: block; }
.outline-sec.status-waiting .status-waiting-sec { display: block; }
.outline-sec.status-closed .status-closed-sec { display: block; }
.outline-sec.status-result .status-result-sec { display: block; }

.outline-sec .label-wrap { display: flex; justify-content: center; margin-bottom: 32px; }
.outline-sec .label-wrap .contest-status.label-lg { min-width: 61px; padding: 0 10px; border-radius: 2px; font-size: 16px; font-weight: 600; color: #fff; line-height: 32px; }
.outline-sec .status-none-sec .txt-wrap { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-top: 100px; }
.outline-sec .status-none-sec .img-wrap { width: 143px; height: auto; aspect-ratio: 143 / 176; }
.outline-sec .status-none-sec .img-wrap img { width: 100%; height: auto; object-fit: cover; }
.outline-sec .status-none-sec .txt-wrap strong { opacity: 0.8; font-size: 30px; color: var(--font-color); font-weight: 700; text-align: center; }
.outline-sec .status-none-sec .txt-wrap p { opacity: 0.66; font-size: 24px; font-weight: 500; color: var(--font-color-6); text-align: center; }
.outline-sec .status-none-sec .btn-wrap { margin-block: 60px 49px; }
.outline-sec .cont-sec { position: relative; }
.outline-sec .top-banner-wrapper { width: 100%; }
.outline-sec .top-banner { display: flex; align-items: center; justify-content: space-between; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: calc(100% - 28px); max-width: 1000px; margin: 40px auto 0; padding: 10px 12px 10px 183px; background: #93561E; border-radius: 68px; color: #fff; }
.outline-sec .top-banner::before { content: ''; display: block; position: absolute; left: 26px; bottom: 0; width: 145px; height: 170px; background: url("/atp_gcontest/front/assets/images/sub/top-banner-img.png") no-repeat center / cover; }
.outline-sec .top-banner.fixed { position: fixed; top: auto; bottom: 50px; left: 50%; transform: translateX(-50%); z-index: 11; width: calc(100% - 60px); }
.outline-sec .top-banner.at-footer { position: absolute; top: auto; bottom: 50px; }
.outline-sec .top-banner .banner-txt { display: flex; align-items: center; }
.outline-sec .top-banner .banner-txt strong { display: flex; align-items: center; font-size: 24px; font-weight: 700; }
.outline-sec .top-banner .banner-txt strong::after { content: ''; display: block; width: 1px; height: 14px; margin-inline: 20px 12px; background: rgba(255, 255, 255, 0.6); opacity: 0.6; }
.outline-sec .top-banner .banner-txt p { font-size: 20px; font-weight: 500; }

.tab-container { display: flex; flex-direction: column; align-items: center; margin-top: 60px; padding-bottom: 60px; border-bottom: 1px solid var(--border-color-c); }
.tab-container .tab-slider-wrap { position: relative; width: fit-content; margin: 0 auto; }
.tab-container .tab-slider-wrap .tab-slider { position: absolute; top: 0; left: 0; z-index: 1; display: block; width: 0; max-width: 200px; height: 100%; border-radius: 30px; background: var(--point-color); transition: transform 0.3s; }
.tab-list { display: flex; align-items: center; justify-content: center; }
.tab-list.type-cate { position: relative; border-radius: 30px; background: #fff; box-shadow: 0 0 0 1px #ddd; }
.tab-list.type-cate li button { display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; width: 200px; padding: 16px 64px; color: #aaa; border-radius: 30px; font-size: 28px; font-weight: 600; line-height: 1; transition: color 0.3s; }
.tab-list.type-cate li.active button { color: #fff; }
.tab-list.type-award { margin-top: 36px; }
.tab-list.type-award li { display: flex; align-items: center; }
.tab-list.type-award li:not(:last-child)::after { content: ''; display: inline-block; width: 2px; height: 16px; margin-inline: 24px; background: #D9D9D9; }
.tab-list.type-award li button { font-size: 24px; color: var(--font-color-9); font-weight: 500; letter-spacing: -0.02em; line-height: 1; white-space: nowrap; transition: color 0.3s; }
.tab-list.type-award li button::after { content: attr(data-text); display: block; font-weight: 700; height: 0; overflow: hidden; visibility: hidden; }
.tab-list.type-award li button:hover { color: var(--point-color); }
.tab-list.type-award li.active button { color: var(--point-color); font-weight: 700; }
.tab-container .tab-content { margin-top: 60px; }
.tab-container .tab-content .award-list { display: grid; grid-template-columns: repeat(4, minmax(0, 320px)); gap: 40px; }
.tab-container .tab-content .award-list li { width: 100%; }
.tab-container .tab-content .award-list .img-wrap { width: 100%; max-width: 320px; border-radius: 6px; overflow: hidden; aspect-ratio: 320 / 240; }
.tab-container .tab-content .award-list .img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tab-container .tab-content .award-list .txt-wrap { display: flex; align-items: center; flex-wrap: wrap; row-gap: 12px; padding-top: 20px; }
.tab-container .tab-content .award-list .txt-wrap .img-title { width: 100%; font-size: 20px; color: var(--font-color-6); font-weight: 500; word-break: keep-all; }
.tab-container .tab-content .award-list .txt-wrap .name { font-size: 24px; font-weight: 600; color: var(--font-color); }
.tab-container .tab-content .award-list .txt-wrap .name::after { content: ''; display: inline-block; width: 2px; height: 14px; margin-inline: 10px; background: #D9D9D9; }
.tab-container .tab-content .award-list .txt-wrap .number { font-size: 20px; color: var(--font-color-6); font-weight: 500; }
.tab-container .btn-wrap { margin-top: 60px; }
.contest-desc { max-width: 1208px; margin: 0 auto; padding-top: 60px; padding-inline: 4px; }

@media screen and (max-width: 1400px) {
    .tab-container { margin-top: clamp(30px, 4.29vw, 60px); padding-bottom: clamp(30px, 4.29vw, 60px); }
    .tab-list.type-cate li button { width: clamp(100px, 14.29vw, 200px); min-height: 40px; padding: 0.57em 0; font-size: clamp(16px, 2vw, 28px); }
    .tab-list.type-award { margin-top: clamp(24px, 2.57vw, 36px); }
    .tab-list.type-award li button { font-size: clamp(14px, 1.71vw, 24px); }
    .tab-list.type-award li:not(:last-child)::after { margin-inline: clamp(10px, 1.71vw, 24px); width: 1px; height: clamp(8px, 1.14vw, 16px); }

    .tab-container .tab-content .award-list { gap: clamp(10px, 2.86vw, 40px); }
}

@media screen and (max-width: 1024px) {
    .outline-sec .label-wrap .contest-status.label-lg { min-width: 56px; padding-block: 0.5em; font-size: clamp(14px, 1.56vw, 16px); font-weight: 500; line-height: 1; }
    .outline-sec .status-none-sec .txt-wrap { gap: clamp(10px, 1.95vw, 20px); margin-top: clamp(60px, 9.77vw, 100px);  }
    .outline-sec .status-none-sec .txt-wrap strong { font-size: clamp(15px, 2.93vw, 30px); }
    .outline-sec .status-none-sec .txt-wrap p { font-size: clamp(12px, 2.34vw, 24px); }
    .outline-sec .status-none-sec .btn-wrap { margin-top: clamp(30px, 5.86vw, 60px); }
    .outline-sec .label-wrap { margin-bottom: clamp(21px, 3.13vw, 32px); }
    .outline-sec .top-banner { margin-top: clamp(10px, 3.91vw, 40px); padding-block: clamp(6px, 0.98vw, 10px); padding-inline: clamp(62px, 17.87vw, 183px) clamp(6px, 0.98vw, 1.17vw); }
    .outline-sec .top-banner::before { width: clamp(52px, 14.16vw, 145px); height: auto; min-height: 56px; aspect-ratio: 145 / 170; left: clamp(8px, 2.54vw, 26px); }
    .outline-sec .top-banner .banner-txt strong { font-size: clamp(12px, 2.34vw, 24px); }
    .outline-sec .top-banner .banner-txt p { font-size: clamp(12px, 1.95vw, 20px); }

    .tab-container .tab-content { margin-top: clamp(30px, 5.86vw, 60px); }
    .tab-container .tab-content .award-list { grid-template-columns: repeat(3, minmax(0, 320px)); }
    .tab-container .tab-content .award-list .txt-wrap { row-gap: clamp(6px, 1.17vw, 12px); padding-top: clamp(10px, 1.95vw, 20px);}
    .tab-container .tab-content .award-list .txt-wrap .img-title,
    .tab-container .tab-content .award-list .txt-wrap .number { font-size: clamp(12px, 1.95vw, 20px); }
    .tab-container .tab-content .award-list .txt-wrap .name { font-size: clamp(14px, 2.34vw, 24px); }
    .tab-container .tab-content .award-list .txt-wrap .name::after { height: 0.58em; min-height: 8px; margin-inline: 0.42em; }
    .tab-container .btn-wrap { margin-top: clamp(30px, 5.86vw, 60px); }

    .section.status-open-sec .contest-desc { padding-top: clamp(10px, 5.86vw, 60px); }
    .section:not(.status-open-sec) .contest-desc { padding-top: clamp(30px, 5.86vw, 60px); }
}

@media screen and (max-width: 768px) {
    .outline-sec .label-wrap .contest-status.label-lg { padding-block: 5px; }
    .outline-sec .status-none-sec .img-wrap { width: clamp(71px, 18.62vw, 143px); }
    .outline-sec .label-wrap { justify-content: flex-start; }
    .outline-sec .top-banner .banner-txt strong::after { display: none; }
    .outline-sec .top-banner .banner-txt p { display: none; }


    .tab-list.type-award::-webkit-scrollbar { display: none; }
    .tab-container .tab-content .award-list { grid-template-columns: repeat(2, minmax(0, 320px)); }
}

@media screen and (max-width: 384px) {
    .tab-list.type-award { justify-content: flex-start; overflow-x: auto; overflow-y: hidden; margin-left: -16px; margin-right: -16px; padding-inline: 16px; white-space: nowrap; }
}

/*========== 수상작 갤러리 ==========*/
.gallery-sec .tab-container { margin-top: 20px; padding-bottom: 0; border-bottom: 0; }
.gallery-sec .tab-container .filter-wrap { width: 100%; }
.gallery-sec .tab-container .filter-wrap .select-wrap { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.gallery-sec .tab-container .filter-wrap select { color: var(--font-color-6); font-weight: 400; }
.gallery-sec .tab-container .tab-content .award-list li { cursor: pointer; }
.gallery-sec .tab-container .tab-content .award-title-wrap { display: flex; align-items: flex-end; line-height: 1; }
.gallery-sec .tab-container .tab-content .award-title-wrap .round { font-size: 28px; font-weight: 700; color: var(--font-color-1); }
.gallery-sec .tab-container .tab-content .award-title-wrap .subject { padding-left: 0.21em; font-size: 28px; font-weight: 500; color: var(--font-color-1); }
.gallery-sec .tab-container .tab-content .award-title-wrap .year { display: flex; align-items: center; font-size: 20px; font-weight: 500; color: var(--font-color-6); }
.gallery-sec .tab-container .tab-content .award-title-wrap .year::before { content: ''; display: block; width: 1px; height: 14px; margin-inline: 12px 10px; background: #D9D9D9; }
.gallery-sec .tab-container .tab-content .award-section.has-border { margin-top: 80px; padding-top: 28px; border-top: 1px solid var(--border-color-c); }
.gallery-sec .tab-container .tab-content .award-list { row-gap: 60px; padding-top: 36px; }
.gallery-sec .tab-container .tab-content .award-list .txt-wrap { gap: 8px; flex-wrap: nowrap; }
.gallery-sec .tab-container .tab-content .award-list .txt-wrap .img-title { flex: 1; width: auto; color: var(--font-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all; }

/* 상 라벨 */
.label { display: flex; align-items: center; justify-content: center; min-width: 52px; padding: 0 12px; border-radius: 20px; font-size: 16px; font-weight: 700; color: #fff; line-height: 30px; }
.label.grand { background: #F6AD18; }
.label.gold { background: #AFAFAF; }
.label.silver { background: #C78739; }
.label.imagine { background: #F4A69A;}
.label.green { background: #69BA5F; }

/* 수상 작품 자세히 보기 팝업 */
.modal-popup.gallery-image-modal { background-color: rgba(0, 0, 0, 0.5); }
.gallery-image-modal .modal-content { padding: 0; }
.gallery-image-modal .modal-title { display: flex; align-items: center; padding-bottom: 0; line-height: 1; }
.gallery-image-modal .modal-title .round { font-weight: 600; color: var(--font-color-1); }
.gallery-image-modal .modal-title .year { display: inline-flex; align-items: center; font-size: 20px; font-weight: 500; color: var(--font-color-6); }
.gallery-image-modal .modal-title .year::before { content: ''; display: block; width: 1px; height: 16px; margin-inline: 10px; background: #D9D9D9; }
.gallery-image-modal .img-wrapper { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 720px; max-height: 500px; border-radius: 6px; overflow: hidden; }
.gallery-image-modal .img-wrapper img { width: 100%; height: 100%; max-height: inherit; object-fit: contain; }
.gallery-image-modal .image-info-area { position: relative; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--border-color-c); line-height: 1; }
.gallery-image-modal .image-info-area .image-info { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.gallery-image-modal .image-info-area .award-icon { position: absolute; top: -20px; right: 20px; width: 56px; height: auto; }
.gallery-image-modal .image-info-area .name { font-size: 24px; font-weight: 600; }
.gallery-image-modal .image-info-area .image-info + .image-info { padding-top: 28px; }
.gallery-image-modal .image-info-area .info-label { font-size: 14px; font-weight: 500; color: var(--font-color-9); }
.gallery-image-modal .image-info-area .image-title { width: 100%; font-size: 24px; font-weight: 600; line-height: 1.4; }
.gallery-image-modal .swiper-button-next, .gallery-image-modal .swiper-button-prev { width: 60px; height: 60px; background-repeat: no-repeat; background-position: center; background-size: cover; }
.gallery-image-modal .swiper-button-prev { left: -90px; background-image: url("/atp_gcontest/front/assets/images/sub/icon-arrow-prev.svg"); }
.gallery-image-modal .swiper-button-next { right: -90px; background-image: url("/atp_gcontest/front/assets/images/sub/icon-arrow-next.svg"); }
.gallery-image-modal .swiper-notification { display: none; }

@media screen and (max-width: 1024px) {
    .gallery-sec .tab-container .tab-content .award-title-wrap .round, .gallery-sec .tab-container .tab-content .award-title-wrap .subject { font-size: clamp(14px, 2.73vw, 28px); }
    .gallery-sec .tab-container .tab-content .award-title-wrap .year { font-size: clamp(13px, 1.95vw, 20px); }
    .gallery-sec .tab-container .tab-content .award-title-wrap .year::before { height: 0.7em; min-height: 10px; margin-inline: 0.5em; }
    .gallery-sec .tab-container .tab-content .award-list { row-gap: clamp(16px, 5.86vw, 60px); padding-top: clamp(12px, 3.52vw, 36px); }
    .gallery-sec .tab-container .tab-content .award-list .txt-wrap { gap: 6px; }
    .gallery-sec .tab-container .tab-content .award-section.has-border { margin-top: clamp(40px, 7.81vw, 80px); padding-top: clamp(16px, 2.73vw, 28px); }
    .label { min-width: 29px; padding: 0.44em 0.75em; font-size: clamp(10px, 1.56vw, 16px); line-height: 1; }

    .gallery-image-modal .img-wrapper { min-height: 155px; aspect-ratio: 720 / 500; }
    .gallery-image-modal .img-wrapper img { max-height: 100%; height: 100%; }
    .gallery-image-modal .image-info-area { margin-top: clamp(16px, 2.93vw, 30px); padding-top: clamp(10px, 1.95vw, 20px); }
    .gallery-image-modal .modal-title .round { font-size: clamp(13px, 1.95vw, 20px); }
    .gallery-image-modal .modal-title .year { font-size: clamp(12px, 1.95vw, 20px); }
    .gallery-image-modal .modal-title .year::before { height: 0.8em; min-height: 10px; margin-inline: 0.5em; }
    .gallery-image-modal .image-info-area .award-icon { top: clamp(-20px, -1.95vw, -8px); right: clamp(8px, 1.95vw, 20px); width: clamp(29px, 5.47vw, 56px); }
    .gallery-image-modal .image-info-area .name,
    .gallery-image-modal .image-info-area .image-title { font-size: clamp(12px, 2.34vw, 24px); font-weight: 500; }
    .gallery-image-modal .image-info-area .info-label { font-size: clamp(10px, 1.37vw, 14px); font-weight: 400; }
    .gallery-image-modal .image-info-area .image-info { gap: clamp(6px, 1.17vw, 12px); }
    .gallery-image-modal .image-info-area .image-info + .image-info { padding-top: clamp(16px, 2.73vw, 28px); }
    .gallery-image-modal .swiper-button-next, .gallery-image-modal .swiper-button-prev { width: clamp(30px, 5.86vw, 60px); height: clamp(30px, 5.86vw, 60px); }
    .gallery-image-modal .swiper-button-prev { left: clamp(-60px, -5.86vw, -30px); }
    .gallery-image-modal .swiper-button-next { right: clamp(-60px, -5.86vw, -30px); }
}

@media screen and (max-width: 768px) {
    .gallery-sec .tab-container .filter-wrap .select-wrap { margin-bottom: 30px; }
}

@media screen and (max-width: 360px) {
    .gallery-sec .tab-container .tab-content .award-list .txt-wrap .img-title { font-size: 12px; }
}

/*========== 이용약관/개인정보처리방침 ==========*/
.policy-sec .cont-box { display: flex; flex-direction: column; gap: 24px; margin-top: 40px; padding: 30px 30px 50px; background: #F7F8FA; border-radius: 10px; }
.policy-sec .cont-box .policy-item { font-size: 15px; word-break: keep-all; }
.policy-sec .cont-box .first-item { padding-bottom: 8px; }
.policy-sec .cont-box .policy-item .title { display: block; margin-bottom: 8px; font-size: 16px; font-weight: 700; }
.policy-sec .cont-box .policy-item .policy-list { display: flex; flex-direction: column; gap: 4px; }
.policy-sec .cont-box .policy-item .sub-title { padding-bottom: 6px; }
.policy-sec .cont-box .policy-item .first-title { padding-bottom: 12px; }
.policy-sec .cont-box .policy-item .sub-list { padding: 6px 0 2px 12px; }
.policy-sec .cont-box .policy-item .indent { padding-left: 12px; }
.policy-sec .cont-box .policy-item .table-wrap { width: 100%; margin-block: 6px 12px; overflow-x: auto; }
.policy-sec .cont-box .policy-item table { width: 100%; min-width: 600px; }
.policy-sec .cont-box .policy-item table th, .policy-sec .cont-box .policy-item table td {  padding: 8px; border: 1px solid var(--border-color); vertical-align: middle; }
.policy-sec .cont-box .policy-item table th { background: #fff; font-weight: 600; }
.policy-sec .cont-box .date { font-size: 15px; }

@media screen and (max-width: 1024px) {
    .policy-sec .cont-box { padding: 20px 20px 30px; }
    .policy-sec .cont-box .policy-item, .policy-sec .cont-box .date { font-size: clamp(12px, 1.46vw, 15px); }
    .policy-sec .cont-box .policy-item .title { font-size: clamp(13px, 1.56vw, 16px); }
}

@media screen and (max-width: 768px) {
    .policy-sec .cont-box { padding-inline: 16px; }
}

/* ── CKEditor 콘텐츠 스타일 (reset.css + Tailwind Preflight 리셋 보정) ── */
.contest-desc h2 { font-size: 24px !important; font-weight: 700 !important; margin: 24px 0 12px !important; line-height: 1.4 !important; }
.contest-desc h3 { font-size: 20px !important; font-weight: 700 !important; margin: 20px 0 10px !important; line-height: 1.4 !important; }
.contest-desc h4 { font-size: 18px !important; font-weight: 600 !important; margin: 16px 0 8px !important; line-height: 1.4 !important; }
.contest-desc strong,
.contest-desc b { font-weight: 700 !important; }
.contest-desc i,
.contest-desc em { font-style: italic !important; }
.contest-desc i *,
.contest-desc em * { font-style: inherit !important; }
.contest-desc u { text-decoration: underline !important; }
.contest-desc s { text-decoration: line-through !important; }
.contest-desc p { margin: 8px 0; }
.contest-desc a { color: var(--point-color, #009B3D) !important; text-decoration: underline !important; }
.contest-desc ul { list-style-type: disc !important; padding-left: 24px !important; margin: 8px 0 !important; }
.contest-desc ol { list-style-type: decimal !important; padding-left: 24px !important; margin: 8px 0 !important; }
.contest-desc li { margin: 4px 0; display: list-item !important; }
.contest-desc blockquote { border-left: 4px solid var(--point-color, #009B3D) !important; padding: 12px 20px !important; margin: 16px 0 !important; background: #f7f8fa !important; color: #555 !important; font-style: italic !important; }
.contest-desc figure.table { margin: 16px 0 !important; overflow-x: auto !important; display: block !important; }
.contest-desc table { width: 100% !important; border-collapse: collapse !important; border: 1px solid #ddd !important; }
.contest-desc table th { padding: 10px 12px !important; border: 1px solid #ddd !important; background: #f7f8fa !important; font-weight: 600 !important; text-align: left !important; vertical-align: middle !important; }
.contest-desc table td { padding: 10px 12px !important; border: 1px solid #ddd !important; vertical-align: middle !important; }
.contest-desc figure.image { margin: 16px 0 !important; text-align: center; display: block !important; }
.contest-desc figure.image img,
.contest-desc img { max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; display: inline-block !important; }
