/* ============================================================
   가을 프로그램 페이지 — 프로그램이 먼저 보인다
   ============================================================ */
.fallpage {
  --f-cream: #F3EAD8; --f-orange: #E9612B; --f-gold: #F4B63F;
  --f-red: #D63E2E; --f-green: #6B9A3F; --f-blue: #3E86C4; --f-ink: #33291F;
  background: var(--f-cream); color: var(--f-ink);
}

/* ── 시즌 한 줄 ── */
.fhero { position: relative; padding: 8rem var(--pad) clamp(3rem, 7vh, 4.5rem); overflow: hidden; text-align: center; }
.fhero__in { max-width: 44rem; margin: 0 auto; position: relative; z-index: 1; }
.fhero .eyebrow { color: var(--f-orange); }
.fhero h1 { margin-top: 1.1rem; font-weight: 400; font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.3; }
.fhero h1 b { font-weight: 700; }
.fhero__sub { margin-top: 1.3rem; font-weight: 300; font-size: clamp(0.98rem, 2.3vw, 1.12rem); color: rgba(51,41,31,0.72); }
.fhero__sub b { font-weight: 400; color: var(--f-ink); }
.fhero__flag { display: inline-block; margin-top: 1.8rem; font-weight: 400; font-size: clamp(1.1rem, 3vw, 1.5rem); background: var(--f-green); color: #FFF9EE; padding: 0.5rem 1.5rem; border-radius: 2px; }
.fhero__sl { position: absolute; height: auto; opacity: 0.9; pointer-events: none; }
.fhero__sl--a { width: clamp(150px, 20vw, 300px); top: 8%; left: -3%; transform: rotate(-6deg); }
.fhero__sl--b { width: clamp(160px, 22vw, 330px); bottom: -8%; left: -4%; transform: rotate(4deg); }
@media (max-width: 820px) { .fhero__sl { display: none; } }

/* ── 오늘의 꾸러미 ── */
.kit { background: #FFFDF6; padding: clamp(3rem, 8vh, 4.6rem) var(--pad); }
.kit__in { max-width: 48rem; margin: 0 auto; text-align: center; }
.kit__in h2 { margin-top: 0.9rem; font-weight: 700; font-size: clamp(1.5rem, 4vw, 2.1rem); }
.kit__lead { margin-top: 1.1rem; font-weight: 300; font-size: 0.98rem; line-height: 2; color: rgba(51,41,31,0.72); }
.kit__why { list-style: none; padding: 0; margin: 2.2rem 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 2.4vw, 26px); text-align: left; }
@media (max-width: 760px) { .kit__why { grid-template-columns: 1fr; } }
.kit__why li { background: var(--f-cream); border-radius: 3px; padding: 1.05rem 1.2rem; }
.kit__why b { display: block; font-weight: 700; font-size: 0.95rem; }
.kit__why span { display: block; margin-top: 0.35rem; font-weight: 300; font-size: 0.86rem; line-height: 1.75; color: rgba(51,41,31,0.68); }

/* ── 월별 프로그램 ── */
.mons { padding: clamp(3.4rem, 9vh, 5.5rem) var(--pad) clamp(3rem, 7vh, 4.5rem); max-width: 60rem; margin: 0 auto; }
.mons__head { text-align: center; margin-bottom: 2.6rem; }
.mons__head .lead { margin-top: 0.8rem; color: rgba(51,41,31,0.7); }
.mons__head .lead b { font-weight: 700; color: var(--f-ink); }
.mon { background: #FFFDF6; border-radius: 5px; box-shadow: 0 1px 0 rgba(51,41,31,0.04), 0 14px 34px rgba(51,41,31,0.08); overflow: hidden; }
.mon + .mon { margin-top: clamp(20px, 3vw, 30px); }
.mon__head { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 1.8rem); padding: 1.4rem clamp(1.4rem, 3.5vw, 2.2rem); color: #FFF6EC; }
/* 헤더 배경은 그 달의 미끄럼틀(획+사다리 모두)이 살아나는 색으로 —
   9월 주황 스프링·파란 사다리→초록 / 10월 노랑 S·파란 틀→감빛 레드 / 11월 파랑 물결·주황 사다리→골드 */
.mon--sep .mon__head { background: var(--f-gold); color: var(--f-ink); }
.mon--oct .mon__head { background: var(--f-red); }
.mon--nov .mon__head { background: var(--f-green); }
/* 신청 버튼은 그 달의 헤더 색과 매칭 */
.mon--sep .btn--kakao { background: var(--f-gold); color: var(--f-ink); }
.mon--oct .btn--kakao { background: var(--f-red); color: #FFF6EC; }
.mon--nov .btn--kakao { background: var(--f-green); color: #FFF6EC; }
.mon__icon { width: clamp(76px, 13vw, 128px); height: auto; flex: 0 0 auto; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.18)); }
.mon__no { font-weight: 300; letter-spacing: 0.24em; font-size: 0.7rem; text-transform: uppercase; opacity: 0.85; }
.mon__head h3 { margin-top: 0.3rem; font-weight: 400; font-size: clamp(1.15rem, 3.2vw, 1.5rem); letter-spacing: 0.01em; }
.mon__head h3 b { font-weight: 700; }
.mon__tag { margin-top: 0.2rem; font-weight: 300; font-size: 0.86rem; opacity: 0.9; }
.mon__list { list-style: none; margin: 0; padding: 0; }
.ses { display: grid; grid-template-columns: auto 1fr auto; gap: clamp(0.8rem, 2vw, 1.5rem); align-items: start;
  padding: 1.1rem clamp(1.4rem, 3.5vw, 2.2rem); border-top: 1px solid rgba(51,41,31,0.09); }
@media (max-width: 700px) { .ses { grid-template-columns: auto 1fr; } .ses .btn { grid-column: 2; justify-self: start; } }
.ses .btn { align-self: center; }
.ses__no { font-weight: 400; font-size: 0.78rem; letter-spacing: 0.06em; color: rgba(51,41,31,0.5); white-space: nowrap; padding-top: 0.3rem; }
.ses__t { font-weight: 700; font-size: 1.02rem; }
.ses__t em { font-style: normal; margin-left: 0.5rem; font-weight: 300; font-size: 0.76rem; letter-spacing: 0.1em; color: rgba(51,41,31,0.5); }
.ses__d { margin-top: 0.35rem; font-weight: 300; font-size: 0.9rem; line-height: 1.85; color: rgba(51,41,31,0.68); max-width: 56ch; }
.ses__w { margin-top: 0.45rem; font-weight: 400; font-size: 0.78rem; letter-spacing: 0.04em; color: rgba(51,41,31,0.55); }
.ses__w b { font-weight: 700; color: var(--f-ink); }
.ses--soon { grid-template-columns: 1fr auto; }
.mons__note { margin-top: 0.7rem; text-align: center; font-weight: 300; font-size: 0.8rem; color: rgba(51,41,31,0.5); }
.mon__meta { padding: 1rem clamp(1.4rem, 3.5vw, 2.2rem) 1.3rem; border-top: 1px solid rgba(51,41,31,0.09);
  font-weight: 300; font-size: 0.84rem; color: rgba(51,41,31,0.6); }
.mon__meta b { font-weight: 700; color: var(--f-ink); }

/* ── 어른 · 크리디팝 ── */
.more { padding: 0 var(--pad) clamp(3rem, 8vh, 5rem); }
.more__in { max-width: 60rem; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.6vw, 28px); }
@media (max-width: 860px) { .more__in { grid-template-columns: 1fr; } }
.more__card { background: #FFFDF6; border-radius: 5px; box-shadow: 0 1px 0 rgba(51,41,31,0.04), 0 14px 34px rgba(51,41,31,0.07); padding: clamp(1.8rem, 3.5vw, 2.4rem); display: flex; flex-direction: column; }
.more__card .eyebrow { color: rgba(51,41,31,0.5); }
.more__card h3 { margin-top: 0.7rem; font-weight: 700; font-size: clamp(1.2rem, 3vw, 1.45rem); }
.more__d { margin-top: 0.9rem; font-weight: 300; font-size: 0.92rem; line-height: 1.9; color: rgba(51,41,31,0.7); }
.ad__list, .st__list { list-style: none; padding: 0; margin: 1.3rem 0 0; }
.ad__list li { display: grid; grid-template-columns: auto 1fr; gap: 0.9rem; padding: 0.75rem 0; border-top: 1px dashed rgba(51,41,31,0.18); }
@media (max-width: 560px) { .ad__list li { grid-template-columns: auto 1fr; } }
.ad__m { font-weight: 700; font-size: 0.82rem; color: var(--f-orange); white-space: nowrap; }
.ad__t { font-weight: 400; font-size: 0.9rem; }
.ad__d { margin-top: 0.15rem; font-weight: 300; font-size: 0.8rem; line-height: 1.7; color: rgba(51,41,31,0.6); }
.st__list li { display: flex; gap: 0.8rem; padding: 0.55rem 0; border-top: 1px dashed rgba(51,41,31,0.18); font-size: 0.88rem; }
.st__list b { font-weight: 700; white-space: nowrap; }
.st__list span { font-weight: 300; color: rgba(51,41,31,0.6); }
.more__meta { margin: 1.3rem 0 0; font-weight: 300; font-size: 0.84rem; color: rgba(51,41,31,0.6); }
.more__meta b { font-weight: 700; color: var(--f-ink); }
.more__card .btn { margin-top: 1.4rem; align-self: flex-start; }

/* ── 회차별 vs 멤버십 ── */
.plans { background: #FFFDF6; padding: clamp(3.4rem, 9vh, 5.5rem) var(--pad); }
.plans__in { max-width: 56rem; margin: 0 auto; }
.plans__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.6vw, 28px); }
@media (max-width: 760px) { .plans__grid { grid-template-columns: 1fr; } }
.plan { position: relative; background: var(--f-cream); border-radius: 5px; padding: clamp(1.8rem, 3.5vw, 2.4rem); display: flex; flex-direction: column; }
.plan--m { background: #FFF3DC; box-shadow: 0 0 0 2px var(--f-gold) inset; }
.plan .sticker { position: absolute; top: -12px; left: 20px; }
.plan .eyebrow { color: rgba(51,41,31,0.5); }
.plan h3 { margin-top: 0.6rem; font-weight: 700; font-size: clamp(1.2rem, 3vw, 1.4rem); }
.plan__price { margin-top: 0.6rem; font-weight: 400; font-size: 1.08rem; }
.plan__price em { font-style: normal; font-weight: 300; font-size: 0.84rem; color: rgba(51,41,31,0.55); }
.plan ul { list-style: none; padding: 0; margin: 1.2rem 0 0; flex: 1; }
.plan li { padding: 0.5rem 0; border-top: 1px dashed rgba(51,41,31,0.18); font-weight: 300; font-size: 0.9rem; line-height: 1.8; color: rgba(51,41,31,0.72); }
.plan li b { font-weight: 700; color: var(--f-ink); }
.plan .btn { margin-top: 1.5rem; align-self: flex-start; }

/* ── 시즌 컬러(접힘) ── */
.palette { padding: clamp(2.5rem, 6vh, 4rem) var(--pad); max-width: 56rem; margin: 0 auto; }
.palette summary { cursor: pointer; list-style: none; text-align: center; font-weight: 400; font-size: 0.88rem; letter-spacing: 0.1em; color: rgba(51,41,31,0.55); padding-bottom: 4px; }
.palette summary::-webkit-details-marker { display: none; }
.palette summary::after { content: " ▾"; }
.palette details[open] summary::after { content: " ▴"; }
.palette summary:hover { color: var(--f-ink); }
.palette__row { margin-top: 1.6rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.palette__row span { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; font-weight: 300; font-size: 0.66rem; letter-spacing: 0.08em; color: rgba(51,41,31,0.5); }
.palette__row span b { display: block; width: 62px; height: 40px; border-radius: 3px; background: var(--c); text-indent: -9999px; overflow: hidden; box-shadow: 0 1px 4px rgba(51,41,31,0.14); }
.palette__note { margin-top: 1.2rem; text-align: center; font-weight: 300; font-size: 0.8rem; color: rgba(51,41,31,0.45); }

/* ── 신청 ── */
.fallpage .meet { background: var(--f-orange); color: #FFF4E6; }
.fallpage .meet blockquote { font-weight: 400; }
.fallpage .meet cite { color: rgba(255,244,230,0.8); }
.fallpage .meet__note { color: rgba(255,244,230,0.85); line-height: 2; }
.fallpage .meet .btn--ink { background: var(--f-ink); color: var(--f-cream); }
.fallpage .foot { background: var(--f-cream); border-top-color: rgba(51,41,31,0.14); color: rgba(51,41,31,0.62); }
.fallpage .foot__flag { color: var(--f-ink); }

/* ── 9월 특별 원데이 — 시즌으로 들어오는 문 ── */
.special { margin-top: clamp(20px, 3vw, 30px); background: #FFFDF6; border-radius: 5px;
  box-shadow: 0 1px 0 rgba(51,41,31,0.04), 0 14px 34px rgba(51,41,31,0.08);
  border-left: 8px solid var(--f-red); overflow: hidden; }
.special__in { display: grid; grid-template-columns: 1fr auto; gap: clamp(1.2rem, 3vw, 2.4rem);
  align-items: end; padding: clamp(1.6rem, 3.5vw, 2.2rem); }
@media (max-width: 760px) { .special__in { grid-template-columns: 1fr; align-items: start; } }
.special__tag { font-weight: 400; font-size: 0.74rem; letter-spacing: 0.16em; color: var(--f-red); }
.special h3 { margin-top: 0.5rem; font-weight: 700; font-size: clamp(1.2rem, 3.2vw, 1.5rem); }
.special__d { margin-top: 0.8rem; font-weight: 300; font-size: 0.92rem; line-height: 1.95; color: rgba(51,41,31,0.72); }
.special__d b { font-weight: 700; color: var(--f-ink); }
.special__meta { margin-top: 0.9rem; font-weight: 300; font-size: 0.82rem; color: rgba(51,41,31,0.55); }
.special__cta { display: flex; flex-direction: column; align-items: flex-start; gap: 0.6rem; white-space: nowrap; }
.special__cta span { font-weight: 300; font-size: 0.76rem; color: rgba(51,41,31,0.5); }

/* 초청강사 특별회차 */
.special--guest { border-left-color: var(--f-green); }
.special--guest .special__tag { color: var(--f-green); }

/* ── 가격은 회차 아래 별도 칸으로 ── */
.mon__price {
  display: flex; flex-wrap: wrap; gap: 0;
  border-top: 1px solid rgba(51,41,31,0.12); background: #FDF8EE;
}
.mon__price span {
  flex: 1 1 240px; padding: 0.95rem clamp(1.4rem, 3.5vw, 2.2rem);
  font-weight: 300; font-size: 0.88rem; color: rgba(51,41,31,0.62);
}
.mon__price span + span { border-left: 1px solid rgba(51,41,31,0.1); }
@media (max-width: 620px) { .mon__price span + span { border-left: 0; border-top: 1px solid rgba(51,41,31,0.1); } }
.mon__price b { display: block; margin-top: 0.15rem; font-weight: 700; font-size: 1.02rem; color: var(--f-ink); }
.mon__price em { font-style: normal; font-weight: 300; font-size: 0.82rem; color: rgba(51,41,31,0.55); }
.mon__price .on { background: #FCF1D8; }
.mon__note { padding: 0.85rem clamp(1.4rem, 3.5vw, 2.2rem) 1.05rem; font-weight: 300; font-size: 0.78rem; line-height: 1.75; color: rgba(51,41,31,0.5); }

/* ── 회차 안 협업 표시 ── */
.ses__with {
  display: inline-block; margin-top: 0.4rem;
  font-weight: 700; font-size: 0.78rem; letter-spacing: 0.02em;
  background: var(--f-red); color: #FFF4EE;
  padding: 0.22rem 0.7rem; border-radius: 999px;
}

/* ── 9월 원데이 — 오렌지 판 ── */
.oneday {
  margin: clamp(30px, 5vw, 46px) 0 clamp(20px, 3vw, 30px);
  background: var(--f-orange); color: #FFF4E9;
  border-radius: 5px; overflow: hidden;
  box-shadow: 0 1px 0 rgba(51,41,31,0.05), 0 16px 38px rgba(233,97,43,0.26);
}
.oneday__in { padding: clamp(1.8rem, 4vw, 2.6rem); display: grid; grid-template-columns: 1fr auto; gap: clamp(1.2rem, 3vw, 2.4rem); align-items: center; }
@media (max-width: 760px) { .oneday__in { grid-template-columns: 1fr; } }
.oneday__tag { font-weight: 700; font-size: 0.76rem; letter-spacing: 0.16em; color: #FFE0C4; }
.oneday h3 { margin-top: 0.5rem; font-weight: 700; font-size: clamp(1.5rem, 4vw, 2rem); color: #FFF9F2; }
.oneday__d { margin-top: 0.7rem; font-weight: 300; font-size: 0.94rem; line-height: 1.9; color: rgba(255,244,233,0.88); max-width: 46ch; }
.oneday__facts { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.6rem; }
.oneday__facts li { font-weight: 300; font-size: 0.9rem; color: rgba(255,244,233,0.9); }
.oneday__facts b { font-weight: 700; color: #FFF9F2; }
.oneday__cta { display: flex; flex-direction: column; align-items: flex-start; gap: 0.55rem; white-space: nowrap; }
.oneday__cta .btn { background: #FFF6EC; color: var(--f-orange); box-shadow: 0 4px 14px rgba(51,41,31,0.2); }
.oneday__cta span { font-weight: 300; font-size: 0.78rem; color: rgba(255,244,233,0.78); }

/* ── 오픈 알림 안내 ── */
.ses__soonnote { margin-top: 0.4rem; font-weight: 300; font-size: 0.8rem; color: rgba(51,41,31,0.5); }

/* 네브바는 전 페이지 공통(크림 + 가로형 로고) — v6.css */

/* ── 히어로 — 여기도 놀이터 ── */
.fhero h1 b { color: var(--f-orange); }
.fhero__sl--c { width: clamp(110px, 14vw, 200px); top: 5%; right: 3%; transform: rotate(5deg); }
.fhero__ch { position: absolute; height: auto; pointer-events: none; z-index: 1;
  filter: drop-shadow(0 5px 10px rgba(51,41,31,0.22)); }
.fhero__ch--a { width: clamp(38px, 4.4vw, 62px); top: 7%;    left: 6%; animation: fhop 4.6s ease-in-out infinite; }
.fhero__ch--b { width: clamp(40px, 4.8vw, 68px); bottom: 12%; left: 0; animation: fhop 5.4s ease-in-out infinite 0.6s; }
.fhero__ch--c { width: clamp(34px, 4vw, 56px);  top: 20%;   right: 7%; animation: fhop 5s ease-in-out infinite 1.2s; }
@keyframes fhop { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-8px) rotate(3deg); } }
@media (max-width: 820px) { .fhero__ch { display: none; } }
@media (prefers-reduced-motion: reduce) { .fhero__ch { animation: none !important; } }

/* ── 꾸러미 — 상자마다 친구가 한 명씩 ── */
.kit__why { margin-top: 3.4rem; }
.kit__why li { position: relative; padding-top: 2.4rem; }
.kit__char { position: absolute; top: -30px; left: clamp(1rem, 3vw, 1.3rem);
  width: clamp(54px, 7vw, 72px); height: auto;
  filter: drop-shadow(0 4px 9px rgba(51,41,31,0.22)); }

/* ── 세션 실물 사진 — 말보다 증거 ── */
.ses__pic {
  margin-top: 0.75rem; width: clamp(150px, 26%, 230px);
  aspect-ratio: 1 / 1; object-fit: cover;
  border-radius: 8px; box-shadow: 0 3px 12px rgba(51,41,31,0.16);
}

/* 원데이 — 쿠폰은 아랫줄 전체, 마감 안내는 버튼 오른끝에 맞춤 */
.oneday__facts .full { flex-basis: 100%; }
.oneday__cta { align-items: flex-start; text-align: left; }

/* 넓은 화면에선 가장자리에 붙지 않게 — 잘리지 않고 온전한 모양으로 보이도록 */
@media (min-width: 1100px) {
  .fhero__sl--a { top: 20%;    left: 1.5%; }
  .fhero__sl--b { bottom: 3%;  left: 2%; }
  .fhero__sl--c { top: 18%;    right: 6%; }
  .fhero__ch--a { top: 19%;    left: 11%; }
  .fhero__ch--b { bottom: 15%; left: 2%; }
  .fhero__ch--c { top: 33%;    right: 10%; }
}
