.private-detail-hero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; background: var(--deep-2); color: white; }
.private-detail-hero > img, .private-detail-hero > .detail-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.private-detail-hero > img { object-fit: cover; object-position: center 58%; }
.private-detail-hero .detail-hero-shade { background: linear-gradient(90deg, rgba(7,38,35,.94), rgba(7,38,35,.68) 48%, rgba(7,38,35,.16) 82%); }
.private-detail-hero .detail-hero-content { position: relative; z-index: 1; width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding-block: 82px; }
.private-detail-hero .detail-primary-meta { max-width: 830px; }
.detail-primary-meta { display: grid; grid-template-columns: 1.3fr .7fr; margin-top: 30px; border-top: 1px solid rgba(255,255,255,.28); }
.detail-primary-meta > div { padding: 16px 18px 16px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.detail-primary-meta span, .detail-primary-meta strong, .detail-primary-meta small { display: block; }
.detail-primary-meta span { color: rgba(255,255,255,.65); font-size: .9rem; }
.detail-primary-meta strong { margin-top: 3px; font-size: 1.1rem; }
.detail-primary-meta b { color: #ffd693; font-size: 1.45rem; }
.detail-primary-meta small { color: rgba(255,255,255,.68); }
.detail-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.detail-photo-credit { position: absolute; z-index: 2; right: 18px; bottom: 12px; padding: 5px 8px; background: rgba(0,0,0,.38); color: rgba(255,255,255,.84); font-size: .78rem; text-decoration: none; }
.share-status { min-height: 1.5em; margin: 10px 0 0; color: #f6d59f; font-size: .85rem; }

.detail-facts .fact-grid article { min-height: 118px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 15px 8px; border: 1px solid var(--line); border-radius: 10px; background: white; text-align: center; }
.detail-facts .fact-grid article span { width: 49px; height: 49px; display: grid; place-items: center; margin-bottom: 9px; border-radius: 50%; background: var(--deep); color: white; font-size: .78rem; font-weight: 700; }

.private-story { background: var(--deep); color: white; }
.private-story-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9%; }
.private-story-layout > div:last-child { color: rgba(255,255,255,.8); font-size: 1.14rem; line-height: 1.95; }

.schedule-days { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.schedule-day { border-radius: 14px; background: white; color: var(--ink); overflow: hidden; }
.schedule-day-heading { padding: 27px 30px; background: #dcebe6; }
.schedule-day-heading span { color: var(--sea); font-weight: 800; letter-spacing: .08em; }
.schedule-day-heading h3 { margin: 7px 0 0; font-family: var(--serif); font-size: 1.55rem; }
.schedule-timeline { margin: 0; padding: 10px 30px 24px; list-style: none; }
.schedule-timeline li { display: grid; grid-template-columns: 76px 1fr; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.schedule-timeline li:last-child { border-bottom: 0; }
.schedule-timeline time { color: #b66821; font-weight: 800; }
.schedule-timeline strong { display: block; }
.schedule-timeline p { margin: 3px 0 0; color: var(--muted); font-size: .9rem; }
.schedule-disclaimer { margin: 24px 0 0; color: rgba(255,255,255,.72); }

.meal-stay { background: #f3dfbd; }
.meal-stay-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8%; }
.meal-stay-layout > div:first-child > p:last-child { font-size: 1.08rem; }
.meal-stay-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.meal-stay-cards article { padding: 30px; border-radius: 12px; background: rgba(255,255,255,.78); }
.meal-stay-cards span { color: var(--sea); font-weight: 700; }
.meal-stay-cards h3 { margin: 16px 0; font-family: var(--serif); font-size: 1.5rem; }
.meal-stay-cards ul { margin: 0; padding-left: 20px; }
.meal-stay-cards li { margin-bottom: 7px; }
.meal-stay-cards small { color: var(--muted); }

.price-section { background: white; }
.private-price-box { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6%; padding: 44px; border: 2px solid var(--deep); border-radius: 16px; background: var(--cream); }
.private-price-main h2 { font-size: clamp(2rem, 4.5vw, 3.4rem); }
.private-price-main h2 em { display: inline-block; margin-top: 12px; }
.private-price-main h2 span { color: #ad551b; }
.private-price-main > p { color: var(--muted); }
.price-warning { padding: 16px; border-left: 4px solid var(--sun); background: white; font-size: .9rem; }
.include-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.include-columns section { padding: 26px; border-radius: 10px; background: white; }
.include-columns h3 { margin: 0 0 18px; font-family: var(--serif); font-size: 1.4rem; }
.include-columns ul { margin: 0; padding-left: 20px; }
.include-columns li { margin-bottom: 8px; }
.contact-number { margin-top: 20px; font-weight: 700; }
.detail-contact-actions { grid-template-columns: 1fr 1fr; }
.private-footer-copy { margin: 24px 0; }

@media (max-width: 980px) {
  .private-story-layout, .meal-stay-layout, .private-price-box { grid-template-columns: 1fr; }
  .schedule-days { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .private-detail-hero > img { object-position: center 58%; }
  .private-detail-hero { min-height: 0; display: block; padding-top: clamp(260px, 72vw, 330px); }
  .private-detail-hero > img, .private-detail-hero > .detail-hero-shade { height: clamp(260px, 72vw, 330px); }
  .private-detail-hero .detail-hero-shade { background: linear-gradient(0deg, rgba(7,38,35,.32), transparent 58%); }
  .private-detail-hero .detail-hero-content { width: 100%; padding: 40px 20px 50px; background: var(--deep-2); }
  .detail-primary-meta { grid-template-columns: 1fr; }
  .detail-hero-actions { display: grid; grid-template-columns: 1fr; }
  .detail-photo-credit { top: calc(clamp(260px, 72vw, 330px) - 30px); bottom: auto; }
  .private-story-layout { grid-template-columns: 1fr; gap: 20px; }
  .schedule-day-heading { padding: 24px 22px; }
  .schedule-timeline { padding: 8px 22px 20px; }
  .schedule-timeline li { grid-template-columns: 1fr; gap: 3px; padding: 15px 0; }
  .meal-stay-cards, .include-columns { grid-template-columns: 1fr; }
  .private-price-box { padding: 28px 22px; }
  .private-price-main h2 { font-size: 2.15rem; }
  .detail-mobile-contact .detail-mobile-phone { background: var(--deep); color: white; }
  .detail-mobile-contact .detail-mobile-kakao { background: #fee500; color: #201d00; }
}
