/* =========================================================
 * 오뚜기 잇 (BX)
 * - Mobile-first (기준 375px)
 * - 미디어 쿼리는 min-width 만 사용
 * - 헤더 / 커스텀 폰트 미적용 (운영 파일 확인 후 별도 작업)
 * ========================================================= */

/* ----- Tokens ----- */
:root {
  --font-myeongjo: "Nanum Myeongjo", serif;
  /* 콘텐츠 최대 폭 — PC에서 섹션 콘텐츠가 이 폭 안에 가운데 정렬됨 (배경은 풀블리드 유지) */
  --bx-max: 1240px;
}

/* ----- Reset / Base ----- */
html {
  overflow-x: hidden;
}

body {
  color: #000;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}

.fixed_area{
  bottom: 80px;
}
/* ----- Tab Section ----- */
.tab-section {
  padding: 20px 0 30px;
  text-align: center;
}

.tab-title {
  margin: 0 0 30px;
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: #000;
}

.tab-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
}

/* 탭 버튼 */
.tab-btn {
  padding: 10px;     
  border-radius: 999px;      
  font-size: 15px;
  font-weight: 300;
  line-height: 23px;
  color: #666;
  background: #f8f8f8;
}

.tab-btn.is-active {
  color: #fff;
  background: #123E8c;
  font-weight: 500;
}

/* ----- KV Section ----- */
.kv-section {
  position: relative;
  width: 100vw;
  height: 437px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.kv-section__bg {
  position: absolute;
  left: 0;
  width: 100%;

}

.kv-section__bg--top {
  top: 0;
  background: #d6a465;
    height: 49%;
}

.kv-section__bg--bottom {
  bottom: 0;
  background: #c5c5ff;
    height: 51%;
}

.kv-section__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;

}

/* ----- Intro Section ----- */
.intro-section {
  padding: 35px 30px;
  background: #fffbed;
}

.intro-section__text {
  margin: 0;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #7F634B;
}

/* ----- Moment Section ----- */
.moment-section {
  position: relative;
  min-height: 495px;
  padding: 70px 30px;    
  background: #b6d8cd;
  color: #7F634B;
}

/* 사방 라인 데코 — 끝에서 16px 인셋 */
.moment-section__line {
  position: absolute;
  pointer-events: none;
}

.moment-section__line--top,
.moment-section__line--bottom {
  left:50%;
  transform:translateX(-50%);
  width: calc(100% - 24px);
  max-width: 1200px;
  height: 2px;
}
.moment-section__line--top    { top: 16px; }
.moment-section__line--bottom { bottom: 16px; }

.moment-section__line--left,
.moment-section__line--right {
  --vw : max(50vw, calc(1240px / 2));
  
  top: 12px;
  bottom: 12px;
  height: calc(100% - 24px);
  width: 8px;
}
.moment-section__line--left  { left: max( 16px, calc(50vw - (1240px / 2) + 16px) ); }
.moment-section__line--right { right:  max( 16px, calc(50vw - (1240px / 2) + 16px) ); }

/* 본문 컨테이너 (라인 위에 오도록 position: relative) */
.moment-section__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
}

.moment-section__title {
  margin: 0;
  padding-bottom: 4px;
  font-family: var(--font-myeongjo);
  font-weight: 800;
  font-size: 24px;
}

.moment-section__text {
  /* AM-17: 가로 폭 300px + 단어 단위 줄바꿈 */
  max-width: 300px;
  margin: 0 auto;
  word-break: keep-all;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 300;
}

.moment-section__text--em {
  font-weight: 500;
}

/* ----- Memory Section ----- */
.memory-section {
  position: relative;
  height: 548px;
  background: #c8ae79;
  color: #4A5D4E;
  overflow: hidden;
}

/* 배경 이미지 레이어 — flex 3분할 */
.memory-section__bg {
  position: absolute;
  inset: 0;
  left:50%;
  transform:translateX(-50%);
  width: 100%;
  max-width: 1240px;
  height: 100%;
  padding: 20px 16px;
  display: flex;
}

.memory-section__bg-piece {
  height: 100%;
}

.memory-section__bg-piece--side {
  width: 74px;
  flex: 0 0 74px;
}

.memory-section__bg-piece--body {
  flex: 1;
  margin-left:-1px;
  margin-right: -1px;
    /* border:1px solid #F8EB20; */
  min-width: 0;       /* flex item 의 min-content 보다 줄어들 수 있게 */
}

/* div 안의 SVG 가 div 박스를 채우도록 */
.memory-section__bg-piece img {
  /* display: block; */
  width: 100%;
  height: 100%;
  object-fit: fill;   /* 가로/세로 모두 박스에 맞춰 늘어남 */
}

/* 텍스트 레이어 */
.memory-section__content {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  
  padding: 20px 16px;
  text-align: center;
}

.memory-section__title {
  margin: 78px 0 106px;
  font-family: var(--font-myeongjo);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
}

.memory-section__text {
  margin: 0 0 16px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
}

.memory-section__text--em {
  margin-bottom: 0;
  font-weight: 500;
}

/* ----- Entry Section (공모개요) ----- */
.entry-section {
  padding: 40px 20px;
  background: #fff;
  color: #73583D;
}

/* 카테고리 라벨 — "공모개요" */
.entry-section__label {
  margin: 0 0 24px;
  font-size: 13px;
  font-weight: 500;
  color: #8181FF;
  font-family: var(--font-myeongjo);
  font-weight: 700;
}

/* 가로 라인 (line-gold-hori) */
.entry-section__line {
  display: block;
  width: 100%;
  height: 2px; /* AM-05: 3→2px */
}

/* 가운데 리드 문구 — '라면의 순간'을 담은 ... */
.entry-section__lead {
  margin: 24px 0;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #73583D;
}

/* 블록 (관점·작업·조건) */
.entry-block {
  margin-top: 48px;
}

.entry-block__title {
  margin: 0 0 24px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #73583D;
}

/* 불릿 리스트 */
.entry-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px; /* AM-06: 24→12 */
}

.entry-list > li {
  position: relative;
  padding-left: 29px;
  font-size: 13px;
  font-weight: 300;
  line-height: 20px;
  color: #73583D;
}

.entry-list > li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 4px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #DFDFFC;
}
.entry-list > li span{
  color :#ae9e8e;
  font-size:13px;
}

/* 출품 가능 카테고리 카드 그리드 */
.entry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px; 
  /* max-width: 335px; */
  /* margin:auto; */
}

.entry-card {
  /* 이미지가 라벤더 톤이라 카드 배경에 #DFDFFC 깔아 시각 일관성 유지 (이미지가 가리지만 fallback) */
  /* background: #DFDFFC; */
  /* aspect-ratio: 1 / 1; */
  overflow: hidden;
}

.entry-card picture {
  display: block;
  width: 100%;
  height: 100%;
}
.entry-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 마지막 보조 노트 — 회갈색 */
.entry-section__note {
  margin: 24px 0 0;
  padding-left: 29px; 
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6;
  color: #AE9E8E;
}

/* ----- Apply Section (지원안내) ----- */
.apply-section {
  padding: 0 20px 48px;
  background: #fff;
  color: #73583D;
}

.apply-section__label {
  margin: 0 0 24px; /* AM-17: 28→24 */
  font-family:var(--font-myeongjo);
  font-size: 13px;
  font-weight: 500;
  color: #8181FF;
}

/* 단계 블록 */
.apply-step {
  margin-top: 40px;
    padding-left:28px;
}
.apply-step:first-of-type {
  margin-top: 0;

}

/* 단계 타이틀 — 번호 배지 + 텍스트 */
.apply-step__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 24px;
  margin-left:-20px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #73583D;
}

.apply-step__num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #73583D;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
  line-height:20px;
}

/* 일정 박스 (라벤더) */
.apply-step__period {
  margin: 0 0 16px; /* AM-09: 24→16 */
  padding: 10px 0;
  width:100%;
  background: #DFDFFC;
  /* border-radius: 4px; */
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: #73583D;
}

/* 번호 리스트 (1단계 절차) */
.apply-step__steps {
  margin: 0 0 11px; /* AM-18: 16→11 */
  padding-left: 22px;
  display: flex;
  flex-direction: column;
  gap: 6px; /* AM-10: 8→6 */
  font-size: 13px;
  font-weight: 300;
  line-height: 20px;
  color: #73583D;
}

.apply-step__steps > li {
  padding-left: 4px;
}

/* 다운로드 버튼 */
.apply-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 15px;
  padding: 13px;
  /* border-radius: 4px; */
  background: #B09867;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}

.apply-btn__icon {
  flex-shrink: 0;
}

/* 불릿 리스트 (2단계) */
.apply-bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px; /* AM-19: 14→6 */
}

.apply-bullets > li {
  position: relative;
  padding-left: 14px;
  font-size: 13px; /* AM-19: 15→13 */
  font-weight: 300;
  line-height: 1.5;
  color: #73583D;
}

.apply-bullets > li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 4px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #73583D;
}

/* 본문 단락 (3단계) */
.apply-step__body {
  margin: 0 0 16px; /* AM-20: 18→16 */
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  color: #73583D;
}

/* 보조 노트 — 회갈색 */
.apply-step__note {
  margin: 0;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6;
  color: #AE9E8E;
}

.apply-step__note + .apply-step__note {
  margin-top: 4px;
}

/* ----- Judge Section (심사방식) ----- */
.judge-section {
  padding: 60px 20px 0px;
  background: #f2f2f5;
  color: #73583D;
}

.judge-section__label {
  margin: 0 0 20px;
  font-size: 13px;
  font-weight: 900;
  font-family:var(--font-myeongjo);
  color: #c09235;
}

.judge-section__title {
  margin: 0 0 22px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #6767ad;
}

/* 심사위원 카드 */
.judge-card {
  margin-bottom: 12px;
  background:#fff;
}
.judge-card:last-child {
  margin-bottom: 0;
}

.judge-card__photo {
  /* margin: 0 0 20px; */
}

.judge-card__photo > img {
  display: block;
  width: 100%;
  height: auto;
  filter: grayscale(100%); 
}

.judge-card__info {
  padding: 20px 16px;
}

.judge-card__name {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: #c09235;
  margin:0;
}

.judge-card__desc {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  color: #7979AE;
}

.judge-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.judge-card__list > li {
  position: relative;
  padding-left: 14px;
  font-size: 13px;
  font-weight: 300;
  line-height: 20px;
  color: #7979AE;
}

.judge-card__list > li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 4px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #C8AE79;
}

/* ----- Criteria Section (평가 기준) ----- */
.criteria-section {
  padding: 60px 20px 60px;
  background: #f2f2f5;
  color: #73583D;
}

.criteria-section__title {
  margin: 0 0 22px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #6767AD;
}

.criteria-section__line {
  display: block;
  width: 100%;
  height: 2px; /* AM-05: 3→2px */
}

/* 항목 리스트 (dt: 항목명 / dd: 설명) */
.criteria-list {
  display: grid;
  margin:0;
  grid-template-columns: 78px 1fr;
  column-gap: 24px;
  row-gap: 17px;
  padding: 22px 0;
}

.criteria-list dt {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: #6767AD;
}

.criteria-list dd {
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  color: #7979AE;
}

/* 라인 아래 보조 노트 */
.criteria-section__notes {
  margin-top: 22px;
}

.criteria-section__notes > p {
  margin: 0;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(85, 85, 148, 0.58)
}

/* ----- Benefit Section (수상혜택) ----- */
.benefit-section {
  padding: 20px 20px;
  background: #c8ae79;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.benefit-card {
  padding: 20px;
  background: #fff;
  /* border-radius: 10px; */
}

.benefit-card__label {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: #8181FF;
    font-family:var(--font-myeongjo);
}

.benefit-card__title {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #73583D;
  margin:0 0 12px;
  /* margin-bottom:12px; */
}

.benefit-card__desc {
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  color: #73583D;
}

/* ----- Award Section (시상내역) ----- */
.award-section {
  padding: 54.5px 20px; /* AM-14: 좌우 30→20 */
  background: #c5c5ff url(../images/brands/contest/award_bg.png) left top / contain repeat;
}

.award-section__label {
  margin: 0 0 20px;
  font-size: 13px;
  font-weight: 700;
  font-family:var(--font-myeongjo);
  color: #73583D;
}

.award-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.award-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 16px;
  background: #fff;
  /* border-radius: 8px; */
  font-size: 15px;
  line-height: 1.7;
}
.award-item:first-child{
  min-height: 84px;
}
.award-item:nth-child(2){
  min-height: 64px;
}
.award-item:nth-child(3){
  min-height: 44px;
}

.award-item__name {
  font-weight: 500;
  color: #73583D;
}

.award-item__amount {
  font-weight: 500;
  color: #8181FF;
}

/* ----- Notice Section (유의사항 + 문의처) ----- */
.notice-section {
  padding: 32px 20px 32px;
  background: #353535;
  color: #898989;
}

.notice-section__label {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: #9b9b9b;
  font-family:var(--font-myeongjo);
}

.notice-section__label--secondary {
  margin-top: 42px;
}

.notice-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.notice-list > li {
  position: relative;
  padding-left: 15px;
  font-size: 13px;
  font-weight: 300;
  line-height: 20px;
  color: #c4c4c4;
}

.notice-list > li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 4px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #898989;
}



/* ----- Archive Section (아카이브 탭) ----- */
.archive-intro-section {
  padding: 20px 20px 40px;
  background: #fff;
  color: #73583D;
}

.archive-intro-section__text {
  margin: 0 0 32px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: #73583D;
}

/* 가로 슬라이더 */
.archive-slider {
  position: relative;
  /* 좌우 padding 무시하고 화면 끝까지 슬라이드 영역으로 */
  /* margin-left: -20px; */
  margin-right: -20px;
  /* width:100%; */
  /* height:100%; */
  overflow: hidden;
}

/* 슬라이드 토글 버튼 (logo.svg) — left 24px / 세로 중앙 */
.archive-slider__toggle {
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
  padding: 0;
  background: transparent;
  z-index: 2;
  cursor: pointer;
}

.archive-slider__toggle img {
  display: block;
}

.archive-slider__track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-left:20px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.archive-slide {
  flex: 0 0 calc(100% - 20px);
  width: calc(100% - 40px);
  height: 373px;
  overflow: hidden;
  scroll-snap-align: start;
}

.archive-slide:first-child {
  margin-left: 20px;
}
.archive-slide:last-child {
  margin-right: 20px;
}

.archive-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ----- About Section (오뚜기 잇 소개 — 아카이브 탭 2섹션) ----- */
.about-section {
  padding: 48px 20px 48px;
  background: #fff;
  color: #73583D;
}

.about-section .title-area{
  width:fit-content;
}
.about-section__label {
  margin: 0 0 24px;
  font-size: 14px;
  font-weight: 500;
  display:inline-block;
  color: #73583D;
  padding-bottom:1px;
  position: relative;
}
.about-section__label::after{
  content:"";
  display:block;
  width:100%;
  position:absolute;
  bottom:0;
  height:3px;
  background: url(../images/brands/contest/line-gold-hori.svg) no-repeat;
}


.about-section__title {
  margin: 0 0 24px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #73583D;
}

.about-section__text {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: #73583D;
}

.about-section__text:last-child {
  margin-bottom: 0;
}

/* ----- History Section (잇 히스토리 — 아카이브 탭 3섹션) ----- */
.history-section {
  padding: 28px 20px 48px;
  background: #fff;
  color: #73583D;
}

.history-section__label {
  margin: 0 0 28px;
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
  color: #73583D;
  padding-bottom: 1px;
  position: relative;
}
.history-section__label::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  height: 3px;
  background: url(../images/brands/contest/line-gold-hori.svg) no-repeat;
}

.history-section__title {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  color: #73583D;
}

/* 연도 탭 (pill 버튼) */
.history-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}

.history-tab {
  padding: 13px 19px;
  border-radius: 999px;
  background: #efeff3;
  color: #73573D;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.history-tab.is-active {
  background: #73583D;
  color: #fff;
}

/* 활성 탭에서만 sub 텍스트(잇 OO 그릇) 표시 */
.history-tab__sub {
  display: none;
}

.history-tab.is-active .history-tab__sub {
  display: inline;
}

/* 작품 2x2 그리드 (연도별 패널) */
.history-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 28px;
}

.history-grid[hidden] {
  display: none;
}

.history-grid__overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display:none;
  align-items: center;
  gap: 8px;
  padding: 14px 22px;
  background: rgba(176, 152, 103, 0.9);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 2;
}

.history-grid:hover .history-grid__overlay {
  opacity: 1;
}

.history-grid__arrow {
  width: 64px;
  height: 18px;
  flex-shrink: 0;
}

.artwork-card {
  position: relative;
  width:100%;
  /* aspect-ratio: 1 / 1; */
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  display: block;
}

.artwork-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* hover 시 컨텐츠 중앙에서 나오는 베이지 박스 */
.artwork-card__overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(176, 152, 103, 0.9);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.artwork-card:hover .artwork-card__overlay,
.artwork-card:focus-visible .artwork-card__overlay {
  opacity: 1;
}

.artwork-card__arrow {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}

/* 하단 CTA 버튼 */
.history-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 18px;
  background: #B09867;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
}

/* ----- Edition Section (아카이브 탭 마지막 — 2026 에디션 안내) ----- */
.edition-section {
  background: #F5EA20;
  color: #73583D;
}

/* 상단: 패턴 배경 + 타이틀 */
.edition-section__top {
  background-image: url(../images/brands/contest/edition_section_bg.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  padding: 40px 20px 30px;
  text-align: center;
}

.edition-section__title-ko {
  margin: 0 0 28px;
  font-family: var(--font-myeongjo);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.4;
  color: #73583D;
}

.edition-section__title-en {
  margin: 0;
  font-family: var(--font-myeongjo);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.3;
  color: #73583D;
}

/* 하단: 노란색 + 안내문 + 지원하기 CTA */
.edition-section__bottom {
  padding: 30px 20px 30px;
}

.edition-section__msg {
  margin: 0 0 70px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.35);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  color: #73583D;
}

.edition-section__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: #73583D;
  font-size: 15px;
  font-weight: 500;
}

.edition-section__arrow {
  width: 64px;
  height: 18px;
  flex-shrink: 0;
}













/* ----- Footer ----- */
.footer {
  overflow: hidden;
}
.footer-pc {
  display: none;
}
.footer-mo {
  display: block;
  width: 100%;
  margin-bottom: 50px;
}


/* top_btn */
.top_btn {
  position:fixed;
  bottom: 90px;
  width:40px;
  height:40px;
  display:flex;
  /* flex-direction: column; */
  align-items: center;
  justify-content: center;
  right:10px;
  color:#fff;
  background: #dc2f34;
  border-radius: 9999px;
  display: none;
}

/* fixed_bar */
.fixed_bar {
  position: fixed;
  height:56px;
  display:flex;
  align-items: center;
  justify-content: center;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 15px;
  background: #73583D;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
}

.fixed_bar.state-gray {
  pointer-events: none;;
  background: #cccccc;
  color: #929191;
}
#fixedBar{
  z-index: 1111;

}

/* =========================================================
 * 오뚜기 잇 (BX) — PC 반응형
 * - 모바일 베이스 (style.css) 위에 덮어쓰는 PC 분기
 * - min-width: 1240px 이상 적용
 * ========================================================= */

@media screen and (max-width: 1023px) {
  .footer .inner{
  padding: 36px 20px 90px;
}
}
@media screen and (min-width: 1024px) {
  .pc_hidden {
    display:none;
  }

  .fixed_area{
    bottom: 110px;
  }

  /* ----- Tab Section ----- */
  .tab-section {
    padding-top: 50px;
  }
  .tab-title {
    font-size: 48px;
    line-height: 64px;
    letter-spacing: -1.44px;
  }
  .tab-btn {
    padding: 10px 15px;
    font-size: 18px;
    line-height:26px;
     background: #f8f8f8;
     border-radius: 999px;
  }


  /* ----- KV Section ----- */
  .kv-section { 
    height:912px;
  }
  /* ----- Intro Section ----- */
  .intro-section {padding :62px 0;}
  .intro-section__text { 
    font-size: 24px;
    line-height:1.6;
  }

  /* ----- Moment Section ----- */
  .moment-section {
    min-height: 728px;
    display:flex;
    justify-content: center;
    align-items: center;
  }
  .moment-section__title {
    font-size:48px;
    line-height:1.5;
    margin-bottom:8px;
  }
  .moment-section__text {
    font-size:24px;
    line-height:1.6;
    max-width: none; /* AM-17: 모바일 300px 제한 PC 해제 */
  }
  /* A-25: 1240px에서 상/하 가로 라인 max-width +12px (1200→1212, 교차) */
  .moment-section__line--top,
  .moment-section__line--bottom {
    max-width: 1200px;
  }

  /* ----- Memory Section ----- */
  .memory-section {min-height:728px;}
  .memory-section__bg {padding :30px;}
  .memory-section__bg-piece--side {
    width:140px;
    flex:0 0 140px;
  }
  .memory-section__title {
    margin: 106px 0 145px;
    font-size: 48px; 
    line-height:1.4;
  }
  .memory-section__text {
    font-size:24px;
    line-height:1.6;
    margin: 0 0 24px;
  }

  /* ----- Entry Section (공모개요) ----- */
  .entry-section {
    padding:80px 30px

  }
  .entry-section__label {
    font-size:20px;
    line-height:1.5;
    margin-bottom:32px;
  }
  .entry-section__lead {
    font-size:24px;
    line-height:1.6;
    margin:35px 0;
  }
  .entry-block {
    margin-top:68px;
  }
  .entry-block__title {
    font-size:24px;
    line-height:1.6;
    margin-bottom:32px;
  }
  .entry-list {
    gap:16px;
  }
  .entry-list > li {
    font-size: 16px;
    line-height:1.8;
    padding-left: 31px;
  }
  .entry-list > li::before {
    width:7px;
    height:7px;
  }
  .entry-list > li span {font-size:16px}
  .entry-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px; /* A-26: 10→20 */
  }
  .entry-section__note {
    padding-left: 30px;
    font-size: 15px;   /* A-28: 13→15 */
    margin-top: 32px;  /* A-28: 24→32 */
  }

  /* ----- Apply Section (지원안내) ----- */
  .apply-section {
    padding-bottom: 80px;
  }

  .apply-section__label {
    font-size: 20px; 
    line-height:1.5;
    margin-bottom:32px;
  }
  .apply-step {
    padding-left:0;
    margin-top:68px;
  }

  .apply-step__title {
    margin: 0 0 32px;
    gap: 16px; /* A-27: 8→16 */
    font-size: 24px;
    line-height: 1.8;
  }
  .apply-step__num {
    width:32px;
    height:32px;
    font-size:18px;
    font-weight:500;
  }

  .apply-step__period {
    max-width:calc(100% - 200px);
    margin:0 auto 0px;
    font-size: 16px;
    line-height:1.8;
    padding :20px;
    
  }
  .apply-step__steps {
    max-width:calc(100% - 200px);
    margin:20px auto 20px;
    font-size: 16px;
    gap:6px;
    line-height:1.8;
  }
  .apply-btn {
    max-width:calc(100% - 200px);
    margin:0 auto 20px;
    font-size:20px;
  }
  .apply-btn svg{width:37px; height:37px;}
  .apply-bullets {
    max-width:calc(100% - 200px);
    margin:20px auto 0;
    font-size:16px;
    gap:6px;
  }
  .apply-bullets > li {
    font-size: 16px;
  }
  .apply-bullets > li::before {
    top: 12px;
  }
  .apply-step__body {
    max-width:calc(100% - 200px);
    margin:20px auto 20px;
    font-size: 16px;
  }
  .apply-step__note {
    max-width:calc(100% - 200px);
    margin:auto;
    font-size: 15px;
  }

  /* ----- Judge Section (심사방식) ----- */
  .judge-section {
    padding: 80px 30px;
  }
  .judge-section__label {
    font-size:20px;
    line-height:1.5;
    margin-bottom:20px;
  }
  .judge-section__title {
    font-size:24px;
    list-style: 1.6;
    margin-bottom:22px;
  }
  .judge-card {
    display:flex;
    margin-bottom:48px;
  }
  .judge-card__photo {
    /* flex:1; */
    width:50%;
  }
  .judge-card__photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .judge-card__info {
    /* flex:1; */
    padding : 65px 48px;
    width:50%;
  }
  .judge-card__name {
    font-size:16px;
    line-height:1.8;
    margin-bottom:8px;
  }
  .judge-card__desc {
    font-size:16px;
    line-height:1.8;
    margin-bottom:24px;
  }
  .judge-card__list {
    gap:12px;
  }
  .judge-card__list > li {
    font-size:16px;
    line-height:1.8;
    padding-left: 21px;
  }
  .judge-card__list > li::before {
    width:5px;
    height:5px;
    top:12px;
  }

  /* ----- Criteria Section (평가 기준) ----- */
  .criteria-section {
    padding:0 30px 80px;
    
  }
  .criteria-section__title {
    font-size:24px;
    line-height:1.6;
    margin-bottom:32px;
  }

  .criteria-list {
    padding:32px 0 ;
    row-gap:32px;
    column-gap: 0;
    grid-template-columns: 200px 1fr;
  }
  .criteria-list dt {
    font-size:16px;
    line-height:1.5;
  }
  .criteria-list dd {
    line-height:1.5;
    font-size: 16px;
  }
  .criteria-section__notes {
    margin-top:20px;
  
  }
  .criteria-section__notes > p {
    font-size: 15px;
    line-height:1.6;
  }

  /* ----- Benefit Section (수상혜택) ----- */
  .benefit-section {
    flex-direction: row;
    padding-block: 30px;
    gap: 20px;
  }
  .benefit-card {
    flex:1;
    padding: 32px 24px;
  }
  .benefit-card__label {
    font-size:20px;
    line-height:1.5;
  }
  .benefit-card__title {
    font-size:24px;
    line-height:1.6;
    margin: 12px 0 40px;
  }
  .benefit-card__desc {
    font-size:16px;
    line-height:1.8;
  }

  /* ----- Award Section (시상내역) ----- */
  .award-section {
    padding: 80px 30px;
    background: #c5c5ff url(../images/brands/contest/award_bg_pc.png) left top / contain repeat;
  }
  .award-section__label {
    font-size:20px;
    line-height:1.5;
    margin-bottom:20px;
  }

  .award-list {
    gap:16px;
  }
  .award-item {
    padding-inline: 100px;
  }
  .award-item:first-child {
    min-height:120px;
  }
  .award-item:nth-child(2) {
    min-height: 100px;
  }
  .award-item:nth-child(3) {
    min-height: 90px;
  }
  .award-item__name {
    font-size:24px;
    line-height:1.6;
  }
  .award-item__amount {
    font-size:24px;
    line-height:1.6;
  }

  /* ----- Notice Section (유의사항 + 문의처) ----- */
  .notice-section {
    padding:72px 30px;
  }
  .notice-section__label {
    font-size:20px;
    line-height:1.5;
    margin-bottom:8px;
  }
  .notice-section__label--secondary {}
  .notice-list {
    gap:12px;
  }
  .notice-list > li {
    padding-left:21px;
    font-size:16px;
    line-height:1.8;
  }
  .notice-list > li::before {
    width:5px;
    height:5px;
    top:12px;
  }

  /* ----- Footer ----- */
  .footer {
    height: 478px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 100px;
  }
  .footer-mo { display: none; }
  .footer-pc {
    display: block;
    max-width: 1240px;
    width: 100%;
    height: 478px;
    object-fit: cover;
  }

  /* ----- Misc ----- */
  .top_btn {
    width:64px;
    height:64px;
    bottom:110px;
    right:30px;
  }
  .top_btn svg{
    width:24px;
    height:30px;
  }
  .fixed_bar {
    height:80px;
    font-size: 20px;
    line-height:32px;
  }

  /* =========================================================
   * 콘텐츠 1240px 제한 (배경 요소 제외)
   * - 섹션 배경(배경색·배경 레이어·라인 데코·KV)은 화면 전체 폭 유지
   * - 콘텐츠만 좌우 동적 패딩으로 1240px 안에 모이고 가운데 정렬
   * - calc((100% - 1240px)/2) 가 화면이 1240보다 좁으면 음수 → max()가 floor 패딩 선택
   *   (longhand padding-inline 이므로 위쪽 padding 단축 속성의 상/하 값은 그대로 유지)
   * ========================================================= */

  /* 좌우 floor 30px */
  .intro-section,
  .entry-section,
  .judge-section,
  .criteria-section,
  .award-section,
  .apply-section,
  .benefit-section,
  .notice-section {
    padding-inline: max(30px, calc((100% - var(--bx-max)) / 2));
  }

  /* 좌우 floor 20px */
  .archive-intro-section,
  .about-section,
  .history-section,
  .edition-section__top,
  .edition-section__bottom {
    padding-inline: max(20px, calc((100% - var(--bx-max)) / 2));
  }

  .moment-section__inner {
    max-width: var(--bx-max);
    margin-inline: auto;
  }
  .memory-section__content {
    max-width: var(--bx-max);
    margin-inline: auto;   
  }

}
