/* 놀이동무토왕성 | visual refinement layer */
:root { --page-max: 1200px; }

/* Shared page headers */
.about-hero, .edu-hero, .catalog-hero, .school-hero, .contact-hero, .res-hero {
  position: relative;
}
.about-hero, .edu-hero, .catalog-hero, .contact-hero, .res-hero {
  padding-top: 92px !important;
  padding-bottom: 78px !important;
}
.about-hero h1, .edu-hero h1, .catalog-hero h1, .school-hero h1,
.contact-hero h1, .res-hero h1, .yh-hero h1 { letter-spacing: -0.045em; }

/* Cards and content blocks */
.about-quote-card, .edu-hero-card, .school-spec-card, .contact-type-card,
.res-big-card, .search-card, .catalog-card, .catalog-item, .program-card,
.yh-program-card, .yh-stat-card {
  border-radius: 18px !important;
  border-color: var(--border) !important;
}
.about-quote-card, .edu-hero-card, .school-spec-card, .contact-type-card,
.res-big-card, .search-card, .catalog-card, .program-card {
  box-shadow: 0 10px 26px rgba(36,49,42,.055) !important;
}
.about-quote-card::before { color: var(--green-light) !important; }

/* Products catalog */
.catalog-hero { background: linear-gradient(180deg, var(--ivory) 0%, var(--ivory-2) 100%) !important; }
.catalog-section { background: #fffdfa !important; }
.filter-button { border-radius: 999px !important; border-color: var(--border) !important; }
.filter-button.is-selected { background: var(--red) !important; border-color: var(--red) !important; }
.product-card, .catalog-card { overflow: hidden; }

/* School / booking */
.school-hero-tag { background: rgba(255,255,255,.11) !important; border-color: rgba(255,255,255,.16) !important; }
.res-tab-btn.active { color: var(--red) !important; border-color: var(--red) !important; }
.res-btn-school, .res-submit-btn { background: var(--red) !important; }

/* Contact and footer */
.contact-type-icon { background: var(--red-light) !important; color: var(--red) !important; }
.contact-type-card:hover { border-color: var(--red) !important; }

/* keep header compact on laptops */
@media (max-width: 1160px) {
  .nav-inner { padding-left: 18px; padding-right: 18px; gap: 14px; }
  .nav-menu a { padding-left: 8px; padding-right: 8px; font-size: 12px; }
  .btn-blog, .btn-store { padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 760px) {
  .about-hero, .edu-hero, .catalog-hero, .contact-hero, .res-hero { padding: 58px 20px !important; }
  .about-quote-card, .edu-hero-card, .school-spec-card, .contact-type-card, .res-big-card, .search-card { border-radius: 15px !important; }
}
/* Footer height compact */
.site-footer,
footer {
  min-height: 0 !important;
  height: auto !important;
  padding: 34px 0 22px !important;
}

/* 위쪽: 소개문구 + 메뉴 영역 */
.site-footer .footer-inner,
.site-footer .footer-main,
.site-footer .footer-top,
footer .footer-inner,
footer .footer-main,
footer .footer-top {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 22px !important;
  margin-bottom: 0 !important;
  align-items: flex-start !important;
}

/* 아래 회사정보를 위 메뉴와 가깝게 */
.site-footer .footer-bottom,
.site-footer .footer-info,
.site-footer .footer-copyright,
footer .footer-bottom,
footer .footer-info,
footer .footer-copyright {
  margin-top: 0 !important;
  padding-top: 16px !important;
}

/* 푸터 내부 글줄 간격 정리 */
.site-footer p,
.site-footer li,
.site-footer ul,
footer p,
footer li,
footer ul {
  margin-top: 0 !important;
  margin-bottom: 7px !important;
}

/* 모바일 푸터 */
@media (max-width: 760px) {
  .site-footer,
  footer {
    padding: 28px 20px 20px !important;
  }

  .site-footer .footer-inner,
  .site-footer .footer-main,
  footer .footer-inner,
  footer .footer-main {
    padding-bottom: 16px !important;
  }

  .site-footer .footer-bottom,
  .site-footer .footer-info,
  footer .footer-bottom,
  footer .footer-info {
    padding-top: 12px !important;
  }
}
html body .footer.footer {
  min-height: 0 !important;
  height: auto !important;
  padding: 30px 0 20px !important;
  background: #111111 !important;
  color: #ffffff !important;
  border-top: 1px solid rgba(255,255,255,0.18) !important;
}

/* 상단 소개·메뉴 영역 */
html body .footer.footer .footer-top {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
  align-items: flex-start !important;
}

/* 하단 회사정보 영역 */
html body .footer.footer .footer-bottom {
  margin-top: 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,0.16) !important;
}

/* 제목 */
html body .footer.footer h4 {
  color: #ffffff !important;
}

/* 일반 글자 */
html body .footer.footer p,
html body .footer.footer li,
html body .footer.footer .footer-info,
html body .footer.footer .footer-tagline {
  color: rgba(255,255,255,0.76) !important;
}

/* 링크 */
html body .footer.footer a {
  color: rgba(255,255,255,0.78) !important;
}

html body .footer.footer a:hover {
  color: #ffffff !important;
}