/*
Theme Name: 원페이지 반응형 gnc-01
Theme URI: https://d-elin.com/
Author: 엘린디자인
Author URI: https://d-elin.com/
Description: 기업 홈페이지 제작에 최적화된 반응형 테마입니다. 메인 슬라이드, 회사소개, 사업분야, 전문성, 포트폴리오, 공지사항, 문의하기, 오시는길 영역을 사용자 정의에서 쉽게 수정할 수 있도록 구성되었습니다.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cafe24-company-starter
*/

:root {
  --c24-primary: #111827;
  --c24-accent: #2563eb;
  --c24-accent-dark: #1d4ed8;
  --c24-muted: #6b7280;
  --c24-light: #f8fafc;
  --c24-border: #e5e7eb;
  --c24-white: #ffffff;
  --c24-radius: 22px;
  --c24-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Pretendard", "Noto Sans KR", "Segoe UI", sans-serif;
  color: var(--c24-primary);
  background: var(--c24-white);
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

.c24-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.c24-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(229,231,235,.8);
}
.c24-header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.c24-logo {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.04em;
  font-size: 22px;
}
.c24-logo span {
  margin-top: 5px;
  color: var(--c24-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}

.c24-logo .custom-logo-link {
  display: inline-flex;
  align-items: center;
}
.c24-logo img,
.c24-logo .custom-logo {
  display: block;
  width: auto;
  max-width: 340px;
  max-height: 82px;
  height: auto;
}
.c24-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 15px;
  font-weight: 600;
}
.c24-nav a { color: #374151; }
.c24-nav a:hover { color: var(--c24-accent); }
.c24-btn {
  display: inline-flex;
  font-size: var(--c24-hero-btn-size, 15px);
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--c24-accent);
  color: #fff;
  font-weight: 700;
  transition: .2s ease;
}
.c24-btn:hover { background: var(--c24-accent-dark); transform: translateY(-1px); }
.c24-btn-outline {
  background: #fff;
  color: var(--c24-primary);
  border-color: var(--c24-border);
}
.c24-btn-outline:hover { background: var(--c24-light); color: var(--c24-primary); }

.c24-hero {
  position: relative;
  overflow: hidden;
  padding: 118px 0 92px;
  background:
    radial-gradient(circle at 80% 15%, rgba(37,99,235,.18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef4ff 50%, #ffffff 100%);
}
.c24-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 60px;
  align-items: center;
}
.c24-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 8px 14px;
  border-radius: 999px;
  color: var(--c24-accent-dark);
  background: rgba(37, 99, 235, .1);
  font-size: var(--c24-hero-kicker-size, 14px);
  font-weight: 800;
}
.c24-hero h1 {
  margin: 0 0 24px;
  font-size: var(--c24-hero-title-size, 72px);
  line-height: 1.08;
  letter-spacing: -0.07em;
}
.c24-hero p {
  margin: 0 0 34px;
  color: #4b5563;
  font-size: var(--c24-hero-desc-size, 19px);
  word-break: keep-all;
}
.c24-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.c24-hero-card {
  padding: 34px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 34px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--c24-shadow);
}
.c24-hero-card h3 { margin: 0 0 18px; font-size: var(--c24-hero-stats-title-size, 24px); letter-spacing: -0.04em; }
.c24-stat-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.c24-stat {
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--c24-border);
}
.c24-stat strong { display:block; font-size: var(--c24-hero-stat-num-size, 30px); letter-spacing: -0.04em; }
.c24-stat span { color: var(--c24-muted); font-size: var(--c24-hero-stat-label-size, 13px); }

.c24-section { padding: 96px 0; }
.c24-section-light { background: var(--c24-light); }
.c24-services-section {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.c24-services-section-has-image .c24-section-head {
  position: relative;
  z-index: 1;
}
.c24-services-section-has-image .c24-card {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
}

.c24-section-head {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}
.c24-section-head h2 {
  margin: 0 0 14px;
  font-size: var(--c24-section-title-size, clamp(30px, 4vw, 46px));
  line-height: 1.18;
  letter-spacing: -0.06em;
}
.c24-section-head p { margin: 0; color: var(--c24-muted); font-size: var(--c24-section-desc-size, 17px); word-break: keep-all; }

.c24-about {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 48px;
  align-items: center;
}
.c24-image-box {
  min-height: 420px;
  border-radius: 34px;
  background:
    linear-gradient(rgba(17,24,39,.12), rgba(17,24,39,.12)),
    linear-gradient(135deg, #dbeafe, #eff6ff 48%, #ffffff);
  box-shadow: var(--c24-shadow);
  display: flex;
  align-items: flex-end;
  padding: 30px;
}
.c24-image-box-has-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.c24-image-box div {
  width: 100%;
  padding: 26px;
  border-radius: 24px;
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(12px);
}
.c24-image-box strong { display:block; font-size: var(--c24-about-box-title-size, 22px); letter-spacing: -0.04em; }
.c24-image-box span { color: var(--c24-muted); font-size: var(--c24-about-box-desc-size, 15px); }
.c24-about h2 { margin: 0 0 18px; font-size: var(--c24-about-title-size, 40px); line-height: 1.22; letter-spacing: -0.06em; }
.c24-about p { color: #4b5563; font-size: var(--c24-about-desc-size, 17px); }
.c24-check-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; }
.c24-check-list li {
  list-style: none;
  padding: 16px 18px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--c24-border);
  font-weight: 700;
  font-size: var(--c24-about-bullet-size, 15px);
}

.c24-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.c24-card {
  padding: 32px;
  border-radius: var(--c24-radius);
  background: #fff;
  border: 1px solid var(--c24-border);
  box-shadow: 0 10px 30px rgba(15,23,42,.04);
}
.c24-card .num { color: var(--c24-accent); font-weight: 900; font-size: var(--c24-service-card-num-size, 15px); }
.c24-card h3 { margin: 10px 0 10px; font-size: var(--c24-service-card-title-size, 23px); letter-spacing: -0.04em; }
.c24-card p { margin: 0; color: var(--c24-muted); font-size: var(--c24-service-card-desc-size, 15px); }

.c24-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.c24-feature {
  padding: 28px 22px;
  text-align: center;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--c24-border);
}
.c24-feature strong { display:block; margin-bottom: 8px; font-size: var(--c24-feature-title-size, 19px); }
.c24-feature span { color: var(--c24-muted); font-size: var(--c24-feature-desc-size, 14px); }

.c24-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.c24-project {
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid var(--c24-border);
  background: #fff;
  box-shadow: var(--c24-shadow);
}
.c24-project-thumb {
  height: 220px;
  background: linear-gradient(135deg, #bfdbfe, #e0f2fe, #f8fafc);
}
.c24-project-body { padding: 24px; }
.c24-project-body h3 { margin: 0 0 8px; font-size: 22px; letter-spacing: -0.04em; }
.c24-project-body p { margin: 0; color: var(--c24-muted); }

.c24-contact {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 38px;
  align-items: stretch;
}
.c24-contact-info,
.c24-form-box {
  padding: 36px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid var(--c24-border);
  box-shadow: var(--c24-shadow);
}
.c24-contact-info h2 { margin: 0 0 16px; font-size: 36px; line-height: 1.2; letter-spacing: -0.06em; }
.c24-contact-info p { color: var(--c24-muted); }
.c24-info-list { margin-top: 28px; display: grid; gap: 14px; }
.c24-info-list div { padding: 18px; border-radius: 18px; background: var(--c24-light); }
.c24-info-list strong { display:block; font-size: 14px; color: var(--c24-muted); }
.c24-info-list span { font-weight: 800; }
.c24-form-guide {
  margin: 0 0 16px;
  color: var(--c24-muted);
}
.c24-form-fake {
  display: grid;
  gap: 12px;
}
.c24-form-fake input,
.c24-form-fake textarea {
  width: 100%;
  border: 1px solid var(--c24-border);
  border-radius: 14px;
  padding: 15px 16px;
  font: inherit;
  background: #f9fafb;
}
.c24-form-fake textarea { min-height: 130px; resize: vertical; }

.c24-footer {
  padding: 40px 0;
  color: #d1d5db;
  background: #111827;
}
.c24-footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.c24-footer strong { color: #fff; display:block; margin-bottom: 8px; font-size: 20px; }
.c24-footer p { margin: 0; color: #9ca3af; }


/* =============================
   Tablet / Mobile Header Menu
   ============================= */
.c24-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--c24-border);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.c24-menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--c24-primary);
  transition: transform .24s ease, opacity .24s ease;
}
.c24-header.is-menu-open .c24-menu-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.c24-header.is-menu-open .c24-menu-toggle span:nth-child(2) {
  opacity: 0;
}
.c24-header.is-menu-open .c24-menu-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.c24-mobile-panel {
  display: none;
  border-top: 1px solid rgba(229,231,235,.9);
  background: rgba(255,255,255,.98);
}
.c24-mobile-panel-inner {
  padding-top: 12px;
  padding-bottom: 16px;
  display: grid;
  gap: 8px;
}
.c24-mobile-panel a:not(.c24-btn) {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 12px;
  color: #374151;
  font-size: 15px;
  font-weight: 700;
}
.c24-mobile-panel a:not(.c24-btn):hover {
  background: var(--c24-light);
  color: var(--c24-accent);
}
.c24-mobile-cta {
  width: 100%;
  margin-top: 6px;
}

@media (max-width: 980px) {
  .c24-header-inner {
    gap: 12px;
  }
  .c24-nav {
    display: none !important;
  }
  .c24-menu-toggle {
    display: inline-flex;
    flex: 0 0 auto;
  }
  .c24-header.is-menu-open .c24-mobile-panel {
    display: block;
  }
}

@media (max-width: 640px) {
  .c24-header .c24-header-cta {
    display: none;
  }
  .c24-logo img,
  .c24-logo .custom-logo {
    max-width: 220px;
    max-height: 56px;
  }
}

@media (max-width: 980px) {
  .c24-nav { display: none; }
  .c24-hero-grid,
  .c24-about,
  .c24-contact { grid-template-columns: 1fr; }
  .c24-card-grid,
  .c24-portfolio-grid { grid-template-columns: 1fr 1fr; }
  .c24-feature-grid { grid-template-columns: 1fr 1fr; }
  .c24-hero { padding: 82px 0 70px; }
}
@media (max-width: 640px) {
  .c24-container { width: min(100% - 28px, 1180px); }
  .c24-header-inner { min-height: 66px; }
  .c24-logo { font-size: 19px; }
  .c24-header .c24-header-cta { display:none; }
  .c24-hero h1 { font-size: 40px; }
  .c24-hero p { font-size: 16px; }
  .c24-card-grid,
  .c24-portfolio-grid,
  .c24-feature-grid,
  .c24-stat-grid { grid-template-columns: 1fr; }
  .c24-section { padding: 68px 0; }
  .c24-about h2,
  .c24-contact-info h2 { font-size: 30px; }
  .c24-hero-card,
  .c24-contact-info,
  .c24-form-box { padding: 24px; }
}


/* =============================
   Main Visual Image Slider
   ============================= */
.c24-hero-slider {
  min-height: 720px;
  padding: 150px 0 110px;
  background: #111827;
}
.c24-slider,
.c24-slide,
.c24-hero-overlay {
  position: absolute;
  inset: 0;
}
.c24-slider { z-index: 0; }
.c24-slide {
  opacity: 0;
  transform: scale(1.035);
  transition: opacity 1.1s ease, transform 5.8s ease;
}
.c24-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.c24-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c24-hero-overlay {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, .82) 0%, rgba(15, 23, 42, .58) 46%, rgba(15, 23, 42, .25) 100%),
    linear-gradient(180deg, rgba(15, 23, 42, .25) 0%, rgba(15, 23, 42, .65) 100%);
}
.c24-hero-slider .c24-container,
.c24-slider-dots {
  position: relative;
  z-index: 2;
}
.c24-hero-slider .c24-kicker {
  color: #bfdbfe;
  background: rgba(255,255,255,.14);
}
.c24-hero-slider h1,
.c24-hero-slider p {
  color: #fff;
}
.c24-hero-slider p { opacity: .88; }
.c24-hero-slider .c24-btn-outline {
  color: #fff;
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.35);
}
.c24-hero-slider .c24-btn-outline:hover {
  background: rgba(255,255,255,.22);
  color: #fff;
}
.c24-hero-slider .c24-hero-card {
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(14px);
}
.c24-slider-dots {
  width: min(1180px, calc(100% - 40px));
  margin: 36px auto 0;
  display: flex;
  gap: 10px;
}
.c24-slider-dots button {
  width: 34px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.38);
  cursor: pointer;
  transition: .25s ease;
}
.c24-slider-dots button.is-active {
  width: 58px;
  background: #fff;
}
@media (max-width: 980px) {
  .c24-hero-slider {
    min-height: auto;
    padding: 96px 0 72px;
  }
  .c24-hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, .82), rgba(15, 23, 42, .58));
  }
}
@media (max-width: 640px) {
  .c24-hero-slider { padding: 74px 0 56px; }
  .c24-slider-dots { width: min(100% - 28px, 1180px); }
}

/* =============================
   Fixed Top Slider Layout
   - 슬라이드와 본문 소개 영역이 겹치지 않도록 완전 분리
   ============================= */
.c24-top-slider {
  position: relative;
  width: 100%;
  height: clamp(360px, 48vw, 680px);
  overflow: hidden;
  background: #111827;
}

.c24-top-slider .c24-slider,
.c24-top-slider .c24-slide {
  position: absolute;
  inset: 0;
}

.c24-top-slider .c24-slider {
  z-index: 1;
}

.c24-top-slider .c24-slide {
  opacity: 0;
  visibility: hidden;
  transform: none !important;
  transition: none !important;
}

.c24-top-slider .c24-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: none !important;
}

.c24-top-slider .c24-slide img,
.c24-top-slider .c24-slide video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c24-top-slider .c24-slide video {
  pointer-events: none;
}

.c24-top-slider .c24-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 30px;
  z-index: 3;
  transform: translateX(-50%);
  width: min(1180px, calc(100% - 40px));
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.c24-hero:not(.c24-hero-slider) {
  position: relative;
  overflow: visible;
  padding: 96px 0 92px;
  background:
    radial-gradient(circle at 80% 15%, rgba(37,99,235,.18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef4ff 50%, #ffffff 100%);
}

@media (max-width: 980px) {
  .c24-top-slider {
    height: clamp(300px, 58vw, 520px);
  }
  .c24-hero:not(.c24-hero-slider) {
    padding: 78px 0 70px;
  }
}

@media (max-width: 640px) {
  .c24-top-slider {
    height: 300px;
  }
  .c24-top-slider .c24-slider-dots {
    bottom: 18px;
    width: min(100% - 28px, 1180px);
  }
  .c24-hero:not(.c24-hero-slider) {
    padding: 64px 0 58px;
  }
}

/* =============================
   Top Slider Text Overlay
   - 사용자 정의하기 > 상단 슬라이드 이미지에서 1~3번 각각 문구 수정
   ============================= */
.c24-top-slider .c24-slide-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, .38) 0%, rgba(15, 23, 42, .22) 48%, rgba(15, 23, 42, .04) 100%),
    linear-gradient(180deg, rgba(15, 23, 42, .06) 0%, rgba(15, 23, 42, .20) 100%);
  pointer-events: none;
}

.c24-top-slider .c24-slide-copy {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: min(1180px, calc(100% - 40px));
  transform: translate(-50%, -50%);
  color: #fff;
  box-sizing: border-box;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-rendering: auto;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

.c24-top-slider .c24-slide-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 13px;
  margin: 0 0 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #bfdbfe;
  font-size: var(--c24-slide-kicker-size, 12px);
  font-weight: 800;
  letter-spacing: .12em;
}

.c24-top-slider .c24-slide-copy h2 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: var(--c24-slide-title-size, 42px);
  line-height: 1.12;
  letter-spacing: -0.045em;
  font-weight: 900;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none;
}

.c24-top-slider .c24-slide-copy p {
  max-width: 620px;
  margin: 20px 0 0;
  color: #fff;
  font-size: var(--c24-slide-desc-size, 17px);
  line-height: 1.75;
  word-break: keep-all;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none;
}

.c24-top-slider .c24-slide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 24px;
  margin-top: 30px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font-size: var(--c24-slide-btn-size, 14px);
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 16px 36px rgba(37, 99, 235, .34);
  transition: transform .25s ease, background .25s ease;
}

.c24-top-slider .c24-slide-btn:hover {
  transform: translateY(-2px);
  background: #1d4ed8;
  color: #fff;
}

@media (max-width: 980px) {
  .c24-top-slider .c24-slide-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, .46), rgba(15, 23, 42, .28));
  }
  .c24-top-slider .c24-slide-copy {
    text-align: center;
  }
  .c24-top-slider .c24-slide-copy h2,
  .c24-top-slider .c24-slide-copy p {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .c24-top-slider .c24-slide-copy {
    width: min(100% - 32px, 1180px);
  }
  .c24-top-slider .c24-slide-kicker {
    min-height: 26px;
    margin-bottom: 12px;
    padding: 0 10px;
    font-size: var(--c24-slide-mobile-kicker-size, 11px);
  }
  .c24-top-slider .c24-slide-copy h2 {
    font-size: var(--c24-slide-mobile-title-size, 26px);
  }
  .c24-top-slider .c24-slide-copy p {
    margin-top: 14px;
    font-size: var(--c24-slide-mobile-desc-size, 14px);
    line-height: 1.65;
  }
  .c24-top-slider .c24-slide-btn {
    height: 44px;
    margin-top: 22px;
    padding: 0 18px;
    font-size: var(--c24-slide-mobile-btn-size, 13px);
  }
}



/* =============================
   Top Slider Text Sharp Mode
   - 폰트 흐림 방지를 위해 슬라이드 텍스트 자체에는 opacity/transform 애니메이션을 사용하지 않습니다.
   - 텍스트는 항상 100% 선명하게 고정 출력합니다.
   ============================= */
.c24-top-slider .c24-slide-copy,
.c24-top-slider .c24-slide-copy > *,
.c24-top-slider .c24-slide.is-active .c24-slide-copy > * {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
  will-change: auto;
}

.c24-top-slider .c24-slide:not(.is-active) .c24-slide-copy {
  visibility: hidden;
}

/* =============================
   Scroll Reveal Animation
   - 각 영역이 화면에 들어올 때 아래에서 위로 순차 등장
   ============================= */
.c24-reveal {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.78s ease,
    transform 0.78s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--c24-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.c24-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .c24-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* =============================
   Video Slide Visibility Fix
   ============================= */
.c24-top-slider .c24-slide video.c24-slide-video,
.c24-top-slider .c24-slide .c24-slide-video-poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c24-top-slider .c24-slide video.c24-slide-video {
  background: #111827;
  pointer-events: none;
}

.c24-top-slider .c24-slide.has-video-ready .c24-slide-video-poster {
  opacity: 0;
  visibility: hidden;
}

.c24-top-slider .c24-slide-overlay,
.c24-top-slider .c24-slide-copy {
  position: absolute;
}


/* =============================
   YouTube Slide Background
   - 슬라이드 4 유튜브 URL/ID 입력 시 iframe 배경으로 출력
   ============================= */
.c24-top-slider .c24-slide iframe.c24-slide-youtube {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
  width: 100%;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  background: #111827;
}

.c24-top-slider .c24-slide .c24-slide-youtube-poster {
  transition: opacity .35s ease, visibility .35s ease;
}

.c24-top-slider .c24-slide.is-active iframe.c24-slide-youtube + .c24-slide-youtube-poster {
  opacity: 0;
  visibility: hidden;
}


/* =============================
   Slide Text Position Restore
   - 슬라이드 순서 변경 기능과 관계없이 텍스트 위치를 기존 기준으로 고정
   ============================= */
.c24-top-slider .c24-slide-copy {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  transform: translate(-50%, -50%) !important;
  text-align: left;
}

@media (max-width: 980px) {
  .c24-top-slider .c24-slide-copy {
    width: min(100% - 40px, 1180px) !important;
    text-align: center;
  }
}

@media (max-width: 640px) {
  .c24-top-slider .c24-slide-copy {
    width: min(100% - 32px, 1180px) !important;
  }
}


@media (max-width: 767px) {
  .c24-hero .c24-kicker {
    font-size: var(--c24-hero-mobile-kicker-size, 13px);
  }
  .c24-hero h1 {
    font-size: var(--c24-hero-mobile-title-size, 38px);
  }
  .c24-hero p {
    font-size: var(--c24-hero-mobile-desc-size, 16px);
  }
  .c24-hero .c24-btn {
    font-size: var(--c24-hero-mobile-btn-size, 14px);
  }
  .c24-hero-card h3 {
    font-size: var(--c24-hero-mobile-stats-title-size, 21px);
  }
  .c24-stat strong {
    font-size: var(--c24-hero-mobile-stat-num-size, 26px);
  }
  .c24-stat span {
    font-size: var(--c24-hero-mobile-stat-label-size, 12px);
  }
}


.c24-about-section .c24-kicker {
  font-size: var(--c24-about-kicker-size, 14px);
}
.c24-services-section {
  --c24-section-title-size: var(--c24-services-title-size, 46px);
  --c24-section-desc-size: var(--c24-services-desc-size, 17px);
}
.c24-features-section {
  --c24-section-title-size: var(--c24-features-title-size, 46px);
  --c24-section-desc-size: var(--c24-features-desc-size, 17px);
}
.c24-portfolio-section {
  --c24-section-title-size: var(--c24-portfolio-title-size, 46px);
  --c24-section-desc-size: var(--c24-portfolio-desc-size, 17px);
}
.c24-project h3 {
  font-size: var(--c24-project-title-size, 20px);
}
.c24-project p {
  font-size: var(--c24-project-desc-size, 15px);
}
.c24-contact-section .c24-kicker {
  font-size: var(--c24-contact-kicker-size, 14px);
}
.c24-info-list strong {
  font-size: var(--c24-contact-info-label-size, 13px);
}
.c24-info-list span {
  font-size: var(--c24-contact-info-text-size, 15px);
}

@media (max-width: 767px) {
  .c24-about-section .c24-kicker {
    font-size: var(--c24-about-mobile-kicker-size, 13px);
  }
  .c24-image-box strong {
    font-size: var(--c24-about-mobile-box-title-size, 20px);
  }
  .c24-image-box span {
    font-size: var(--c24-about-mobile-box-desc-size, 14px);
  }
  .c24-about h2 {
    font-size: var(--c24-about-mobile-title-size, 30px);
  }
  .c24-about p {
    font-size: var(--c24-about-mobile-desc-size, 16px);
  }
  .c24-check-list li {
    font-size: var(--c24-about-mobile-bullet-size, 14px);
  }
  .c24-services-section {
    --c24-section-title-size: var(--c24-services-mobile-title-size, 30px);
    --c24-section-desc-size: var(--c24-services-mobile-desc-size, 16px);
    --c24-service-card-num-size: var(--c24-service-mobile-card-num-size, 14px);
    --c24-service-card-title-size: var(--c24-service-mobile-card-title-size, 20px);
    --c24-service-card-desc-size: var(--c24-service-mobile-card-desc-size, 14px);
  }
  .c24-features-section {
    --c24-section-title-size: var(--c24-features-mobile-title-size, 30px);
    --c24-section-desc-size: var(--c24-features-mobile-desc-size, 16px);
    --c24-feature-title-size: var(--c24-feature-mobile-title-size, 18px);
    --c24-feature-desc-size: var(--c24-feature-mobile-desc-size, 13px);
  }
  .c24-portfolio-section {
    --c24-section-title-size: var(--c24-portfolio-mobile-title-size, 30px);
    --c24-section-desc-size: var(--c24-portfolio-mobile-desc-size, 16px);
    --c24-project-title-size: var(--c24-project-mobile-title-size, 18px);
    --c24-project-desc-size: var(--c24-project-mobile-desc-size, 14px);
  }
  .c24-contact-section .c24-kicker {
    font-size: var(--c24-contact-mobile-kicker-size, 13px);
  }
  .c24-contact h2 {
    font-size: var(--c24-contact-mobile-title-size, 30px);
  }
  .c24-contact p {
    font-size: var(--c24-contact-mobile-desc-size, 16px);
  }
  .c24-info-list strong {
    font-size: var(--c24-contact-mobile-info-label-size, 12px);
  }
  .c24-info-list span {
    font-size: var(--c24-contact-mobile-info-text-size, 14px);
  }
}


/* =============================
   상단 슬라이드 텍스트 모션 복구
   - 글자 선명도 유지를 위해 opacity/filter/scale 없이 위치만 이동
   - 활성 슬라이드에서 라벨 → 제목 → 설명 → 버튼 순서로 등장
   ============================= */
.c24-slide-copy .c24-slide-kicker,
.c24-slide-copy h2,
.c24-slide-copy p,
.c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 18px, 0);
  transition-property: transform;
  transition-duration: .72s;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.c24-slide.is-active .c24-slide-copy .c24-slide-kicker,
.c24-slide.is-active .c24-slide-copy h2,
.c24-slide.is-active .c24-slide-copy p,
.c24-slide.is-active .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 0, 0);
}

.c24-slide.is-active .c24-slide-copy .c24-slide-kicker {
  transition-delay: .12s;
}

.c24-slide.is-active .c24-slide-copy h2 {
  transition-delay: .22s;
}

.c24-slide.is-active .c24-slide-copy p {
  transition-delay: .34s;
}

.c24-slide.is-active .c24-slide-copy .c24-slide-btn {
  transition-delay: .46s;
}

.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-kicker,
.c24-slide:not(.is-active) .c24-slide-copy h2,
.c24-slide:not(.is-active) .c24-slide-copy p,
.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-btn {
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .c24-slide-copy .c24-slide-kicker,
  .c24-slide-copy h2,
  .c24-slide-copy p,
  .c24-slide-copy .c24-slide-btn {
    transform: none !important;
    transition: none !important;
  }
}


/* =============================
   사업분야 배경 이미지 오버레이 제거 + 제목/설명 흰색 처리
   ============================= */
.c24-services-section.c24-services-section-has-image .c24-section-head h2,
.c24-services-section.c24-services-section-has-image .c24-section-head p {
  color: #fff;
}

.c24-services-section.c24-services-section-has-image .c24-section-head h2 {
  text-shadow: 0 2px 14px rgba(0,0,0,.32);
}

.c24-services-section.c24-services-section-has-image .c24-section-head p {
  text-shadow: 0 1px 10px rgba(0,0,0,.28);
}

.c24-services-section.c24-services-section-has-image .c24-card {
  background: rgba(255,255,255,.94);
}


/* =============================
   로고 위아래 여백 설정
   ============================= */
.c24-logo {
  padding-top: var(--c24-logo-pt, 10px);
  padding-bottom: var(--c24-logo-pb, 10px);
}

@media (max-width: 980px) {
  .c24-logo {
    padding-top: var(--c24-logo-mobile-pt, 8px);
    padding-bottom: var(--c24-logo-mobile-pb, 8px);
  }
}


/* =============================
   사업분야 카드 8개 확장 대응
   ============================= */
@media (max-width: 1180px) {
  .c24-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .c24-card-grid {
    grid-template-columns: 1fr;
  }
}


/* =============================
   회사소개 체크 문구 마우스 오버 효과
   ============================= */
.c24-check-list li {
  position: relative;
  overflow: hidden;
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    background-color .24s ease,
    color .24s ease;
}

.c24-check-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: var(--c24-accent);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .24s ease;
}

.c24-check-list li:hover {
  transform: translateY(-5px);
  border-color: rgba(37, 99, 235, .38);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .10);
  background-color: #ffffff;
  color: var(--c24-accent-dark);
}

.c24-check-list li:hover::before {
  transform: scaleY(1);
}

@media (hover: none) {
  .c24-check-list li:hover {
    transform: none;
  }
}


/* =============================
   우리의 강점 아이콘
   ============================= */
.c24-feature-icon {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
  margin: 0 auto 16px;
}

.c24-feature strong {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

@media (max-width: 767px) {
  .c24-feature-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 14px;
  }
}


/* =============================
   오른쪽 고정 퀵메뉴
   ============================= */
.c24-quick-menu {
  position: fixed;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 998;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.c24-quick-btn {
  width: 78px;
  min-height: 60px;
  padding: 11px 8px;
  border-radius: 18px;
  background: rgba(17, 24, 39, .92);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  transition:
    transform .22s ease,
    background-color .22s ease,
    box-shadow .22s ease;
}

.c24-quick-btn:hover {
  transform: translateY(-4px);
  background: var(--c24-accent);
  box-shadow: 0 16px 38px rgba(37, 99, 235, .26);
}

.c24-quick-icon {
  display: block;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}

.c24-quick-text {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.04em;
}

@media (max-width: 980px) {
  .c24-quick-menu {
    right: 14px;
    bottom: 18px;
    top: auto;
    transform: none;
    gap: 8px;
  }

  .c24-quick-btn {
    width: 62px;
    min-height: 58px;
    border-radius: 15px;
    padding: 8px 6px;
  }

  .c24-quick-icon {
    font-size: 19px;
  }

  .c24-quick-text {
    font-size: 11px;
  }
}

@media (max-width: 420px) {
  .c24-quick-menu {
    right: 10px;
    bottom: 14px;
  }

  .c24-quick-btn {
    width: 56px;
    min-height: 54px;
  }
}


/* =============================
   오시는길 페이지
   ============================= */
.c24-directions-hero {
  padding: 96px 0 76px;
  background:
    radial-gradient(circle at 84% 16%, rgba(37,99,235,.18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef4ff 55%, #ffffff 100%);
  text-align: center;
}

.c24-directions-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.15;
  letter-spacing: -0.06em;
}

.c24-directions-hero p {
  margin: 0;
  color: #4b5563;
  font-size: 18px;
}

.c24-directions-grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 34px;
  align-items: stretch;
}

.c24-directions-info,
.c24-directions-map {
  border: 1px solid var(--c24-border);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--c24-shadow);
  overflow: hidden;
}

.c24-directions-info {
  padding: 34px;
}

.c24-directions-info h2 {
  margin: 0 0 22px;
  font-size: 28px;
  letter-spacing: -0.05em;
}

.c24-directions-map iframe {
  display: block;
  width: 100%;
  height: 480px;
  border: 0;
}

.c24-map-placeholder {
  min-height: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--c24-muted);
  background:
    linear-gradient(135deg, #eef6ff, #ffffff);
  text-align: center;
  padding: 30px;
}

.c24-map-placeholder strong {
  color: var(--c24-primary);
  font-size: 24px;
}

@media (max-width: 900px) {
  .c24-directions-grid {
    grid-template-columns: 1fr;
  }
  .c24-directions-map iframe,
  .c24-map-placeholder {
    min-height: 360px;
    height: 360px;
  }
}


/* =============================
   전문성 아이콘/텍스트 크기 보정
   ============================= */
.c24-feature-icon {
  width: 80px;
  height: 80px;
  margin-bottom: 16px;
}

.c24-features-section {
  --c24-feature-title-size: 21px;
  --c24-feature-desc-size: 15px;
}

@media (max-width: 767px) {
  .c24-feature-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 13px;
  }

  .c24-features-section {
    --c24-feature-title-size: 19px;
    --c24-feature-desc-size: 14px;
  }
}


/* =============================
   주요 사업 분야 카드 마우스 오버 효과
   ============================= */
.c24-services-section .c24-card {
  position: relative;
  overflow: hidden;
  transition:
    transform .26s ease,
    border-color .26s ease,
    box-shadow .26s ease,
    background-color .26s ease;
}

.c24-services-section .c24-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(37, 99, 235, 0) 58%);
  opacity: 0;
  transition: opacity .26s ease;
  pointer-events: none;
}

.c24-services-section .c24-card::after {
  content: "";
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: var(--c24-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .26s ease;
}

.c24-services-section .c24-card:hover {
  transform: translateY(-8px);
  border-color: rgba(37, 99, 235, .42);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .15);
  background-color: #fff;
}

.c24-services-section .c24-card:hover::before {
  opacity: 1;
}

.c24-services-section .c24-card:hover::after {
  transform: scaleX(1);
}

.c24-services-section .c24-card .num,
.c24-services-section .c24-card h3,
.c24-services-section .c24-card p {
  position: relative;
  z-index: 1;
}

.c24-services-section .c24-card .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(37, 99, 235, .10);
  transition:
    background-color .26s ease,
    color .26s ease,
    transform .26s ease;
}

.c24-services-section .c24-card:hover .num {
  color: #fff;
  background: var(--c24-accent);
  transform: translateY(-2px);
}

.c24-services-section .c24-card h3 {
  transition: color .26s ease;
}

.c24-services-section .c24-card:hover h3 {
  color: var(--c24-accent-dark);
}

@media (hover: none) {
  .c24-services-section .c24-card:hover {
    transform: none;
  }
}


/* =============================
   전문성 카드 마우스 오버 효과
   ============================= */
.c24-features-section .c24-feature {
  position: relative;
  overflow: hidden;
  transition:
    transform .26s ease,
    border-color .26s ease,
    box-shadow .26s ease,
    background-color .26s ease;
}

.c24-features-section .c24-feature::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(37, 99, 235, .14), rgba(37, 99, 235, 0) 58%);
  opacity: 0;
  transition: opacity .26s ease;
  pointer-events: none;
}

.c24-features-section .c24-feature::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: var(--c24-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .26s ease;
}

.c24-features-section .c24-feature:hover {
  transform: translateY(-8px);
  border-color: rgba(37, 99, 235, .42);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
  background-color: #fff;
}

.c24-features-section .c24-feature:hover::before {
  opacity: 1;
}

.c24-features-section .c24-feature:hover::after {
  transform: scaleX(1);
}

.c24-features-section .c24-feature-icon,
.c24-features-section .c24-feature strong,
.c24-features-section .c24-feature span {
  position: relative;
  z-index: 1;
}

.c24-features-section .c24-feature-icon {
  transition:
    transform .26s ease,
    filter .26s ease;
}

.c24-features-section .c24-feature:hover .c24-feature-icon {
  transform: translateY(-4px) scale(1.04);
  filter: drop-shadow(0 10px 16px rgba(37, 99, 235, .18));
}

.c24-features-section .c24-feature strong {
  transition: color .26s ease;
}

.c24-features-section .c24-feature:hover strong {
  color: var(--c24-accent-dark);
}

@media (hover: none) {
  .c24-features-section .c24-feature:hover {
    transform: none;
  }

  .c24-features-section .c24-feature:hover .c24-feature-icon {
    transform: none;
  }
}


/* =============================
   회사소개 왼쪽 이미지/동영상 박스
   ============================= */
.c24-image-box {
  position: relative;
  overflow: hidden;
}

.c24-image-box-has-video {
  background: #111827;
}

.c24-about-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c24-about-video-dim {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(17,24,39,.10), rgba(17,24,39,.18));
  pointer-events: none;
}

.c24-image-box > div {
  position: relative;
  z-index: 2;
}

.c24-image-box-has-video .c24-image-box > div {
  position: relative;
}

.c24-image-box-has-video > div {
  position: relative;
  z-index: 2;
}


/* =============================
   마우스 오버 효과 영역 커서 포인터 복구
   ============================= */
.c24-check-list li,
.c24-services-section .c24-card,
.c24-features-section .c24-feature,
.c24-project,
.c24-quick-btn {
  cursor: pointer;
}


/* =============================
   전문성 카드 아이콘 흔들림 제거
   - 카드 오버 효과는 유지
   - 아이콘은 고정
   ============================= */
.c24-features-section .c24-feature-icon {
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

.c24-features-section .c24-feature:hover .c24-feature-icon {
  transform: none !important;
  filter: none !important;
}


/* =============================
   회사소개 왼쪽 유튜브 영상
   ============================= */
.c24-image-box-has-youtube {
  background: #111827;
}

.c24-about-youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78%;
  height: 100%;
  min-width: 100%;
  min-height: 56.25vw;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
}

.c24-image-box-has-youtube > div {
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .c24-about-youtube {
    width: 190%;
    min-height: 100%;
  }
}


/* =============================
   상단 메뉴/버튼 글자 크기 사용자 정의
   ============================= */
.c24-nav {
  font-size: var(--c24-header-menu-font-size, 15px);
}

.c24-header-cta {
  font-size: var(--c24-header-cta-font-size, 15px);
  background: var(--c24-header-cta-bg-color, var(--c24-accent));
  color: var(--c24-header-cta-text-color, #fff);
}

.c24-header-cta:hover {
  background: var(--c24-header-cta-hover-bg-color, var(--c24-accent-dark));
  color: var(--c24-header-cta-text-color, #fff);
}

.c24-mobile-panel a {
  font-size: var(--c24-header-mobile-menu-font-size, 15px);
}

.c24-mobile-cta {
  font-size: var(--c24-header-mobile-cta-font-size, 14px);
  background: var(--c24-header-cta-bg-color, var(--c24-accent));
  color: var(--c24-header-cta-text-color, #fff);
}

.c24-mobile-cta:hover {
  background: var(--c24-header-cta-hover-bg-color, var(--c24-accent-dark));
  color: var(--c24-header-cta-text-color, #fff);
}


/* =============================
   모바일 숫자 카드 2열 배치
   ============================= */
@media (max-width: 767px) {
  .c24-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .c24-stat {
    padding: 18px 12px;
    text-align: center;
  }

  .c24-stat strong {
    line-height: 1.15;
  }

  .c24-stat span {
    display: block;
    margin-top: 5px;
    line-height: 1.35;
  }
}

@media (max-width: 360px) {
  .c24-stat {
    padding: 16px 8px;
  }
}


/* =============================
   모바일 전체 폰트 최적화
   ============================= */
@media (max-width: 767px) {
  body {
    font-size: 14px;
    line-height: 1.62;
    word-break: keep-all;
  }

  .c24-container {
    width: min(100% - 28px, 1180px);
  }

  .c24-section {
    padding: 64px 0;
  }

  .c24-section-head {
    margin-bottom: 32px;
  }

  .c24-section-head h2 {
    font-size: var(--c24-section-title-size, 26px);
    line-height: 1.25;
    letter-spacing: -0.055em;
  }

  .c24-section-head p {
    font-size: var(--c24-section-desc-size, 14px);
    line-height: 1.65;
  }

  .c24-kicker {
    font-size: 12px;
    padding: 6px 11px;
    margin-bottom: 14px;
  }

  /* 상단 메뉴 */
  .c24-mobile-panel a {
    font-size: var(--c24-header-mobile-menu-font-size, 14px);
  }

  .c24-mobile-cta {
    font-size: var(--c24-header-mobile-cta-font-size, 13px);
  }

  /* 상단 슬라이드 */
  .c24-slide-copy .c24-slide-kicker {
    font-size: var(--c24-slide-mobile-kicker-size, 11px);
  }

  .c24-slide-copy h2 {
    font-size: var(--c24-slide-mobile-title-size, 24px);
    line-height: 1.22;
    letter-spacing: -0.06em;
  }

  .c24-slide-copy p {
    font-size: var(--c24-slide-mobile-desc-size, 13px);
    line-height: 1.6;
  }

  .c24-slide-btn {
    font-size: var(--c24-slide-mobile-btn-size, 13px);
    min-height: 40px;
    padding: 0 16px;
  }

  /* 메인 소개 */
  .c24-hero {
    padding: 72px 0 58px;
  }

  .c24-hero h1 {
    font-size: var(--c24-hero-mobile-title-size, 30px);
    line-height: 1.18;
    letter-spacing: -0.06em;
  }

  .c24-hero p {
    font-size: var(--c24-hero-mobile-desc-size, 15px);
    line-height: 1.65;
  }

  .c24-hero .c24-btn {
    font-size: var(--c24-hero-mobile-btn-size, 13px);
    min-height: 42px;
    padding: 0 17px;
  }

  .c24-hero-card {
    padding: 24px;
  }

  .c24-hero-card h3 {
    font-size: var(--c24-hero-mobile-stats-title-size, 19px);
  }

  .c24-stat strong {
    font-size: var(--c24-hero-mobile-stat-num-size, 23px);
  }

  .c24-stat span {
    font-size: var(--c24-hero-mobile-stat-label-size, 12px);
  }

  /* 회사소개 */
  .c24-about h2 {
    font-size: var(--c24-about-mobile-title-size, 26px);
    line-height: 1.3;
  }

  .c24-about p {
    font-size: var(--c24-about-mobile-desc-size, 15px);
    line-height: 1.7;
  }

  .c24-image-box strong {
    font-size: var(--c24-about-mobile-box-title-size, 19px);
  }

  .c24-image-box span {
    font-size: var(--c24-about-mobile-box-desc-size, 13px);
  }

  .c24-check-list li {
    font-size: var(--c24-about-mobile-bullet-size, 13px);
    line-height: 1.5;
    padding: 14px 15px;
  }

  /* 사업분야 */
  .c24-card {
    padding: 24px;
  }

  .c24-card .num {
    font-size: var(--c24-service-mobile-card-num-size, 13px);
  }

  .c24-card h3 {
    font-size: var(--c24-service-mobile-card-title-size, 18px);
    line-height: 1.35;
  }

  .c24-card p {
    font-size: var(--c24-service-mobile-card-desc-size, 13px);
    line-height: 1.65;
  }

  /* 전문성 */
  .c24-feature {
    padding: 24px 18px;
  }

  .c24-feature strong {
    font-size: var(--c24-feature-mobile-title-size, 18px);
    line-height: 1.35;
  }

  .c24-feature span {
    font-size: var(--c24-feature-mobile-desc-size, 13px);
    line-height: 1.6;
  }

  /* 포트폴리오 */
  .c24-project-body h3,
  .c24-project h3 {
    font-size: var(--c24-project-mobile-title-size, 17px);
    line-height: 1.35;
  }

  .c24-project-body p,
  .c24-project p {
    font-size: var(--c24-project-mobile-desc-size, 13px);
    line-height: 1.65;
  }

  /* 오시는길 */
  .c24-directions-hero h1 {
    font-size: 28px;
    line-height: 1.25;
  }

  .c24-directions-hero p {
    font-size: 14px;
    line-height: 1.65;
  }

  .c24-directions-info h2 {
    font-size: 22px;
  }

  /* 문의 */
  .c24-contact h2 {
    font-size: var(--c24-contact-mobile-title-size, 26px);
    line-height: 1.3;
  }

  .c24-contact p {
    font-size: var(--c24-contact-mobile-desc-size, 14px);
    line-height: 1.65;
  }

  .c24-info-list strong {
    font-size: var(--c24-contact-mobile-info-label-size, 12px);
  }

  .c24-info-list span {
    font-size: var(--c24-contact-mobile-info-text-size, 13px);
  }

  /* 퀵메뉴 */
  .c24-quick-text {
    font-size: 10px;
  }
}

@media (max-width: 420px) {
  .c24-slide-copy h2 {
    font-size: min(var(--c24-slide-mobile-title-size, 24px), 23px);
  }

  .c24-hero h1 {
    font-size: min(var(--c24-hero-mobile-title-size, 30px), 28px);
  }

  .c24-section-head h2,
  .c24-about h2,
  .c24-contact h2 {
    font-size: 25px;
  }

  .c24-card,
  .c24-feature {
    padding: 22px 16px;
  }
}


/* =============================
   상단 슬라이드 드래그/스와이프
   ============================= */
.c24-slider {
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.c24-slider.is-dragging {
  cursor: grabbing;
}

.c24-slider.is-dragging a,
.c24-slider.is-dragging button {
  pointer-events: none;
}

.c24-slider img,
.c24-slider video,
.c24-slider iframe {
  user-select: none;
  -webkit-user-drag: none;
}


/* =============================
   상단 슬라이드 텍스트 모션
   - 각 슬라이드 전환 시 라벨 → 제목 → 설명 → 버튼 순서 등장
   - 글자 흐림 방지를 위해 opacity/filter/scale 없이 위치만 이동
   ============================= */
.c24-slide-copy .c24-slide-kicker,
.c24-slide-copy h2,
.c24-slide-copy p,
.c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 20px, 0);
  transition-property: transform;
  transition-duration: .68s;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.c24-slide.is-active .c24-slide-copy .c24-slide-kicker,
.c24-slide.is-active .c24-slide-copy h2,
.c24-slide.is-active .c24-slide-copy p,
.c24-slide.is-active .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 0, 0);
}

.c24-slide.is-active .c24-slide-copy .c24-slide-kicker {
  transition-delay: .10s;
}

.c24-slide.is-active .c24-slide-copy h2 {
  transition-delay: .22s;
}

.c24-slide.is-active .c24-slide-copy p {
  transition-delay: .34s;
}

.c24-slide.is-active .c24-slide-copy .c24-slide-btn {
  transition-delay: .46s;
}

.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-kicker,
.c24-slide:not(.is-active) .c24-slide-copy h2,
.c24-slide:not(.is-active) .c24-slide-copy p,
.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-btn {
  transition-delay: 0s;
}

/* 드래그 중에는 텍스트 모션이 덜컥거리지 않도록 전환만 잠시 멈춤 */
.c24-slider.is-dragging .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-dragging .c24-slide-copy h2,
.c24-slider.is-dragging .c24-slide-copy p,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-btn {
  transition-duration: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .c24-slide-copy .c24-slide-kicker,
  .c24-slide-copy h2,
  .c24-slide-copy p,
  .c24-slide-copy .c24-slide-btn {
    transform: none !important;
    transition: none !important;
  }
}


/* =============================
   상단 슬라이드 텍스트 모션 JS 강제 적용
   - JS가 슬라이드 전환마다 is-text-motion 클래스를 다시 부여합니다.
   ============================= */
.c24-slide .c24-slide-copy .c24-slide-kicker,
.c24-slide .c24-slide-copy h2,
.c24-slide .c24-slide-copy p,
.c24-slide .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 24px, 0) !important;
  transition-property: transform !important;
  transition-duration: .72s !important;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important;
  transition-delay: 0s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .10s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .22s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy p {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .34s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .46s !important;
}

.c24-slider.is-dragging .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-dragging .c24-slide-copy h2,
.c24-slider.is-dragging .c24-slide-copy p,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-btn {
  transition-duration: 0s !important;
}

@media (prefers-reduced-motion: reduce) {
  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    transform: none !important;
    transition: none !important;
  }
}


/* =============================
   상단 슬라이드 텍스트 모션 자연스럽게 개선
   - 드래그 이동 후에도 JS가 is-text-motion 클래스를 재부여합니다.
   ============================= */
.c24-slide .c24-slide-copy .c24-slide-kicker,
.c24-slide .c24-slide-copy h2,
.c24-slide .c24-slide-copy p,
.c24-slide .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 30px, 0) !important;
  transition-property: transform !important;
  transition-duration: .95s !important;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
  transition-delay: 0s !important;
  will-change: transform;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .08s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .20s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy p {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .34s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .50s !important;
}

/* 드래그 중에는 잠시 멈추되, 드래그 종료 즉시 JS에서 클래스 제거 후 모션 재실행 */
.c24-slider.is-dragging .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-dragging .c24-slide-copy h2,
.c24-slider.is-dragging .c24-slide-copy p,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-btn {
  transition-duration: 0s !important;
}

@media (prefers-reduced-motion: reduce) {
  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    transform: none !important;
    transition: none !important;
  }
}


/* =============================
   참고 사이트형 상단 슬라이드 모션
   - 배경: 천천히 확대/이동되는 메인 비주얼 모션
   - 텍스트: 라벨 → 제목 → 설명 → 버튼 순차 등장
   ============================= */

/* 배경 이미지/영상 모션 */
.c24-slide > img,
.c24-slide > video,
.c24-slide > iframe.c24-slide-youtube {
  transform: scale(1.08) translate3d(0, 0, 0) !important;
  transition:
    transform 5.8s cubic-bezier(.16, 1, .3, 1),
    opacity .8s ease !important;
  will-change: transform;
}

.c24-slide.is-active.is-visual-motion > img,
.c24-slide.is-active.is-visual-motion > video,
.c24-slide.is-active.is-visual-motion > iframe.c24-slide-youtube {
  transform: scale(1.01) translate3d(-1.2%, 0, 0) !important;
}

/* 슬라이드 텍스트 기본 상태 */
.c24-slide .c24-slide-copy .c24-slide-kicker,
.c24-slide .c24-slide-copy h2,
.c24-slide .c24-slide-copy p,
.c24-slide .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 42px, 0) !important;
  transition-property: transform, opacity !important;
  transition-duration: 1.05s, .95s !important;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1), ease !important;
  transition-delay: 0s !important;
  will-change: transform, opacity;
}

/* 활성 슬라이드 텍스트 등장 */
.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .10s, .10s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .24s, .24s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy p {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .40s, .40s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .58s, .58s !important;
}

/* 제목은 조금 더 힘 있게 */
.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  animation: c24-title-soft-focus 1.05s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes c24-title-soft-focus {
  0% {
    letter-spacing: -0.09em;
  }
  100% {
    letter-spacing: -0.065em;
  }
}

/* 드래그 중에는 모션 정지, 드래그 종료 후 JS가 다시 실행 */
.c24-slider.is-dragging .c24-slide > img,
.c24-slider.is-dragging .c24-slide > video,
.c24-slider.is-dragging .c24-slide > iframe.c24-slide-youtube,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-dragging .c24-slide-copy h2,
.c24-slider.is-dragging .c24-slide-copy p,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-btn {
  transition-duration: 0s !important;
}

/* 모바일에서는 과한 배경 움직임을 줄임 */
@media (max-width: 767px) {
  .c24-slide > img,
  .c24-slide > video,
  .c24-slide > iframe.c24-slide-youtube {
    transform: scale(1.06) translate3d(0, 0, 0) !important;
    transition-duration: 4.8s !important;
  }

  .c24-slide.is-active.is-visual-motion > img,
  .c24-slide.is-active.is-visual-motion > video,
  .c24-slide.is-active.is-visual-motion > iframe.c24-slide-youtube {
    transform: scale(1.01) translate3d(-.8%, 0, 0) !important;
  }

  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    transform: translate3d(0, 28px, 0) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c24-slide > img,
  .c24-slide > video,
  .c24-slide > iframe.c24-slide-youtube,
  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    transform: none !important;
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
  }
}


/* =============================
   상단 슬라이드 텍스트 고급 모션
   - 흐릿한 줌 느낌 대신 선명한 페이드 + 부드러운 상승
   - 라벨 → 제목 → 설명 → 버튼 순차 등장
   ============================= */
.c24-slide .c24-slide-copy .c24-slide-kicker,
.c24-slide .c24-slide-copy h2,
.c24-slide .c24-slide-copy p,
.c24-slide .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 34px, 0) !important;
  transition-property: opacity, transform !important;
  transition-duration: .86s, 1.05s !important;
  transition-timing-function: ease, cubic-bezier(.16, 1, .3, 1) !important;
  transition-delay: 0s !important;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  will-change: opacity, transform;
}

/* 라벨: 작고 빠르게 먼저 등장 */
.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .12s, .12s !important;
}

/* 제목: 조금 더 묵직하고 고급스럽게 */
.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .25s, .25s !important;
  animation: c24-luxury-title-in 1.12s cubic-bezier(.16, 1, .3, 1) both;
}

/* 설명 */
.c24-slide.is-active.is-text-motion .c24-slide-copy p {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .43s, .43s !important;
}

/* 버튼 */
.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .62s, .62s !important;
}

@keyframes c24-luxury-title-in {
  0% {
    letter-spacing: -0.095em;
    transform: translate3d(0, 40px, 0);
  }
  58% {
    letter-spacing: -0.072em;
  }
  100% {
    letter-spacing: -0.065em;
    transform: translate3d(0, 0, 0);
  }
}

/* 비활성 슬라이드는 다음 전환을 위해 초기 상태 유지 */
.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-kicker,
.c24-slide:not(.is-active) .c24-slide-copy h2,
.c24-slide:not(.is-active) .c24-slide-copy p,
.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 34px, 0) !important;
  transition-delay: 0s !important;
}

/* 버튼은 등장 후 살짝 고급스럽게 */
.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}

/* 드래그 중에는 모션 정지, 드래그 종료 후 JS가 다시 실행 */
.c24-slider.is-dragging .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-dragging .c24-slide-copy h2,
.c24-slider.is-dragging .c24-slide-copy p,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-btn {
  transition-duration: 0s !important;
  animation: none !important;
}

/* 모바일에서는 이동량과 딜레이를 살짝 줄여 빠르고 자연스럽게 */
@media (max-width: 767px) {
  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    transform: translate3d(0, 24px, 0) !important;
    transition-duration: .78s, .9s !important;
  }

  .c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
    transition-delay: .08s, .08s !important;
  }

  .c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
    transition-delay: .18s, .18s !important;
  }

  .c24-slide.is-active.is-text-motion .c24-slide-copy p {
    transition-delay: .31s, .31s !important;
  }

  .c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
    transition-delay: .45s, .45s !important;
  }

  @keyframes c24-luxury-title-in {
    0% {
      letter-spacing: -0.085em;
      transform: translate3d(0, 26px, 0);
    }
    100% {
      letter-spacing: -0.06em;
      transform: translate3d(0, 0, 0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* =============================
   상단 슬라이드 텍스트 혼합 모션
   - 라벨: 좌측 슬라이드 인
   - 제목: 고급스러운 확대/선명 등장
   - 설명: 부드러운 상승
   - 버튼: 살짝 커지며 등장
   ============================= */

/* 공통 초기 상태 */
.c24-slide .c24-slide-copy .c24-slide-kicker,
.c24-slide .c24-slide-copy h2,
.c24-slide .c24-slide-copy p,
.c24-slide .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  will-change: transform, opacity;
}

/* 라벨: 왼쪽에서 살짝 밀려옴 */
.c24-slide .c24-slide-copy .c24-slide-kicker {
  transform: translate3d(-34px, 0, 0) !important;
  transition:
    opacity .76s ease,
    transform .86s cubic-bezier(.16, 1, .3, 1) !important;
}

/* 제목: 아래에서만 올라오지 않고, 살짝 작았다가 또렷하게 커짐 */
.c24-slide .c24-slide-copy h2 {
  transform: translate3d(0, 16px, 0) scale(.965) !important;
  transform-origin: left center;
  transition:
    opacity .9s ease,
    transform 1.08s cubic-bezier(.16, 1, .3, 1),
    letter-spacing 1.08s cubic-bezier(.16, 1, .3, 1) !important;
  letter-spacing: -0.09em;
}

/* 설명: 아주 약하게 아래에서 등장 */
.c24-slide .c24-slide-copy p {
  transform: translate3d(0, 24px, 0) !important;
  transition:
    opacity .86s ease,
    transform .98s cubic-bezier(.16, 1, .3, 1) !important;
}

/* 버튼: 살짝 작게 있다가 커지며 등장 */
.c24-slide .c24-slide-copy .c24-slide-btn {
  transform: translate3d(0, 12px, 0) scale(.94) !important;
  transform-origin: center center;
  transition:
    opacity .78s ease,
    transform .88s cubic-bezier(.16, 1, .3, 1),
    box-shadow .3s ease !important;
}

/* 활성 슬라이드 */
.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .10s, .10s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  letter-spacing: -0.065em;
  transition-delay: .22s, .22s, .22s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy p {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .40s, .40s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  transition-delay: .58s, .58s, .58s !important;
}

/* 비활성 슬라이드는 다음 모션을 위해 초기화 */
.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-kicker {
  opacity: 0 !important;
  transform: translate3d(-34px, 0, 0) !important;
  transition-delay: 0s !important;
}

.c24-slide:not(.is-active) .c24-slide-copy h2 {
  opacity: 0 !important;
  transform: translate3d(0, 16px, 0) scale(.965) !important;
  letter-spacing: -0.09em;
  transition-delay: 0s !important;
}

.c24-slide:not(.is-active) .c24-slide-copy p {
  opacity: 0 !important;
  transform: translate3d(0, 24px, 0) !important;
  transition-delay: 0s !important;
}

.c24-slide:not(.is-active) .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 12px, 0) scale(.94) !important;
  transition-delay: 0s !important;
}

/* 모바일: 좌우 이동/확대감을 줄여 안정적으로 */
@media (max-width: 767px) {
  .c24-slide .c24-slide-copy .c24-slide-kicker {
    transform: translate3d(-20px, 0, 0) !important;
  }

  .c24-slide .c24-slide-copy h2 {
    transform: translate3d(0, 12px, 0) scale(.98) !important;
    letter-spacing: -0.075em;
  }

  .c24-slide .c24-slide-copy p {
    transform: translate3d(0, 18px, 0) !important;
  }

  .c24-slide .c24-slide-copy .c24-slide-btn {
    transform: translate3d(0, 8px, 0) scale(.96) !important;
  }

  .c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
    letter-spacing: -0.06em;
  }
}

/* 드래그 중에는 모션 정지, 드래그 종료 후 JS가 다시 실행 */
.c24-slider.is-dragging .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-dragging .c24-slide-copy h2,
.c24-slider.is-dragging .c24-slide-copy p,
.c24-slider.is-dragging .c24-slide-copy .c24-slide-btn {
  transition-duration: 0s !important;
}

/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {
  .c24-slide .c24-slide-copy .c24-slide-kicker,
  .c24-slide .c24-slide-copy h2,
  .c24-slide .c24-slide-copy p,
  .c24-slide .c24-slide-copy .c24-slide-btn {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* =============================
   새로고침 첫 슬라이드 모션 안정화
   - JS 준비 전에는 첫 슬라이드 텍스트/비주얼 모션을 잠시 초기 상태로 고정
   - 준비 후 is-slider-loading 제거 → 정상 모션 시작
   ============================= */
.c24-slider.is-slider-loading .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-slider-loading .c24-slide-copy h2,
.c24-slider.is-slider-loading .c24-slide-copy p,
.c24-slider.is-slider-loading .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 34px, 0) !important;
  transition: none !important;
  animation: none !important;
}

.c24-slider.is-slider-loading .c24-slide > img,
.c24-slider.is-slider-loading .c24-slide > video,
.c24-slider.is-slider-loading .c24-slide > iframe.c24-slide-youtube {
  transition: none !important;
}

/* 첫 로딩 직후에는 활성 슬라이드 텍스트만 JS 모션 클래스로 등장 */
.c24-slider:not(.is-slider-loading) .c24-slide.is-active:not(.is-text-motion) .c24-slide-copy .c24-slide-kicker,
.c24-slider:not(.is-slider-loading) .c24-slide.is-active:not(.is-text-motion) .c24-slide-copy h2,
.c24-slider:not(.is-slider-loading) .c24-slide.is-active:not(.is-text-motion) .c24-slide-copy p,
.c24-slider:not(.is-slider-loading) .c24-slide.is-active:not(.is-text-motion) .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
}


/* =============================
   새로고침 시 상단 슬라이드 영역 흔들림 방지
   - 상단 슬라이드는 스크롤 등장 모션 대상에서 제외
   - 혹시 c24-reveal 클래스가 붙어도 위치 이동하지 않도록 고정
   ============================= */
.c24-top-slider,
.c24-top-slider.c24-reveal,
.c24-top-slider.c24-reveal.is-visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.c24-top-slider {
  will-change: auto;
}


/* =============================
   첫 번째 슬라이드 텍스트 모션 최종 보정
   - 새로고침 직후 첫 슬라이드도 JS 준비 후 모션 시작
   ============================= */
.c24-slider.is-slider-loading .c24-slide {
  opacity: 0;
}

.c24-slider:not(.is-slider-loading) .c24-slide {
  opacity: 1;
}

.c24-slider.is-slider-loading .c24-slide-copy .c24-slide-kicker,
.c24-slider.is-slider-loading .c24-slide-copy h2,
.c24-slider.is-slider-loading .c24-slide-copy p,
.c24-slider.is-slider-loading .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 36px, 0) !important;
  transition: none !important;
  animation: none !important;
}

.c24-slide .c24-slide-copy .c24-slide-kicker,
.c24-slide .c24-slide-copy h2,
.c24-slide .c24-slide-copy p,
.c24-slide .c24-slide-copy .c24-slide-btn {
  opacity: 0 !important;
  transform: translate3d(0, 36px, 0) !important;
  transition-property: opacity, transform !important;
  transition-duration: .82s, .88s !important;
  transition-timing-function: ease, cubic-bezier(.22, 1, .36, 1) !important;
  transition-delay: 0s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-kicker {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .08s, .08s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy h2 {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .20s, .20s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy p {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .34s, .34s !important;
}

.c24-slide.is-active.is-text-motion .c24-slide-copy .c24-slide-btn {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .48s, .48s !important;
}


/* =============================
   포트폴리오 갤러리형 게시물 노출
   ============================= */
.c24-portfolio-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.c24-portfolio-item {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--c24-border);
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
  cursor: pointer;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.c24-portfolio-item:hover {
  transform: translateY(-8px);
  border-color: rgba(37,99,235,.38);
  box-shadow: 0 18px 42px rgba(15,23,42,.14);
}

.c24-portfolio-link {
  display: block;
  height: 100%;
}

.c24-portfolio-thumb {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #e5e7eb;
}

.c24-portfolio-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}

.c24-portfolio-item:hover .c24-portfolio-thumb img {
  transform: scale(1.06);
}

.c24-portfolio-no-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 75% 20%, rgba(37,99,235,.20), transparent 35%),
    linear-gradient(135deg, #eef6ff, #ffffff);
  color: var(--c24-accent);
  font-weight: 900;
  letter-spacing: .08em;
}

.c24-portfolio-info {
  padding: 24px;
}

.c24-portfolio-info h3 {
  margin: 0 0 10px;
  font-size: var(--c24-project-title-size, 20px);
  line-height: 1.35;
  letter-spacing: -0.04em;
  transition: color .25s ease;
}

.c24-portfolio-item:hover .c24-portfolio-info h3 {
  color: var(--c24-accent-dark);
}

.c24-portfolio-info p {
  margin: 0 0 18px;
  color: var(--c24-muted);
  font-size: var(--c24-project-desc-size, 15px);
  line-height: 1.65;
}

.c24-portfolio-more {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 800;
  color: var(--c24-accent);
}

.c24-portfolio-more::after {
  content: "→";
  margin-left: 6px;
  transition: transform .24s ease;
}

.c24-portfolio-item:hover .c24-portfolio-more::after {
  transform: translateX(4px);
}

/* 포트폴리오 상세 */
.c24-portfolio-single-hero {
  padding: 92px 0 72px;
  text-align: center;
  background:
    radial-gradient(circle at 84% 16%, rgba(37,99,235,.18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef4ff 55%, #ffffff 100%);
}

.c24-portfolio-single-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.15;
  letter-spacing: -0.06em;
}

.c24-portfolio-single-hero p {
  margin: 0 auto;
  max-width: 760px;
  color: #4b5563;
  font-size: 18px;
}

.c24-portfolio-single-image {
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--c24-shadow);
  margin-bottom: 36px;
}

.c24-portfolio-single-image img {
  width: 100%;
  height: auto;
  display: block;
}

.c24-portfolio-single-content {
  max-width: 860px;
  margin: 0 auto;
  color: #374151;
  font-size: 17px;
  line-height: 1.8;
}

.c24-portfolio-back {
  margin-top: 42px;
  text-align: center;
}

@media (max-width: 980px) {
  .c24-portfolio-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .c24-portfolio-gallery {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .c24-portfolio-info {
    padding: 21px;
  }

  .c24-portfolio-info h3 {
    font-size: var(--c24-project-mobile-title-size, 17px);
  }

  .c24-portfolio-info p {
    font-size: var(--c24-project-mobile-desc-size, 13px);
  }

  .c24-portfolio-single-hero {
    padding: 72px 0 54px;
  }

  .c24-portfolio-single-hero h1 {
    font-size: 28px;
  }

  .c24-portfolio-single-hero p,
  .c24-portfolio-single-content {
    font-size: 14px;
  }
}


/* =============================
   포트폴리오 상세 페이지 관련 콘텐츠 보강
   ============================= */
.c24-portfolio-single-content h2,
.c24-portfolio-single-content h3,
.c24-portfolio-single-content h4 {
  color: var(--c24-primary);
  letter-spacing: -0.04em;
  line-height: 1.35;
  margin-top: 1.8em;
  margin-bottom: .7em;
}

.c24-portfolio-single-content p {
  margin: 0 0 1.1em;
}

.c24-portfolio-single-content img {
  max-width: 100%;
  height: auto;
  border-radius: 20px;
  margin: 18px 0;
}

.c24-portfolio-single-content ul,
.c24-portfolio-single-content ol {
  padding-left: 1.25em;
  margin: 0 0 1.2em;
}

.c24-portfolio-related .c24-section-head {
  margin-bottom: 28px;
}

.c24-portfolio-related .c24-section-head h2 {
  font-size: clamp(26px, 3vw, 38px);
}

@media (max-width: 640px) {
  .c24-portfolio-single-content h2 {
    font-size: 22px;
  }

  .c24-portfolio-single-content h3 {
    font-size: 19px;
  }
}


/* =============================
   포트폴리오 카드 클릭 영역 보강
   ============================= */
.c24-portfolio-item {
  cursor: pointer;
}

.c24-portfolio-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.c24-portfolio-link:hover {
  color: inherit;
}

.c24-portfolio-info,
.c24-portfolio-thumb,
.c24-portfolio-more {
  pointer-events: none;
}

.c24-portfolio-thumb img {
  pointer-events: none;
}


/* =============================
   포트폴리오 게시물 없을 때 안내 박스
   ============================= */
.c24-portfolio-empty {
  padding: 54px 28px;
  border: 1px dashed rgba(37,99,235,.35);
  border-radius: 26px;
  background: rgba(255,255,255,.74);
  text-align: center;
}

.c24-portfolio-empty strong {
  display: block;
  margin-bottom: 10px;
  font-size: 22px;
  letter-spacing: -0.04em;
  color: var(--c24-primary);
}

.c24-portfolio-empty span {
  display: block;
  color: var(--c24-muted);
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 640px) {
  .c24-portfolio-empty {
    padding: 38px 20px;
  }
  .c24-portfolio-empty strong {
    font-size: 18px;
  }
  .c24-portfolio-empty span {
    font-size: 13px;
  }
}


/* =============================
   게시판형 포트폴리오 상세 페이지
   ============================= */
.c24-post-hero {
  padding: 92px 0 72px;
  text-align: center;
  background:
    radial-gradient(circle at 84% 16%, rgba(37,99,235,.18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef4ff 55%, #ffffff 100%);
}

.c24-post-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.15;
  letter-spacing: -0.06em;
}

.c24-post-hero p {
  margin: 0 auto;
  max-width: 760px;
  color: #4b5563;
  font-size: 18px;
}

.c24-post-single-image {
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--c24-shadow);
  margin-bottom: 36px;
}

.c24-post-single-image img {
  width: 100%;
  height: auto;
  display: block;
}

.c24-post-single-content {
  max-width: 860px;
  margin: 0 auto;
  color: #374151;
  font-size: 17px;
  line-height: 1.8;
}

.c24-post-single-content h2,
.c24-post-single-content h3,
.c24-post-single-content h4 {
  color: var(--c24-primary);
  letter-spacing: -0.04em;
  line-height: 1.35;
  margin-top: 1.8em;
  margin-bottom: .7em;
}

.c24-post-single-content p {
  margin: 0 0 1.1em;
}

.c24-post-single-content img {
  max-width: 100%;
  height: auto;
  border-radius: 20px;
  margin: 18px 0;
}

@media (max-width: 640px) {
  .c24-post-hero {
    padding: 72px 0 54px;
  }

  .c24-post-hero h1 {
    font-size: 28px;
  }

  .c24-post-hero p,
  .c24-post-single-content {
    font-size: 14px;
  }
}


/* =============================
   게시판형 포트폴리오 카드 클릭 영역 보강
   ============================= */
.c24-portfolio-item {
  cursor: pointer;
}

.c24-portfolio-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.c24-portfolio-link:hover {
  color: inherit;
}

.c24-portfolio-thumb,
.c24-portfolio-info,
.c24-portfolio-more,
.c24-portfolio-thumb img {
  pointer-events: none;
}

/* =============================
   게시판형 포트폴리오 본문 상세 페이지
   ============================= */
.c24-post-single-content {
  max-width: 860px;
  margin: 0 auto;
  color: #374151;
  font-size: 17px;
  line-height: 1.8;
}

.c24-post-single-content h2,
.c24-post-single-content h3,
.c24-post-single-content h4 {
  color: var(--c24-primary);
  letter-spacing: -0.04em;
  line-height: 1.35;
  margin-top: 1.8em;
  margin-bottom: .7em;
}

.c24-post-single-content p {
  margin: 0 0 1.1em;
}

.c24-post-single-content img {
  max-width: 100%;
  height: auto;
  border-radius: 20px;
  margin: 18px 0;
}

.c24-post-single-content ul,
.c24-post-single-content ol {
  padding-left: 1.25em;
  margin: 0 0 1.2em;
}

@media (max-width: 640px) {
  .c24-post-single-content {
    font-size: 14px;
  }
}


/* =============================
   게시판 목록 페이지 갤러리/페이지네이션
   ============================= */
.c24-category-gallery-section .c24-portfolio-gallery {
  margin-top: 0;
}

.c24-board-pagination {
  margin-top: 42px;
  text-align: center;
}

.c24-board-pagination .nav-links {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.c24-board-pagination .page-numbers {
  min-width: 40px;
  height: 40px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid var(--c24-border);
  background: #fff;
  color: var(--c24-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 13px;
}

.c24-board-pagination .page-numbers.current,
.c24-board-pagination .page-numbers:hover {
  background: var(--c24-accent);
  color: #fff;
  border-color: var(--c24-accent);
}


/* =============================
   게시판 목록 글쓰기 버튼
   ============================= */
.c24-board-actions {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 24px;
}

.c24-board-write-btn {
  min-height: 42px;
  padding: 0 20px;
  font-size: 14px;
}

@media (max-width: 640px) {
  .c24-board-actions {
    justify-content: stretch;
    margin-bottom: 18px;
  }

  .c24-board-write-btn {
    width: 100%;
    justify-content: center;
  }
}


/* =============================
   메인 공지사항 추출 영역
   ============================= */
.c24-notice-section {
  background: #fff;
}

.c24-notice-section .c24-section-head h2 {
  font-size: var(--c24-notice-title-size, 42px);
}

.c24-notice-section .c24-section-head p {
  font-size: var(--c24-notice-desc-size, 16px);
}

.c24-notice-list {
  border-top: 2px solid var(--c24-primary);
}

.c24-notice-item {
  border-bottom: 1px solid var(--c24-border);
}

.c24-notice-item a {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 22px;
  min-height: 76px;
  padding: 18px 4px;
  color: var(--c24-primary);
  transition: background-color .22s ease, padding .22s ease;
}

.c24-notice-item a:hover {
  background: #f8fbff;
  padding-left: 16px;
  padding-right: 16px;
}

.c24-notice-date {
  color: var(--c24-muted);
  font-size: var(--c24-notice-date-size, 13px);
  font-weight: 700;
}

.c24-notice-item strong {
  font-size: var(--c24-notice-item-title-size, 17px);
  line-height: 1.45;
  letter-spacing: -0.04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c24-notice-item em {
  font-style: normal;
  color: var(--c24-accent);
  font-size: 13px;
  font-weight: 800;
}

.c24-notice-actions {
  margin-top: 30px;
  text-align: center;
}

@media (max-width: 767px) {
  .c24-notice-section .c24-section-head h2 {
    font-size: var(--c24-notice-mobile-title-size, 26px);
  }

  .c24-notice-section .c24-section-head p {
    font-size: var(--c24-notice-mobile-desc-size, 14px);
  }

  .c24-notice-item a {
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: auto;
    padding: 16px 0;
  }

  .c24-notice-item a:hover {
    padding-left: 10px;
    padding-right: 10px;
  }

  .c24-notice-date {
    font-size: var(--c24-notice-mobile-date-size, 12px);
  }

  .c24-notice-item strong {
    font-size: var(--c24-notice-mobile-item-title-size, 15px);
    white-space: normal;
  }

  .c24-notice-item em {
    font-size: 12px;
  }
}


/* =============================
   공지사항 일반 게시판 목록
   - notice 카테고리: 목록형
   - portfolio 카테고리: 갤러리형 유지
   ============================= */
.c24-board-list {
  border-top: 2px solid var(--c24-primary);
}

.c24-board-list-head {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 18px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--c24-border);
  background: #f8fafc;
  color: var(--c24-primary);
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

.c24-board-col-title {
  text-align: left;
}

.c24-board-row {
  border-bottom: 1px solid var(--c24-border);
}

.c24-board-row a {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 18px;
  align-items: center;
  min-height: 64px;
  padding: 18px 22px;
  color: var(--c24-primary);
  transition: background-color .22s ease, padding .22s ease;
}

.c24-board-row a:hover {
  background: #f8fbff;
  padding-left: 30px;
  padding-right: 30px;
}

.c24-board-row strong {
  min-width: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: -0.04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c24-board-row span {
  color: var(--c24-muted);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.c24-notice-single-content {
  max-width: 900px;
  padding: 42px;
  border-top: 2px solid var(--c24-primary);
  border-bottom: 1px solid var(--c24-border);
  background: #fff;
}

@media (max-width: 767px) {
  .c24-board-list-head {
    display: none;
  }

  .c24-board-row a {
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: auto;
    padding: 17px 4px;
  }

  .c24-board-row a:hover {
    padding-left: 12px;
    padding-right: 12px;
  }

  .c24-board-row strong {
    font-size: 15px;
    white-space: normal;
  }

  .c24-board-row span {
    text-align: left;
    font-size: 12px;
  }

  .c24-notice-single-content {
    padding: 28px 18px;
  }
}


/* =============================
   메인 게시판 더보기 버튼
   ============================= */
.c24-board-more-actions {
  margin-top: 34px;
  text-align: center;
}

.c24-board-more-actions .c24-btn {
  min-width: 178px;
  justify-content: center;
}

@media (max-width: 767px) {
  .c24-board-more-actions {
    margin-top: 24px;
  }

  .c24-board-more-actions .c24-btn {
    width: 100%;
  }
}


/* =============================
   게시글 없을 때 더보기 버튼 간격
   ============================= */
.c24-portfolio-empty + .c24-board-more-actions {
  margin-top: 24px;
}


/* =============================
   일반 페이지 / KBoard 게시판 페이지
   - /notice/, /portfolio/ 같은 페이지에서 숏코드 본문 출력
   ============================= */
.c24-page-hero {
  padding: 92px 0 72px;
  text-align: center;
  background:
    radial-gradient(circle at 84% 16%, rgba(37,99,235,.18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef4ff 55%, #ffffff 100%);
}

.c24-page-hero h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.15;
  letter-spacing: -0.06em;
}

.c24-page-content {
  max-width: 1180px;
  margin: 0 auto;
}

/* KBoard가 페이지 안에 들어올 때 기본 여백 보정 */
.c24-page-content .kboard,
.c24-page-content [id^="kboard-"],
.c24-page-content .kboard-default,
.c24-page-content .kboard-list {
  width: 100%;
}

@media (max-width: 767px) {
  .c24-page-hero {
    padding: 72px 0 52px;
  }

  .c24-page-hero h1 {
    font-size: 28px;
  }
}


/* =============================
   페이지 상단 타이틀 이미지/동영상 배경
   ============================= */
.c24-page-hero {
  position: relative;
  min-height: var(--c24-page-hero-height, 320px);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.c24-page-hero.has-page-media {
  background-image: var(--c24-page-hero-bg);
  background-size: cover;
  background-position: center;
}

.c24-page-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* 서브페이지 상단 타이틀 유튜브 배경 */
.c24-page-hero-youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  z-index: 0;
}

.c24-page-hero:has(.c24-page-hero-youtube) .c24-page-hero-overlay {
  opacity: 1;
}

.c24-page-hero:has(.c24-page-hero-youtube) h1 {
  color: var(--c24-page-title-color, #fff);
}

.c24-page-hero:has(.c24-page-hero-youtube) .c24-kicker {
  color: var(--c24-page-kicker-color, #fff);
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.14);
}

.c24-page-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, var(--c24-page-hero-overlay, .45));
  opacity: 0;
  pointer-events: none;
}

.c24-page-hero.has-page-media .c24-page-hero-overlay,
.c24-page-hero:has(.c24-page-hero-video) .c24-page-hero-overlay {
  opacity: 1;
}

.c24-page-hero .c24-container {
  position: relative;
  z-index: 2;
}

.c24-page-hero.has-page-media h1,
.c24-page-hero:has(.c24-page-hero-video) h1 {
  color: var(--c24-page-title-color, #fff);
}

.c24-page-hero.has-page-media .c24-kicker,
.c24-page-hero:has(.c24-page-hero-video) .c24-kicker {
  color: var(--c24-page-kicker-color, #fff);
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.14);
}

@media (max-width: 767px) {
  .c24-page-hero {
    min-height: var(--c24-page-mobile-hero-height, 250px);
  }
}


/* =============================
   KBoard / 게시판 목록 스타일 개선
   - 공지사항: 일반 목록형을 카드형 리스트 느낌으로 정리
   - KBoard 기본 스킨: 테마 톤에 맞게 덮어쓰기
   ============================= */

/* KBoard 전체 래퍼 여백 */
.c24-page-content .kboard,
.c24-page-content [id^="kboard-"],
.c24-page-content .kboard-default,
.c24-page-content .kboard-list {
  font-family: inherit;
}

/* KBoard 기본 검색/상단 영역 정리 */
.c24-page-content .kboard-control,
.c24-page-content .kboard-header,
.c24-page-content .kboard-list-header {
  margin-bottom: 18px;
}

/* KBoard 목록 테이블 기본 느낌 완화 */
.c24-page-content .kboard-default-list table,
.c24-page-content .kboard-list table,
.c24-page-content table.kboard-list {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  border: 0 !important;
}

.c24-page-content .kboard-default-list thead,
.c24-page-content .kboard-list thead {
  display: none;
}

.c24-page-content .kboard-default-list tbody tr,
.c24-page-content .kboard-list tbody tr {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
  transition: transform .24s ease, box-shadow .24s ease, background-color .24s ease;
}

.c24-page-content .kboard-default-list tbody tr:hover,
.c24-page-content .kboard-list tbody tr:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .11);
  background: #f8fbff;
}

.c24-page-content .kboard-default-list tbody td,
.c24-page-content .kboard-list tbody td {
  border: 0 !important;
  border-top: 1px solid rgba(226, 232, 240, .9) !important;
  border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
  padding: 18px 14px !important;
  color: var(--c24-primary);
  vertical-align: middle;
}

.c24-page-content .kboard-default-list tbody td:first-child,
.c24-page-content .kboard-list tbody td:first-child {
  border-left: 1px solid rgba(226, 232, 240, .9) !important;
  border-radius: 18px 0 0 18px;
}

.c24-page-content .kboard-default-list tbody td:last-child,
.c24-page-content .kboard-list tbody td:last-child {
  border-right: 1px solid rgba(226, 232, 240, .9) !important;
  border-radius: 0 18px 18px 0;
}

/* 제목 링크 강조 */
.c24-page-content .kboard-default-list .kboard-list-title,
.c24-page-content .kboard-list .kboard-list-title,
.c24-page-content .kboard-default-list td.title a,
.c24-page-content .kboard-list td.title a {
  color: var(--c24-primary) !important;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-decoration: none !important;
}

.c24-page-content .kboard-default-list td.title a:hover,
.c24-page-content .kboard-list td.title a:hover {
  color: var(--c24-accent) !important;
}

/* 날짜/조회수/작성자 등 보조 정보 */
.c24-page-content .kboard-default-list td.kboard-list-date,
.c24-page-content .kboard-default-list td.date,
.c24-page-content .kboard-list td.date,
.c24-page-content .kboard-list td.kboard-list-date,
.c24-page-content .kboard-default-list td.uid,
.c24-page-content .kboard-list td.uid,
.c24-page-content .kboard-default-list td.user,
.c24-page-content .kboard-list td.user {
  color: var(--c24-muted) !important;
  font-size: 13px !important;
}

/* KBoard 버튼 */
.c24-page-content .kboard-control a,
.c24-page-content .kboard-control button,
.c24-page-content .kboard-button-action,
.c24-page-content .kboard-default-button-small,
.c24-page-content .kboard-default-button-large {
  border-radius: 999px !important;
  border: 1px solid var(--c24-accent) !important;
  background: var(--c24-accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .18);
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.c24-page-content .kboard-control a:hover,
.c24-page-content .kboard-control button:hover,
.c24-page-content .kboard-button-action:hover,
.c24-page-content .kboard-default-button-small:hover,
.c24-page-content .kboard-default-button-large:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(37, 99, 235, .25);
  background: var(--c24-accent-dark) !important;
}

/* KBoard 페이지네이션 */
.c24-page-content .kboard-pagination,
.c24-page-content .kboard-pagination .kboard-pagination-pages {
  margin-top: 34px;
  text-align: center;
}

.c24-page-content .kboard-pagination a,
.c24-page-content .kboard-pagination span {
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  margin: 0 3px;
  border-radius: 999px !important;
  border: 1px solid var(--c24-border) !important;
  background: #fff;
  color: var(--c24-primary) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 13px;
}

.c24-page-content .kboard-pagination .active,
.c24-page-content .kboard-pagination .current,
.c24-page-content .kboard-pagination a:hover {
  background: var(--c24-accent) !important;
  border-color: var(--c24-accent) !important;
  color: #fff !important;
}

/* 테마 자체 공지사항 일반 목록도 동일 톤 보강 */
.c24-board-list {
  border-top: 0;
  display: grid;
  gap: 10px;
}

.c24-board-list-head {
  border: 0;
  border-radius: 16px;
  background: #f8fafc;
}

.c24-board-row {
  border: 1px solid var(--c24-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease;
}

.c24-board-row:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .11);
}

.c24-board-row a {
  border: 0;
}

/* 모바일 최적화 */
@media (max-width: 767px) {
  .c24-page-content .kboard-default-list table,
  .c24-page-content .kboard-list table,
  .c24-page-content table.kboard-list {
    border-spacing: 0 8px !important;
  }

  .c24-page-content .kboard-default-list tbody tr,
  .c24-page-content .kboard-list tbody tr {
    display: block;
    padding: 16px;
    border: 1px solid var(--c24-border);
    border-radius: 18px;
  }

  .c24-page-content .kboard-default-list tbody td,
  .c24-page-content .kboard-list tbody td {
    display: block;
    border: 0 !important;
    padding: 4px 0 !important;
    text-align: left !important;
  }

  .c24-page-content .kboard-default-list tbody td:first-child,
  .c24-page-content .kboard-list tbody td:first-child,
  .c24-page-content .kboard-default-list tbody td:last-child,
  .c24-page-content .kboard-list tbody td:last-child {
    border: 0 !important;
    border-radius: 0;
  }

  .c24-page-content .kboard-default-list td.title a,
  .c24-page-content .kboard-list td.title a {
    font-size: 15px;
    line-height: 1.45;
  }

  .c24-page-content .kboard-default-list td.uid,
  .c24-page-content .kboard-list td.uid {
    display: none !important;
  }
}


/* =========================================================
   KBoard 목록 최종 정리 스타일
   - 과한 카드형 효과 제거
   - 일반 공지사항 게시판처럼 깔끔한 라인형 목록
   - KBoard 기본 테이블 구조와 충돌하지 않도록 보정
   ========================================================= */

/* KBoard 전체 영역 */
.c24-page-content .kboard,
.c24-page-content [id^="kboard-"] {
  width: 100%;
  font-family: inherit !important;
  color: var(--c24-primary);
}

/* 상단 전체/정렬 영역 */
.c24-page-content .kboard .kboard-header,
.c24-page-content .kboard .kboard-list-header,
.c24-page-content .kboard-default-list .kboard-list-header {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
}

/* 목록 테이블 기본화 */
.c24-page-content .kboard table,
.c24-page-content .kboard-default-list table,
.c24-page-content .kboard-list table,
.c24-page-content table.kboard-list {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border-top: 2px solid var(--c24-primary) !important;
  border-bottom: 1px solid var(--c24-border) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 테이블 헤더는 다시 표시 */
.c24-page-content .kboard thead,
.c24-page-content .kboard-default-list thead,
.c24-page-content .kboard-list thead {
  display: table-header-group !important;
}

.c24-page-content .kboard thead tr,
.c24-page-content .kboard-default-list thead tr,
.c24-page-content .kboard-list thead tr {
  display: table-row !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  transform: none !important;
}

.c24-page-content .kboard thead th,
.c24-page-content .kboard-default-list thead th,
.c24-page-content .kboard-list thead th {
  padding: 15px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--c24-border) !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  white-space: nowrap;
}

/* 행 스타일: 카드 제거, 라인형 */
.c24-page-content .kboard tbody tr,
.c24-page-content .kboard-default-list tbody tr,
.c24-page-content .kboard-list tbody tr {
  display: table-row !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .18s ease !important;
}

.c24-page-content .kboard tbody tr:hover,
.c24-page-content .kboard-default-list tbody tr:hover,
.c24-page-content .kboard-list tbody tr:hover {
  background: #f8fbff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* 셀 스타일 */
.c24-page-content .kboard tbody td,
.c24-page-content .kboard-default-list tbody td,
.c24-page-content .kboard-list tbody td {
  display: table-cell !important;
  padding: 17px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--c24-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--c24-primary) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  vertical-align: middle !important;
  text-align: center !important;
}

/* 제목 셀 */
.c24-page-content .kboard tbody td.title,
.c24-page-content .kboard-default-list tbody td.title,
.c24-page-content .kboard-list tbody td.title,
.c24-page-content .kboard tbody td.kboard-list-title,
.c24-page-content .kboard-default-list tbody td.kboard-list-title,
.c24-page-content .kboard-list tbody td.kboard-list-title {
  text-align: left !important;
}

/* 제목 링크 */
.c24-page-content .kboard tbody td.title a,
.c24-page-content .kboard-default-list tbody td.title a,
.c24-page-content .kboard-list tbody td.title a,
.c24-page-content .kboard .kboard-list-title a,
.c24-page-content .kboard-default-list .kboard-list-title a,
.c24-page-content .kboard-list .kboard-list-title a {
  color: var(--c24-primary) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em;
  text-decoration: none !important;
}

.c24-page-content .kboard tbody td.title a:hover,
.c24-page-content .kboard-default-list tbody td.title a:hover,
.c24-page-content .kboard-list tbody td.title a:hover,
.c24-page-content .kboard .kboard-list-title a:hover {
  color: var(--c24-accent) !important;
}

/* 번호/작성자/날짜/추천/조회 등 보조 정보 */
.c24-page-content .kboard tbody td.uid,
.c24-page-content .kboard tbody td.user,
.c24-page-content .kboard tbody td.date,
.c24-page-content .kboard tbody td.votes,
.c24-page-content .kboard tbody td.views,
.c24-page-content .kboard tbody td.kboard-list-uid,
.c24-page-content .kboard tbody td.kboard-list-user,
.c24-page-content .kboard tbody td.kboard-list-date,
.c24-page-content .kboard tbody td.kboard-list-vote,
.c24-page-content .kboard tbody td.kboard-list-view {
  color: var(--c24-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* New 배지 과하게 튀지 않게 */
.c24-page-content .kboard .kboard-default-new-notify,
.c24-page-content .kboard img.kboard-icon-new,
.c24-page-content .kboard .kboard-icon-new {
  vertical-align: middle;
}

/* 검색 영역 */
.c24-page-content .kboard .kboard-search,
.c24-page-content .kboard-search {
  margin-top: 28px !important;
  padding: 20px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  border: 1px solid #edf2f7 !important;
}

.c24-page-content .kboard input[type="text"],
.c24-page-content .kboard input[type="search"],
.c24-page-content .kboard select {
  height: 42px !important;
  border: 1px solid var(--c24-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--c24-primary) !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.c24-page-content .kboard input[type="submit"],
.c24-page-content .kboard button,
.c24-page-content .kboard .kboard-search button {
  height: 42px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--c24-primary) !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 0 20px !important;
  box-shadow: none !important;
}

/* 글쓰기 버튼 */
.c24-page-content .kboard-control,
.c24-page-content .kboard .kboard-control {
  margin-top: 22px !important;
  text-align: right !important;
}

.c24-page-content .kboard-control a,
.c24-page-content .kboard-button-action,
.c24-page-content .kboard-default-button-small,
.c24-page-content .kboard-default-button-large {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--c24-primary) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.c24-page-content .kboard-control a:hover,
.c24-page-content .kboard-button-action:hover,
.c24-page-content .kboard-default-button-small:hover,
.c24-page-content .kboard-default-button-large:hover {
  background: var(--c24-accent) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* 페이지네이션 */
.c24-page-content .kboard-pagination,
.c24-page-content .kboard-pagination .kboard-pagination-pages {
  margin: 32px 0 !important;
  text-align: center !important;
}

.c24-page-content .kboard-pagination a,
.c24-page-content .kboard-pagination span {
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 11px !important;
  margin: 0 3px !important;
  border: 1px solid var(--c24-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--c24-primary) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.c24-page-content .kboard-pagination .active,
.c24-page-content .kboard-pagination .current,
.c24-page-content .kboard-pagination a:hover {
  background: var(--c24-accent) !important;
  border-color: var(--c24-accent) !important;
  color: #fff !important;
}

/* Powered by KBoard는 너무 튀지 않게 */
.c24-page-content .kboard-poweredby,
.c24-page-content .kboard .kboard-poweredby {
  color: #cbd5e1 !important;
  font-size: 12px !important;
}

/* 모바일 */
@media (max-width: 767px) {
  .c24-page-content .kboard table,
  .c24-page-content .kboard-default-list table,
  .c24-page-content .kboard-list table {
    border-top: 2px solid var(--c24-primary) !important;
  }

  .c24-page-content .kboard thead,
  .c24-page-content .kboard-default-list thead,
  .c24-page-content .kboard-list thead {
    display: none !important;
  }

  .c24-page-content .kboard tbody tr,
  .c24-page-content .kboard-default-list tbody tr,
  .c24-page-content .kboard-list tbody tr {
    display: block !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid var(--c24-border) !important;
  }

  .c24-page-content .kboard tbody td,
  .c24-page-content .kboard-default-list tbody td,
  .c24-page-content .kboard-list tbody td {
    display: block !important;
    padding: 3px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  .c24-page-content .kboard tbody td.uid,
  .c24-page-content .kboard-default-list tbody td.uid,
  .c24-page-content .kboard-list tbody td.uid,
  .c24-page-content .kboard tbody td.kboard-list-uid {
    display: none !important;
  }

  .c24-page-content .kboard tbody td.title a,
  .c24-page-content .kboard-default-list tbody td.title a,
  .c24-page-content .kboard-list tbody td.title a,
  .c24-page-content .kboard .kboard-list-title a {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .c24-page-content .kboard-search {
    padding: 16px !important;
  }

  .c24-page-content .kboard-control,
  .c24-page-content .kboard .kboard-control {
    text-align: left !important;
  }

  .c24-page-content .kboard-control a,
  .c24-page-content .kboard-button-action {
    width: 100% !important;
  }
}


/* =========================================================
   KBoard 목록 테두리 제거 / 미니멀 라인형
   - 바깥 박스, 카드, 둥근 테두리 제거
   - 얇은 하단 구분선만 유지
   ========================================================= */

/* 전체 테이블 박스 제거 */
.c24-page-content .kboard table,
.c24-page-content .kboard-default-list table,
.c24-page-content .kboard-list table,
.c24-page-content table.kboard-list {
  border: 0 !important;
  border-top: 2px solid var(--c24-primary) !important;
  border-bottom: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 헤더 박스 느낌 제거 */
.c24-page-content .kboard thead th,
.c24-page-content .kboard-default-list thead th,
.c24-page-content .kboard-list thead th {
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #64748b !important;
}

/* 행 박스/카드/테두리 제거 */
.c24-page-content .kboard tbody tr,
.c24-page-content .kboard-default-list tbody tr,
.c24-page-content .kboard-list tbody tr,
.c24-board-row {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  transform: none !important;
}

/* 행 hover도 과하지 않게 */
.c24-page-content .kboard tbody tr:hover,
.c24-page-content .kboard-default-list tbody tr:hover,
.c24-page-content .kboard-list tbody tr:hover,
.c24-board-row:hover {
  background: #fafcff !important;
  box-shadow: none !important;
  transform: none !important;
}

/* 셀 테두리 제거 후 하단 구분선만 */
.c24-page-content .kboard tbody td,
.c24-page-content .kboard-default-list tbody td,
.c24-page-content .kboard-list tbody td {
  border: 0 !important;
  border-bottom: 1px solid #eef2f7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 첫/마지막 셀에 남은 좌우 테두리 제거 */
.c24-page-content .kboard tbody td:first-child,
.c24-page-content .kboard-default-list tbody td:first-child,
.c24-page-content .kboard-list tbody td:first-child,
.c24-page-content .kboard tbody td:last-child,
.c24-page-content .kboard-default-list tbody td:last-child,
.c24-page-content .kboard-list tbody td:last-child {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

/* 검색 영역 박스 제거 */
.c24-page-content .kboard .kboard-search,
.c24-page-content .kboard-search {
  margin-top: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 검색 input/select는 최소 테두리 유지 */
.c24-page-content .kboard input[type="text"],
.c24-page-content .kboard input[type="search"],
.c24-page-content .kboard select {
  border: 1px solid #dbe3ee !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* 글쓰기 버튼 영역 여백만 정리 */
.c24-page-content .kboard-control,
.c24-page-content .kboard .kboard-control {
  margin-top: 26px !important;
}

/* 페이지네이션 박스 느낌 제거 */
.c24-page-content .kboard-pagination a,
.c24-page-content .kboard-pagination span {
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.c24-page-content .kboard-pagination .active,
.c24-page-content .kboard-pagination .current,
.c24-page-content .kboard-pagination a:hover {
  background: var(--c24-accent) !important;
  color: #fff !important;
}

/* 테마 자체 공지사항 목록도 테두리 제거 */
.c24-board-list {
  border-top: 2px solid var(--c24-primary) !important;
  gap: 0 !important;
}

.c24-board-list-head {
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.c24-board-row {
  border-bottom: 1px solid #eef2f7 !important;
}

.c24-board-row a {
  border: 0 !important;
  background: transparent !important;
}

/* 모바일에서도 카드형 테두리 제거 */
@media (max-width: 767px) {
  .c24-page-content .kboard tbody tr,
  .c24-page-content .kboard-default-list tbody tr,
  .c24-page-content .kboard-list tbody tr {
    border: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 16px 0 !important;
  }

  .c24-page-content .kboard tbody td,
  .c24-page-content .kboard-default-list tbody td,
  .c24-page-content .kboard-list tbody td {
    border: 0 !important;
  }
}


/* =========================================================
   KBoard 최종 미니멀 게시판 목록 스타일
   - 캡처처럼 넓고 깔끔한 일반 게시판형
   - 카드/박스/과한 테두리 제거
   ========================================================= */

/* 전체 KBoard 영역 */
.c24-page-content .kboard,
.c24-page-content [id^="kboard-"],
.c24-page-content .kboard-default {
  width: 100% !important;
  max-width: 100% !important;
  font-family: inherit !important;
  color: #111827 !important;
}

/* 상단 '전체 n' / 정렬 영역 */
.c24-page-content .kboard .kboard-header,
.c24-page-content .kboard .kboard-list-header,
.c24-page-content .kboard-default-list .kboard-list-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f2937 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* 정렬 select */
.c24-page-content .kboard .kboard-list-sort select,
.c24-page-content .kboard select {
  height: 38px !important;
  min-width: 112px;
  padding: 0 34px 0 14px !important;
  border: 1px solid #d9e1ec !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  color: #111827 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

/* 목록 테이블 */
.c24-page-content .kboard table,
.c24-page-content .kboard-default-list table,
.c24-page-content .kboard-list table,
.c24-page-content table.kboard-list {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: 0 !important;
  border-top: 2px solid #111 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 헤더 */
.c24-page-content .kboard thead,
.c24-page-content .kboard-default-list thead,
.c24-page-content .kboard-list thead {
  display: table-header-group !important;
}

.c24-page-content .kboard thead tr,
.c24-page-content .kboard-default-list thead tr,
.c24-page-content .kboard-list thead tr {
  display: table-row !important;
  background: #fafafa !important;
  box-shadow: none !important;
}

.c24-page-content .kboard thead th,
.c24-page-content .kboard-default-list thead th,
.c24-page-content .kboard-list thead th {
  height: 54px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: #fafafa !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 54px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* 목록 행 */
.c24-page-content .kboard tbody tr,
.c24-page-content .kboard-default-list tbody tr,
.c24-page-content .kboard-list tbody tr {
  display: table-row !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .18s ease !important;
}

.c24-page-content .kboard tbody tr:hover,
.c24-page-content .kboard-default-list tbody tr:hover,
.c24-page-content .kboard-list tbody tr:hover {
  background: #fafafa !important;
  box-shadow: none !important;
  transform: none !important;
}

/* 셀 */
.c24-page-content .kboard tbody td,
.c24-page-content .kboard-default-list tbody td,
.c24-page-content .kboard-list tbody td {
  height: 66px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #eeeeee !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #374151 !important;
  font-size: 14px !important;
  line-height: 66px !important;
  text-align: center !important;
  vertical-align: middle !important;
  box-shadow: none !important;
}

/* 제목 칸 */
.c24-page-content .kboard tbody td.title,
.c24-page-content .kboard-default-list tbody td.title,
.c24-page-content .kboard-list tbody td.title,
.c24-page-content .kboard tbody td.kboard-list-title,
.c24-page-content .kboard-default-list tbody td.kboard-list-title,
.c24-page-content .kboard-list tbody td.kboard-list-title {
  text-align: left !important;
}

/* 제목 링크 */
.c24-page-content .kboard tbody td.title a,
.c24-page-content .kboard-default-list tbody td.title a,
.c24-page-content .kboard-list tbody td.title a,
.c24-page-content .kboard .kboard-list-title a,
.c24-page-content .kboard-default-list .kboard-list-title a,
.c24-page-content .kboard-list .kboard-list-title a {
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-decoration: none !important;
}

.c24-page-content .kboard tbody td.title a:hover,
.c24-page-content .kboard-default-list tbody td.title a:hover,
.c24-page-content .kboard-list tbody td.title a:hover,
.c24-page-content .kboard .kboard-list-title a:hover {
  color: var(--c24-accent) !important;
}

/* 번호/작성자/날짜/조회 */
.c24-page-content .kboard tbody td.uid,
.c24-page-content .kboard tbody td.user,
.c24-page-content .kboard tbody td.date,
.c24-page-content .kboard tbody td.views,
.c24-page-content .kboard tbody td.votes,
.c24-page-content .kboard tbody td.kboard-list-uid,
.c24-page-content .kboard tbody td.kboard-list-user,
.c24-page-content .kboard tbody td.kboard-list-date,
.c24-page-content .kboard tbody td.kboard-list-view,
.c24-page-content .kboard tbody td.kboard-list-vote {
  color: #4b5563 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* New 뱃지 */
.c24-page-content .kboard .kboard-default-new-notify,
.c24-page-content .kboard img.kboard-icon-new,
.c24-page-content .kboard .kboard-icon-new {
  vertical-align: middle !important;
  margin-right: 8px !important;
}

/* 페이지네이션 */
.c24-page-content .kboard-pagination,
.c24-page-content .kboard-pagination .kboard-pagination-pages {
  margin: 30px 0 42px !important;
  text-align: center !important;
}

.c24-page-content .kboard-pagination a,
.c24-page-content .kboard-pagination span {
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  margin: 0 3px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #111827 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.c24-page-content .kboard-pagination .active,
.c24-page-content .kboard-pagination .current,
.c24-page-content .kboard-pagination a:hover {
  background: #111 !important;
  color: #fff !important;
}

/* 검색 영역 */
.c24-page-content .kboard-search,
.c24-page-content .kboard .kboard-search {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.c24-page-content .kboard-search select,
.c24-page-content .kboard-search input[type="text"],
.c24-page-content .kboard-search input[type="search"] {
  height: 44px !important;
  border: 1px solid #d9e1ec !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.c24-page-content .kboard-search input[type="text"],
.c24-page-content .kboard-search input[type="search"] {
  width: 250px !important;
}

.c24-page-content .kboard-search input[type="submit"],
.c24-page-content .kboard-search button {
  height: 44px !important;
  padding: 0 20px !important;
  border: 1px solid #d9e1ec !important;
  border-radius: 6px !important;
  background: #f3f4f6 !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* 글쓰기 버튼 */
.c24-page-content .kboard-control,
.c24-page-content .kboard .kboard-control {
  margin-top: 20px !important;
  text-align: left !important;
}

.c24-page-content .kboard-control a,
.c24-page-content .kboard-button-action,
.c24-page-content .kboard-default-button-small,
.c24-page-content .kboard-default-button-large {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.c24-page-content .kboard-control a:hover,
.c24-page-content .kboard-button-action:hover,
.c24-page-content .kboard-default-button-small:hover,
.c24-page-content .kboard-default-button-large:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Powered by KBoard */
.c24-page-content .kboard-poweredby,
.c24-page-content .kboard .kboard-poweredby {
  margin-top: 10px !important;
  color: #c4c4c4 !important;
  font-size: 12px !important;
  text-align: right !important;
}

/* 모바일 */
@media (max-width: 767px) {
  .c24-page-content .kboard thead,
  .c24-page-content .kboard-default-list thead,
  .c24-page-content .kboard-list thead {
    display: none !important;
  }

  .c24-page-content .kboard table,
  .c24-page-content .kboard-default-list table,
  .c24-page-content .kboard-list table {
    border-top: 2px solid #111 !important;
  }

  .c24-page-content .kboard tbody tr,
  .c24-page-content .kboard-default-list tbody tr,
  .c24-page-content .kboard-list tbody tr {
    display: block !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #eeeeee !important;
  }

  .c24-page-content .kboard tbody td,
  .c24-page-content .kboard-default-list tbody td,
  .c24-page-content .kboard-list tbody td {
    display: block !important;
    height: auto !important;
    padding: 2px 0 !important;
    border: 0 !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .c24-page-content .kboard tbody td.uid,
  .c24-page-content .kboard-default-list tbody td.uid,
  .c24-page-content .kboard-list tbody td.uid,
  .c24-page-content .kboard tbody td.kboard-list-uid {
    display: none !important;
  }

  .c24-page-content .kboard-search,
  .c24-page-content .kboard .kboard-search {
    flex-wrap: wrap !important;
    justify-content: stretch !important;
    gap: 8px !important;
  }

  .c24-page-content .kboard-search select,
  .c24-page-content .kboard-search input[type="text"],
  .c24-page-content .kboard-search input[type="search"],
  .c24-page-content .kboard-search input[type="submit"],
  .c24-page-content .kboard-search button {
    width: 100% !important;
  }

  .c24-page-content .kboard-control a,
  .c24-page-content .kboard-button-action {
    width: 100% !important;
  }
}


/* =============================
   메인 KBoard 최신글 숏코드 출력 영역
   ============================= */
.c24-kboard-main {
  width: 100%;
}

.c24-kboard-main .kboard,
.c24-kboard-main [id^="kboard-"],
.c24-kboard-main .kboard-default,
.c24-kboard-main .kboard-list {
  width: 100%;
  font-family: inherit;
}

.c24-kboard-notice-main {
  width: 100%;
}

.c24-kboard-main ul,
.c24-kboard-main ol {
  list-style: none;
  padding-left: 0;
}

.c24-kboard-main a {
  text-decoration: none;
}

.c24-kboard-main img {
  max-width: 100%;
  height: auto;
}


/* =============================
   KBoard 페이지 번호 색상 충돌 수정
   ============================= */

      /* KBoard 페이지 번호 색상 충돌 수정 */
      body .c24-page-content .kboard-pagination .active,
      body .c24-page-content .kboard-pagination .current,
      body .c24-page-content .kboard-pagination span.current,
      body .c24-page-content .kboard-pagination .kboard-pagination-pages .active,
      body .c24-page-content .kboard-pagination .kboard-pagination-pages .current,
      body .c24-page-content .kboard-pagination .kboard-pagination-pages span.current,
      body .c24-page-content .kboard-pagination li.active a,
      body .c24-page-content .kboard-pagination li.active span {
        background: #111 !important;
        border-color: #111 !important;
        color: #fff !important;
      }

      body .c24-page-content .kboard-pagination .active *,
      body .c24-page-content .kboard-pagination .current *,
      body .c24-page-content .kboard-pagination span.current *,
      body .c24-page-content .kboard-pagination .kboard-pagination-pages .active *,
      body .c24-page-content .kboard-pagination .kboard-pagination-pages .current *,
      body .c24-page-content .kboard-pagination li.active a *,
      body .c24-page-content .kboard-pagination li.active span * {
        color: #fff !important;
      }

      body .c24-page-content .kboard-pagination a:not(.active):not(.current),
      body .c24-page-content .kboard-pagination span:not(.active):not(.current) {
        color: #111827 !important;
      }

      body .c24-page-content .kboard-pagination a:hover {
        background: #111 !important;
        border-color: #111 !important;
        color: #fff !important;
      }


/* =========================================================
   KBoard 목록 테이블 모서리/좌우 라인 제거
   - 표 라운드 제거
   - 표 바깥 좌우 세로선 제거
   - 가로 구분선은 유지
   ========================================================= */
.c24-page-content .kboard,
.c24-page-content [id^="kboard-"],
.c24-page-content .kboard-default-list,
.c24-page-content .kboard-list,
.c24-page-content .kboard-list table,
.c24-page-content .kboard-default-list table,
.c24-page-content .kboard table,
.c24-page-content table.kboard-list {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.c24-page-content .kboard table,
.c24-page-content .kboard-default-list table,
.c24-page-content .kboard-list table,
.c24-page-content table.kboard-list {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
}

.c24-page-content .kboard thead tr,
.c24-page-content .kboard tbody tr,
.c24-page-content .kboard-default-list thead tr,
.c24-page-content .kboard-default-list tbody tr,
.c24-page-content .kboard-list thead tr,
.c24-page-content .kboard-list tbody tr,
.c24-page-content .kboard thead th,
.c24-page-content .kboard tbody td,
.c24-page-content .kboard-default-list thead th,
.c24-page-content .kboard-default-list tbody td,
.c24-page-content .kboard-list thead th,
.c24-page-content .kboard-list tbody td {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

.c24-page-content .kboard thead th:first-child,
.c24-page-content .kboard tbody td:first-child,
.c24-page-content .kboard-default-list thead th:first-child,
.c24-page-content .kboard-default-list tbody td:first-child,
.c24-page-content .kboard-list thead th:first-child,
.c24-page-content .kboard-list tbody td:first-child,
.c24-page-content .kboard thead th:last-child,
.c24-page-content .kboard tbody td:last-child,
.c24-page-content .kboard-default-list thead th:last-child,
.c24-page-content .kboard-default-list tbody td:last-child,
.c24-page-content .kboard-list thead th:last-child,
.c24-page-content .kboard-list tbody td:last-child {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

/* =========================================================
   메인 공지사항 2단 구성: 왼쪽 목록 + 오른쪽 서비스 안내
   ========================================================= */
.c24-notice-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(28px, 4vw, 58px);
  align-items: start;
}

.c24-notice-left {
  min-width: 0;
}

.c24-notice-side {
  min-width: 0;
  box-sizing: border-box;
}

.c24-notice-side-head {
  padding: 0 4px 18px;
}

.c24-notice-side-kicker {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .16em;
  color: var(--c24-accent);
}

.c24-notice-side h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.38;
  letter-spacing: -0.055em;
  color: var(--c24-primary);
  word-break: keep-all;
}

.c24-notice-side-list {
  border-top: 2px solid var(--c24-primary);
}

.c24-notice-side-item {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 76px;
  padding: 18px 4px;
  border-bottom: 1px solid var(--c24-border);
  color: var(--c24-primary);
  box-sizing: border-box;
  transition: background-color .22s ease, padding .22s ease;
}

.c24-notice-side-item:hover {
  background: #f8fbff;
  padding-left: 16px;
  padding-right: 16px;
}

.c24-notice-side-item span {
  color: var(--c24-muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.c24-notice-side-item strong {
  display: block;
  min-width: 0;
  font-size: var(--c24-notice-item-title-size, 17px);
  line-height: 1.45;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: var(--c24-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1024px) {
  .c24-notice-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 767px) {
  .c24-notice-layout {
    gap: 24px;
  }

  .c24-notice-side-head {
    padding-bottom: 14px;
  }

  .c24-notice-side h3 {
    font-size: 20px;
  }

  .c24-notice-side-item {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 14px;
    min-height: 64px;
    padding: 14px 4px;
  }

  .c24-notice-side-item:hover {
    padding-left: 4px;
    padding-right: 4px;
  }

  .c24-notice-side-item span {
    font-size: 12px;
  }

  .c24-notice-side-item strong {
    font-size: var(--c24-notice-mobile-item-title-size, 15px);
  }
}


/* =========================================================
   메인 공지사항 좌측 영역 보정: 라운드 제거 + 제목 가운데 정렬
   ========================================================= */
.c24-notice-section .c24-section-head {
  text-align: center !important;
}

.c24-notice-section .c24-section-head h2,
.c24-notice-section .c24-section-head p {
  text-align: center !important;
}

/* 왼쪽 공지사항/KBoard 최신글 영역 라운드 제거 */
.c24-notice-left,
.c24-notice-left *,
.c24-kboard-main,
.c24-kboard-main *,
.c24-kboard-notice-main,
.c24-kboard-notice-main *,
.c24-notice-list,
.c24-notice-item,
.c24-notice-item a {
  border-radius: 0 !important;
}

/* KBoard 최신글 스킨에서 박스형 라운드가 들어간 경우까지 제거 */
.c24-notice-left table,
.c24-notice-left thead,
.c24-notice-left tbody,
.c24-notice-left tr,
.c24-notice-left th,
.c24-notice-left td,
.c24-notice-left .kboard,
.c24-notice-left [id^="kboard"],
.c24-notice-left .kboard-list,
.c24-notice-left .kboard-list table,
.c24-notice-left .kboard-latest,
.c24-notice-left .kboard-latest table,
.c24-notice-left .kboard-default-latest,
.c24-notice-left .kboard-default-latest table {
  border-radius: 0 !important;
}

/* hover 때도 라운드가 살아나지 않도록 */
.c24-notice-left a:hover,
.c24-notice-left .kboard-list tbody tr:hover,
.c24-notice-left .kboard-latest tr:hover {
  border-radius: 0 !important;
}

/* =========================================================
   메인 공지사항 좌측 목록 보정 v2
   - 전체보기 버튼 라운드 복구
   - 좌측 목록 좌우 세로 라인 제거
   - 제목/작성일 헤더 가운데 정렬
   ========================================================= */
.c24-notice-section .c24-board-more-actions .c24-btn,
.c24-notice-section .c24-notice-actions .c24-btn,
.c24-notice-section a.c24-btn,
.c24-notice-section .c24-btn-outline {
  border-radius: 999px !important;
}

/* 왼쪽 목록 테이블 좌우 라인 제거 */
.c24-notice-left table,
.c24-notice-left .kboard table,
.c24-notice-left [id^="kboard"] table,
.c24-notice-left .kboard-latest table,
.c24-notice-left .kboard-default-latest table,
.c24-notice-left table.kboard-list {
  border-left: 0 !important;
  border-right: 0 !important;
}

.c24-notice-left th,
.c24-notice-left td,
.c24-notice-left .kboard th,
.c24-notice-left .kboard td,
.c24-notice-left [id^="kboard"] th,
.c24-notice-left [id^="kboard"] td,
.c24-notice-left .kboard-latest th,
.c24-notice-left .kboard-latest td,
.c24-notice-left .kboard-default-latest th,
.c24-notice-left .kboard-default-latest td {
  border-left: 0 !important;
  border-right: 0 !important;
}

.c24-notice-left tr > th:first-child,
.c24-notice-left tr > td:first-child {
  border-left: 0 !important;
}

.c24-notice-left tr > th:last-child,
.c24-notice-left tr > td:last-child {
  border-right: 0 !important;
}

/* 메인 공지사항 왼쪽 목록 헤더 가운데 정렬 */
.c24-notice-left thead th,
.c24-notice-left thead td,
.c24-notice-left table tr:first-child th,
.c24-notice-left table tr:first-child td {
  text-align: center !important;
  vertical-align: middle !important;
}

.c24-notice-left thead th:nth-child(2),
.c24-notice-left thead td:nth-child(2),
.c24-notice-left table tr:first-child th:nth-child(2),
.c24-notice-left table tr:first-child td:nth-child(2),
.c24-notice-left thead th.date,
.c24-notice-left thead td.date,
.c24-notice-left thead th.kboard-list-date,
.c24-notice-left thead td.kboard-list-date {
  text-align: center !important;
}

/* =========================================================
   메인 공지사항 섹션 재구성: 이미지형 2단 라인 레이아웃
   ========================================================= */
.c24-notice-section .c24-container {
  max-width: 1180px;
}

.c24-notice-layout-rebuild,
.c24-notice-section .c24-notice-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: clamp(38px, 5vw, 60px) !important;
  align-items: start !important;
}

.c24-notice-main-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.c24-notice-main-title {
  display: flex !important;
  align-items: flex-end !important;
  gap: 28px !important;
  min-width: 0 !important;
}

.c24-notice-main-title h2 {
  margin: 0 !important;
  font-size: var(--c24-notice-title-size, 42px) !important;
  line-height: 1 !important;
  letter-spacing: -0.08em !important;
  color: var(--c24-primary, #111827) !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.c24-notice-main-title p {
  margin: 0 0 4px !important;
  font-size: var(--c24-notice-desc-size, 16px) !important;
  line-height: 1.5 !important;
  color: var(--c24-muted, #6b7280) !important;
  text-align: left !important;
  word-break: keep-all !important;
}

.c24-notice-more-top,
.c24-notice-more-top:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 4px 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--c24-primary, #111827) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.c24-notice-more-top:hover {
  color: var(--c24-accent, #2563eb) !important;
  background: transparent !important;
  border: 0 !important;
}

/* 기존 하단 전체보기 버튼이 남아 있을 경우 숨김 */
.c24-notice-left > .c24-notice-actions,
.c24-notice-left > .c24-board-more-actions {
  display: none !important;
}

/* 왼쪽 공지사항 목록: 좌우 라인 없이 가로 라인형 */
.c24-notice-left,
.c24-notice-left .c24-kboard-main,
.c24-notice-left .c24-kboard-notice-main,
.c24-notice-left .kboard,
.c24-notice-left [id^="kboard"],
.c24-notice-left .kboard-list,
.c24-notice-left .kboard-latest,
.c24-notice-left .kboard-default-latest {
  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.c24-notice-left table,
.c24-notice-left .kboard table,
.c24-notice-left [id^="kboard"] table,
.c24-notice-left .kboard-list table,
.c24-notice-left .kboard-latest table,
.c24-notice-left .kboard-default-latest table,
.c24-notice-left table.kboard-list {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--c24-border, #e5e7eb) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.c24-notice-left thead,
.c24-notice-left .kboard thead,
.c24-notice-left [id^="kboard"] thead {
  background: #f7f9fc !important;
}

.c24-notice-left thead tr,
.c24-notice-left .kboard thead tr,
.c24-notice-left [id^="kboard"] thead tr {
  background: #f7f9fc !important;
  border: 0 !important;
}

.c24-notice-left th,
.c24-notice-left td,
.c24-notice-left .kboard th,
.c24-notice-left .kboard td,
.c24-notice-left [id^="kboard"] th,
.c24-notice-left [id^="kboard"] td {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.c24-notice-left thead th,
.c24-notice-left thead td,
.c24-notice-left .kboard thead th,
.c24-notice-left .kboard thead td,
.c24-notice-left [id^="kboard"] thead th,
.c24-notice-left [id^="kboard"] thead td {
  height: 50px !important;
  padding: 0 20px !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  background: #f7f9fc !important;
  color: #526174 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.c24-notice-left tbody tr,
.c24-notice-left .kboard tbody tr,
.c24-notice-left [id^="kboard"] tbody tr {
  border: 0 !important;
  background: transparent !important;
}

.c24-notice-left tbody td,
.c24-notice-left .kboard tbody td,
.c24-notice-left [id^="kboard"] tbody td {
  height: 54px !important;
  padding: 13px 20px !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  background: transparent !important;
  color: var(--c24-primary, #111827) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  vertical-align: middle !important;
}

.c24-notice-left tbody td.title,
.c24-notice-left tbody td.kboard-list-title,
.c24-notice-left tbody td:nth-child(1),
.c24-notice-left tbody td:nth-child(2),
.c24-notice-left .kboard tbody td.title,
.c24-notice-left .kboard tbody td.kboard-list-title,
.c24-notice-left .kboard tbody td:nth-child(1),
.c24-notice-left .kboard tbody td:nth-child(2) {
  text-align: left !important;
}

.c24-notice-left tbody td.title *,
.c24-notice-left tbody td.kboard-list-title *,
.c24-notice-left tbody td:nth-child(1) *,
.c24-notice-left tbody td:nth-child(2) * {
  text-align: left !important;
}

.c24-notice-left tbody td.date,
.c24-notice-left tbody td.kboard-list-date,
.c24-notice-left tbody td:last-child,
.c24-notice-left .kboard tbody td.date,
.c24-notice-left .kboard tbody td.kboard-list-date,
.c24-notice-left .kboard tbody td:last-child {
  text-align: center !important;
  color: #526174 !important;
  white-space: nowrap !important;
  font-size: var(--c24-notice-date-size, 13px) !important;
}

.c24-notice-left tbody a,
.c24-notice-left .kboard tbody a,
.c24-notice-left [id^="kboard"] tbody a {
  color: var(--c24-primary, #111827) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* 테마 기본 공지 목록도 동일한 표 느낌으로 정리 */
.c24-notice-list {
  border-top: 1px solid var(--c24-border, #e5e7eb) !important;
  border-radius: 0 !important;
}

.c24-notice-list::before {
  content: "";
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
  height: 50px;
  background: #f7f9fc;
  border-bottom: 1px solid var(--c24-border, #e5e7eb);
}

.c24-notice-item,
.c24-notice-item a {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.c24-notice-item a {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 110px !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 0 20px !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
}

.c24-notice-item strong {
  grid-column: 1 !important;
  grid-row: 1 !important;
  text-align: left !important;
  font-weight: 800 !important;
}

.c24-notice-item .c24-notice-date {
  grid-column: 2 !important;
  grid-row: 1 !important;
  text-align: center !important;
  color: #526174 !important;
}

.c24-notice-item em {
  display: none !important;
}

/* 오른쪽 WHAT WE DO 영역: 이미지와 비슷한 라인형 */
.c24-notice-side {
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.c24-notice-side-head {
  padding: 0 4px 17px !important;
  margin: 0 !important;
}

.c24-notice-side-kicker {
  margin-bottom: 10px !important;
  color: var(--c24-accent, #2563eb) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

.c24-notice-side h3 {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.06em !important;
  font-weight: 900 !important;
  color: var(--c24-primary, #111827) !important;
}

.c24-notice-side-list {
  border-top: 2px solid var(--c24-primary, #111827) !important;
  border-radius: 0 !important;
}

.c24-notice-side-item {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 18px 4px !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.c24-notice-side-item:hover {
  background: transparent !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.c24-notice-side-item span {
  color: #6b7280 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.c24-notice-side-item strong {
  color: var(--c24-primary, #111827) !important;
  font-size: var(--c24-notice-item-title-size, 17px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.05em !important;
}

@media (max-width: 1024px) {
  .c24-notice-layout-rebuild,
  .c24-notice-section .c24-notice-layout {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

@media (max-width: 767px) {
  .c24-notice-main-head {
    display: block !important;
    margin-bottom: 18px !important;
  }

  .c24-notice-main-title {
    display: block !important;
  }

  .c24-notice-main-title h2 {
    font-size: var(--c24-notice-mobile-title-size, 30px) !important;
  }

  .c24-notice-main-title p {
    margin-top: 10px !important;
    font-size: var(--c24-notice-mobile-desc-size, 14px) !important;
  }

  .c24-notice-more-top {
    margin-top: 16px !important;
  }

  .c24-notice-left thead th,
  .c24-notice-left thead td,
  .c24-notice-left .kboard thead th,
  .c24-notice-left .kboard thead td {
    height: 44px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  .c24-notice-left tbody td,
  .c24-notice-left .kboard tbody td,
  .c24-notice-left [id^="kboard"] tbody td {
    height: 50px !important;
    padding: 12px !important;
    font-size: 14px !important;
  }

  .c24-notice-side h3 {
    font-size: 20px !important;
  }

  .c24-notice-side-item {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    min-height: 64px !important;
    padding: 14px 4px !important;
  }
}

/* =========================================================
   메인 공지사항 hover 복구 + 작성일 흔들림 방지
   ========================================================= */
.c24-notice-left table,
.c24-notice-left .kboard table,
.c24-notice-left [id^="kboard"] table,
.c24-notice-left .kboard-list table,
.c24-notice-left .kboard-latest table,
.c24-notice-left .kboard-default-latest table,
.c24-notice-left table.kboard-list {
  table-layout: fixed !important;
}

/* 작성일 칸 폭 고정 */
.c24-notice-left thead th:last-child,
.c24-notice-left thead td:last-child,
.c24-notice-left tbody td.date,
.c24-notice-left tbody td.kboard-list-date,
.c24-notice-left tbody td:last-child,
.c24-notice-left .kboard thead th:last-child,
.c24-notice-left .kboard thead td:last-child,
.c24-notice-left .kboard tbody td.date,
.c24-notice-left .kboard tbody td.kboard-list-date,
.c24-notice-left .kboard tbody td:last-child,
.c24-notice-left [id^="kboard"] thead th:last-child,
.c24-notice-left [id^="kboard"] thead td:last-child,
.c24-notice-left [id^="kboard"] tbody td.date,
.c24-notice-left [id^="kboard"] tbody td.kboard-list-date,
.c24-notice-left [id^="kboard"] tbody td:last-child {
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  transition: color .2s ease, background-color .2s ease !important;
}

/* hover는 행 배경만 부드럽게 적용 */
.c24-notice-left tbody tr,
.c24-notice-left .kboard tbody tr,
.c24-notice-left [id^="kboard"] tbody tr,
.c24-notice-item a {
  transition: background-color .2s ease, color .2s ease !important;
}

.c24-notice-left tbody tr:hover,
.c24-notice-left .kboard tbody tr:hover,
.c24-notice-left [id^="kboard"] tbody tr:hover {
  background: #f8fafc !important;
}

.c24-notice-left tbody tr:hover td,
.c24-notice-left .kboard tbody tr:hover td,
.c24-notice-left [id^="kboard"] tbody tr:hover td {
  background: #f8fafc !important;
}

/* 제목만 hover 시 컬러 변경, 날짜는 흔들리지 않게 제외 */
.c24-notice-left tbody tr:hover td.title a,
.c24-notice-left tbody tr:hover td.kboard-list-title a,
.c24-notice-left tbody tr:hover td:nth-child(1) a,
.c24-notice-left tbody tr:hover td:nth-child(2) a,
.c24-notice-left .kboard tbody tr:hover td.title a,
.c24-notice-left .kboard tbody tr:hover td.kboard-list-title a,
.c24-notice-left .kboard tbody tr:hover td:nth-child(1) a,
.c24-notice-left .kboard tbody tr:hover td:nth-child(2) a,
.c24-notice-left [id^="kboard"] tbody tr:hover td.title a,
.c24-notice-left [id^="kboard"] tbody tr:hover td.kboard-list-title a,
.c24-notice-left [id^="kboard"] tbody tr:hover td:nth-child(1) a,
.c24-notice-left [id^="kboard"] tbody tr:hover td:nth-child(2) a {
  color: var(--c24-accent, #2563eb) !important;
}

.c24-notice-left tbody tr:hover td:last-child,
.c24-notice-left .kboard tbody tr:hover td:last-child,
.c24-notice-left [id^="kboard"] tbody tr:hover td:last-child,
.c24-notice-left tbody tr:hover td.date,
.c24-notice-left .kboard tbody tr:hover td.date,
.c24-notice-left [id^="kboard"] tbody tr:hover td.date,
.c24-notice-left tbody tr:hover td.kboard-list-date,
.c24-notice-left .kboard tbody tr:hover td.kboard-list-date,
.c24-notice-left [id^="kboard"] tbody tr:hover td.kboard-list-date {
  color: #526174 !important;
  font-weight: 500 !important;
  transform: none !important;
}

/* 테마 기본 공지 목록 hover 복구 */
.c24-notice-item a:hover {
  background: #f8fafc !important;
}

.c24-notice-item a:hover strong {
  color: var(--c24-accent, #2563eb) !important;
}

.c24-notice-item a:hover .c24-notice-date {
  color: #526174 !important;
  font-weight: 500 !important;
  transform: none !important;
}

.c24-notice-item .c24-notice-date {
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  transition: color .2s ease, background-color .2s ease !important;
}

/* =========================================================
   Notice final: 날짜 흔들림 방지 + WHAT WE DO hover 복구
   ========================================================= */
.c24-notice-section .c24-notice-item a {
  grid-template-columns: minmax(0, 1fr) 110px !important;
  transition: background-color .22s ease !important;
}

.c24-notice-section .c24-notice-item a:hover {
  background: #f8fbff !important;
}

.c24-notice-section .c24-notice-item strong,
.c24-notice-section .c24-notice-item strong * {
  transition: color .22s ease !important;
}

.c24-notice-section .c24-notice-item a:hover strong,
.c24-notice-section .c24-notice-item a:hover strong * {
  color: var(--c24-accent, #2563eb) !important;
}

/* 작성일은 hover 때 좌우 이동/굵기 변화가 생기지 않도록 완전 고정 */
.c24-notice-section .c24-notice-item .c24-notice-date,
.c24-notice-section .c24-notice-item a:hover .c24-notice-date,
.c24-notice-section .c24-notice-item .c24-notice-date:hover {
  display: block !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  justify-self: end !important;
  text-align: center !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  translate: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #526174 !important;
  font-variant-numeric: tabular-nums !important;
  -webkit-font-smoothing: antialiased !important;
  transition: none !important;
}

/* 혹시 상위 hover가 자식 전체에 이동 효과를 주는 경우 차단 */
.c24-notice-section .c24-notice-item a:hover .c24-notice-date,
.c24-notice-section .c24-notice-item:hover .c24-notice-date {
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

/* WHAT WE DO 항목 hover 복구 */
.c24-notice-section .c24-notice-side-item {
  transition: background-color .22s ease, padding .22s ease !important;
}

.c24-notice-section .c24-notice-side-item:hover {
  background: #f8fbff !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.c24-notice-section .c24-notice-side-item strong {
  transition: color .22s ease !important;
}

.c24-notice-section .c24-notice-side-item:hover strong {
  color: var(--c24-accent, #2563eb) !important;
}

/* =========================================================
   Notice final v3: 타이틀 축소 + 작성일 흔들림 완전 고정
   ========================================================= */
.c24-notice-section .c24-notice-main-title h2 {
  font-size: 34px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.07em !important;
}

/* 공지사항 기본 목록은 hover 시 padding 변화 때문에 날짜가 흔들릴 수 있어 위치를 고정 */
.c24-notice-section .c24-notice-item a,
.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a {
  position: relative !important;
  display: block !important;
  min-height: 54px !important;
  padding: 0 126px 0 20px !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  background: transparent !important;
  transition: background-color .22s ease !important;
  box-sizing: border-box !important;
}

.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a {
  background: #f8fbff !important;
}

.c24-notice-section .c24-notice-item strong,
.c24-notice-section .c24-notice-item a:hover strong {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
}

.c24-notice-section .c24-notice-item .c24-notice-date,
.c24-notice-section .c24-notice-item a:hover .c24-notice-date,
.c24-notice-section .c24-notice-item:hover .c24-notice-date {
  position: absolute !important;
  top: 50% !important;
  right: 20px !important;
  left: auto !important;
  display: block !important;
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  height: 20px !important;
  line-height: 20px !important;
  margin: -10px 0 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  color: #526174 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
  transform: none !important;
  translate: none !important;
  transition: none !important;
  will-change: auto !important;
}

.c24-notice-section .c24-notice-item em {
  display: none !important;
}

@media (max-width: 767px) {
  .c24-notice-section .c24-notice-main-title h2 {
    font-size: 24px !important;
  }
  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover,
  .c24-notice-section .c24-notice-item:hover a {
    padding: 0 86px 0 14px !important;
  }
  .c24-notice-section .c24-notice-item .c24-notice-date,
  .c24-notice-section .c24-notice-item a:hover .c24-notice-date,
  .c24-notice-section .c24-notice-item:hover .c24-notice-date {
    right: 14px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }
}

/* =========================================================
   Notice final v4: 작성일 좌우 흔들림 완전 차단
   - hover 때 padding/width/position 변화 제거
   - 제목 영역과 작성일 영역을 고정 grid로 분리
   ========================================================= */
.c24-notice-section .c24-notice-list,
.c24-notice-section .c24-notice-item,
.c24-notice-section .c24-notice-item a {
  box-sizing: border-box !important;
}

.c24-notice-section .c24-notice-item a,
.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a,
.c24-notice-section .c24-notice-item a:focus,
.c24-notice-section .c24-notice-item a:active {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 86px !important;
  column-gap: 0 !important;
  align-items: center !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 0 0 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  transform: none !important;
  translate: none !important;
  transition: background-color .22s ease !important;
}

.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a {
  background: #f8fbff !important;
  padding-left: 20px !important;
  padding-right: 0 !important;
}

.c24-notice-section .c24-notice-item strong,
.c24-notice-section .c24-notice-item a:hover strong,
.c24-notice-section .c24-notice-item:hover strong {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 14px 0 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
  translate: none !important;
}

.c24-notice-section .c24-notice-item .c24-notice-date,
.c24-notice-section .c24-notice-item a .c24-notice-date,
.c24-notice-section .c24-notice-item a:hover .c24-notice-date,
.c24-notice-section .c24-notice-item:hover .c24-notice-date,
.c24-notice-section .c24-notice-item .c24-notice-date:hover,
.c24-notice-section .c24-notice-item .c24-notice-date * {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  color: #526174 !important;
  font-size: var(--c24-notice-date-size, 13px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
  transform: none !important;
  translate: none !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  will-change: auto !important;
  transition: none !important;
}

.c24-notice-section .c24-notice-item em {
  display: none !important;
}

@media (max-width: 767px) {
  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover,
  .c24-notice-section .c24-notice-item:hover a,
  .c24-notice-section .c24-notice-item a:focus,
  .c24-notice-section .c24-notice-item a:active {
    grid-template-columns: minmax(0, 1fr) 68px !important;
    padding-left: 14px !important;
    padding-right: 0 !important;
  }

  .c24-notice-section .c24-notice-item a:hover,
  .c24-notice-section .c24-notice-item:hover a {
    padding-left: 14px !important;
    padding-right: 0 !important;
  }

  .c24-notice-section .c24-notice-item .c24-notice-date,
  .c24-notice-section .c24-notice-item a .c24-notice-date,
  .c24-notice-section .c24-notice-item a:hover .c24-notice-date,
  .c24-notice-section .c24-notice-item:hover .c24-notice-date {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
  }
}

/* =========================================================
   Notice final v5: 전체보기 옆 설명 삭제 대응 + 작성일 흔들림 완전 차단
   - hover 시 행/링크/셀의 padding, margin, transform 변화 금지
   - 날짜 칸은 KBoard 테이블/테마 목록 모두 고정폭 처리
   ========================================================= */
.c24-notice-section .c24-notice-main-title p {
  display: none !important;
}

/* 공통: notice 영역 hover 이동 효과 전부 차단 */
.c24-notice-section .c24-notice-left *,
.c24-notice-section .c24-kboard-notice-main *,
.c24-notice-section .c24-notice-list *,
.c24-notice-section .c24-notice-item * {
  transform: none !important;
  translate: none !important;
}

/* 테마 기본 공지 목록: 행 구조 고정 */
.c24-notice-section .c24-notice-item,
.c24-notice-section .c24-notice-item:hover {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.c24-notice-section .c24-notice-item a,
.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a,
.c24-notice-section .c24-notice-item a:focus,
.c24-notice-section .c24-notice-item a:active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 86px !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 0 0 20px !important;
  border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: background-color .18s ease !important;
}

.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a {
  background: #f8fbff !important;
  padding-left: 20px !important;
  padding-right: 0 !important;
}

.c24-notice-section .c24-notice-item strong,
.c24-notice-section .c24-notice-item a:hover strong,
.c24-notice-section .c24-notice-item:hover strong {
  grid-column: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 12px 0 0 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color .18s ease !important;
}

.c24-notice-section .c24-notice-item .c24-notice-date,
.c24-notice-section .c24-notice-item a:hover .c24-notice-date,
.c24-notice-section .c24-notice-item:hover .c24-notice-date {
  grid-column: 2 !important;
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  white-space: nowrap !important;
  color: #526174 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
  transition: none !important;
}

/* KBoard 최신글/목록 테이블: 작성일 칸 고정 + hover 이동 차단 */
.c24-notice-section .c24-notice-left table,
.c24-notice-section .c24-notice-left .kboard table,
.c24-notice-section .c24-notice-left [id^="kboard"] table,
.c24-notice-section .c24-kboard-notice-main table {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: collapse !important;
}

.c24-notice-section .c24-notice-left tr,
.c24-notice-section .c24-notice-left tr:hover,
.c24-notice-section .c24-kboard-notice-main tr,
.c24-notice-section .c24-kboard-notice-main tr:hover {
  transform: none !important;
  transition: background-color .18s ease !important;
}

.c24-notice-section .c24-notice-left tbody tr:hover td,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td {
  background: #f8fbff !important;
}

.c24-notice-section .c24-notice-left th,
.c24-notice-section .c24-notice-left td,
.c24-notice-section .c24-notice-left th:hover,
.c24-notice-section .c24-notice-left td:hover,
.c24-notice-section .c24-kboard-notice-main th,
.c24-notice-section .c24-kboard-notice-main td,
.c24-notice-section .c24-kboard-notice-main th:hover,
.c24-notice-section .c24-kboard-notice-main td:hover {
  transform: none !important;
  translate: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.c24-notice-section .c24-notice-left tbody td,
.c24-notice-section .c24-notice-left tbody tr:hover td,
.c24-notice-section .c24-kboard-notice-main tbody td,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  transition: background-color .18s ease !important;
}

/* 제목 칸만 hover 색상 변경 */
.c24-notice-section .c24-notice-left tbody tr:hover td.title a,
.c24-notice-section .c24-notice-left tbody tr:hover td.kboard-list-title a,
.c24-notice-section .c24-notice-left tbody tr:hover td:nth-child(1) a,
.c24-notice-section .c24-notice-left tbody tr:hover td:nth-child(2) a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td.title a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td.kboard-list-title a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td:nth-child(1) a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td:nth-child(2) a {
  color: var(--c24-accent, #2563eb) !important;
}

/* 작성일 칸: 가장 마지막 칸/날짜 클래스 모두 완전 고정 */
.c24-notice-section .c24-notice-left thead th:last-child,
.c24-notice-section .c24-notice-left tbody td:last-child,
.c24-notice-section .c24-notice-left tbody tr:hover td:last-child,
.c24-notice-section .c24-notice-left td.date,
.c24-notice-section .c24-notice-left td.kboard-list-date,
.c24-notice-section .c24-kboard-notice-main thead th:last-child,
.c24-notice-section .c24-kboard-notice-main tbody td:last-child,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td:last-child,
.c24-notice-section .c24-kboard-notice-main td.date,
.c24-notice-section .c24-kboard-notice-main td.kboard-list-date {
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  color: #526174 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
  transform: none !important;
  transition: none !important;
}

.c24-notice-section .c24-notice-left td.date *,
.c24-notice-section .c24-notice-left td.kboard-list-date *,
.c24-notice-section .c24-notice-left tbody td:last-child *,
.c24-notice-section .c24-kboard-notice-main td.date *,
.c24-notice-section .c24-kboard-notice-main td.kboard-list-date *,
.c24-notice-section .c24-kboard-notice-main tbody td:last-child * {
  display: inline-block !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 767px) {
  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover,
  .c24-notice-section .c24-notice-item:hover a {
    grid-template-columns: minmax(0, 1fr) 68px !important;
    padding-left: 14px !important;
  }
  .c24-notice-section .c24-notice-item .c24-notice-date,
  .c24-notice-section .c24-notice-item a:hover .c24-notice-date,
  .c24-notice-section .c24-notice-item:hover .c24-notice-date,
  .c24-notice-section .c24-notice-left tbody td:last-child,
  .c24-notice-section .c24-kboard-notice-main tbody td:last-child {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
  }
}

/* =========================================================
   Notice final v6: 설명 복구 + 날짜 흔들림 완전 고정
   ========================================================= */
.c24-notice-section .c24-notice-main-title p {
  display: block !important;
  margin: 0 !important;
  color: #6b7280 !important;
  font-size: var(--c24-notice-desc-size, 16px) !important;
  line-height: 1.5 !important;
}

.c24-notice-section .c24-notice-more-top,
.c24-notice-section .c24-notice-more-top:visited {
  white-space: nowrap !important;
}

/* 작성일 흔들림 원인 제거: 행/링크/셀의 hover 이동값 차단 */
.c24-notice-section .c24-notice-left *,
.c24-notice-section .c24-kboard-notice-main * {
  transform: none !important;
  translate: none !important;
}

/* 테마 자체 공지 목록 */
.c24-notice-section .c24-notice-item,
.c24-notice-section .c24-notice-item:hover {
  margin: 0 !important;
  padding: 0 !important;
}

.c24-notice-section .c24-notice-item a,
.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a,
.c24-notice-section .c24-notice-item a:focus,
.c24-notice-section .c24-notice-item a:active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 0 0 20px !important;
  gap: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  transition: background-color .18s ease !important;
}

.c24-notice-section .c24-notice-item a:hover,
.c24-notice-section .c24-notice-item:hover a {
  background: #f8fbff !important;
}

.c24-notice-section .c24-notice-item strong,
.c24-notice-section .c24-notice-item a:hover strong,
.c24-notice-section .c24-notice-item:hover strong {
  grid-column: 1 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 14px 0 0 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color .18s ease !important;
}

.c24-notice-section .c24-notice-item .c24-notice-date,
.c24-notice-section .c24-notice-item a .c24-notice-date,
.c24-notice-section .c24-notice-item a:hover .c24-notice-date,
.c24-notice-section .c24-notice-item:hover .c24-notice-date {
  grid-column: 2 !important;
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 92px !important;
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  height: 54px !important;
  line-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  white-space: nowrap !important;
  color: #526174 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
  transition: none !important;
}

/* KBoard 최신글/테이블형 목록 */
.c24-notice-section .c24-notice-left table,
.c24-notice-section .c24-notice-left .kboard table,
.c24-notice-section .c24-notice-left [id^="kboard"] table,
.c24-notice-section .c24-kboard-notice-main table,
.c24-notice-section table.c24-notice-stable-table {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: collapse !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.c24-notice-section .c24-notice-left tr,
.c24-notice-section .c24-notice-left tr:hover,
.c24-notice-section .c24-kboard-notice-main tr,
.c24-notice-section .c24-kboard-notice-main tr:hover {
  transform: none !important;
  translate: none !important;
}

.c24-notice-section .c24-notice-left tbody tr:hover td,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td {
  background: #f8fbff !important;
}

.c24-notice-section .c24-notice-left th,
.c24-notice-section .c24-notice-left td,
.c24-notice-section .c24-notice-left th:hover,
.c24-notice-section .c24-notice-left td:hover,
.c24-notice-section .c24-kboard-notice-main th,
.c24-notice-section .c24-kboard-notice-main td,
.c24-notice-section .c24-kboard-notice-main th:hover,
.c24-notice-section .c24-kboard-notice-main td:hover {
  transform: none !important;
  translate: none !important;
  box-sizing: border-box !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.c24-notice-section .c24-notice-left tbody td,
.c24-notice-section .c24-notice-left tbody tr:hover td,
.c24-notice-section .c24-kboard-notice-main tbody td,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  transition: background-color .18s ease !important;
}

.c24-notice-section .c24-notice-left .c24-notice-fixed-title-col,
.c24-notice-section .c24-kboard-notice-main .c24-notice-fixed-title-col,
.c24-notice-section .c24-notice-left tbody td.title,
.c24-notice-section .c24-notice-left tbody td.kboard-list-title,
.c24-notice-section .c24-kboard-notice-main tbody td.title,
.c24-notice-section .c24-kboard-notice-main tbody td.kboard-list-title {
  width: auto !important;
  min-width: 0 !important;
  padding-left: 20px !important;
  padding-right: 16px !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.c24-notice-section .c24-notice-left tbody tr:hover td.title a,
.c24-notice-section .c24-notice-left tbody tr:hover td.kboard-list-title a,
.c24-notice-section .c24-notice-left tbody tr:hover .c24-notice-fixed-title-col a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td.title a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover td.kboard-list-title a,
.c24-notice-section .c24-kboard-notice-main tbody tr:hover .c24-notice-fixed-title-col a {
  color: var(--c24-accent, #2563eb) !important;
}

.c24-notice-section .c24-notice-left .c24-notice-fixed-date-col,
.c24-notice-section .c24-notice-left thead th.c24-notice-fixed-date-col,
.c24-notice-section .c24-notice-left tbody td.c24-notice-fixed-date-col,
.c24-notice-section .c24-notice-left td.date,
.c24-notice-section .c24-notice-left td.kboard-list-date,
.c24-notice-section .c24-kboard-notice-main .c24-notice-fixed-date-col,
.c24-notice-section .c24-kboard-notice-main thead th.c24-notice-fixed-date-col,
.c24-notice-section .c24-kboard-notice-main tbody td.c24-notice-fixed-date-col,
.c24-notice-section .c24-kboard-notice-main td.date,
.c24-notice-section .c24-kboard-notice-main td.kboard-list-date {
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  color: #526174 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
  transform: none !important;
  translate: none !important;
  transition: none !important;
}

.c24-notice-section .c24-notice-left .c24-notice-fixed-date-col *,
.c24-notice-section .c24-notice-left td.date *,
.c24-notice-section .c24-notice-left td.kboard-list-date *,
.c24-notice-section .c24-kboard-notice-main .c24-notice-fixed-date-col *,
.c24-notice-section .c24-kboard-notice-main td.date *,
.c24-notice-section .c24-kboard-notice-main td.kboard-list-date * {
  display: inline-block !important;
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  transition: none !important;
}

/* WHAT WE DO hover 유지 */
.c24-notice-section .c24-notice-side-item {
  transition: background-color .18s ease, padding-left .18s ease !important;
}
.c24-notice-section .c24-notice-side-item:hover {
  background: #f8fbff !important;
  padding-left: 18px !important;
}
.c24-notice-section .c24-notice-side-item:hover strong {
  color: var(--c24-accent, #2563eb) !important;
}

@media (max-width: 767px) {
  .c24-notice-section .c24-notice-main-title p {
    font-size: var(--c24-notice-mobile-desc-size, 14px) !important;
  }
  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover,
  .c24-notice-section .c24-notice-item:hover a {
    grid-template-columns: minmax(0, 1fr) 72px !important;
    padding-left: 14px !important;
  }
  .c24-notice-section .c24-notice-item .c24-notice-date,
  .c24-notice-section .c24-notice-item a .c24-notice-date,
  .c24-notice-section .c24-notice-item a:hover .c24-notice-date,
  .c24-notice-section .c24-notice-item:hover .c24-notice-date,
  .c24-notice-section .c24-notice-left .c24-notice-fixed-date-col,
  .c24-notice-section .c24-kboard-notice-main .c24-notice-fixed-date-col {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }
}

/* Direct contact form privacy checkbox */
.c24-contact-mail-form .c24-privacy-agree {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 18px;
  font-size: 13px;
  line-height: 1.5;
  color: #555;
}
.c24-contact-mail-form .c24-privacy-agree input {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
}

/* =========================================================
   Contact section: right side form-mail layout
   ========================================================= */
.c24-contact-section .c24-contact {
  grid-template-columns: minmax(280px, .82fr) minmax(520px, 1.18fr) !important;
  align-items: start !important;
  gap: 44px !important;
}

.c24-contact-section .c24-form-box {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.c24-contact-section .c24-contact-form-image-style {
  width: 100% !important;
  margin: 0 !important;
}

.c24-contact-section .c24-contact-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 30px !important;
}

.c24-contact-section .c24-contact-form-group {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 0 22px !important;
}

.c24-contact-section .c24-contact-form-group label {
  margin: 0 0 9px !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.03em !important;
}

.c24-contact-section .c24-contact-form-group label span,
.c24-contact-section .c24-privacy-agree b {
  color: #ff4b4b !important;
  font-weight: 800 !important;
}

.c24-contact-section .c24-contact-form-group input,
.c24-contact-section .c24-contact-form-group textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe3ea !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111827 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  outline: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.c24-contact-section .c24-contact-form-group input {
  height: 50px !important;
  padding: 0 16px !important;
}

.c24-contact-section .c24-contact-form-group textarea {
  min-height: 140px !important;
  padding: 16px !important;
  resize: vertical !important;
}

.c24-contact-section .c24-contact-form-group input:focus,
.c24-contact-section .c24-contact-form-group textarea:focus {
  border-color: #111827 !important;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, .06) !important;
}

.c24-contact-section .c24-contact-form-full {
  margin-bottom: 26px !important;
}

.c24-contact-section .c24-privacy-agree-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 8px 0 40px !important;
  padding: 18px 22px !important;
  border-radius: 6px !important;
  background: #f8f9fb !important;
}

.c24-contact-section .c24-privacy-agree {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
}

.c24-contact-section .c24-privacy-agree input {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  accent-color: #111827 !important;
}

.c24-contact-section .c24-privacy-more {
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #6b7280 !important;
  font: inherit !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.c24-contact-section .c24-privacy-more:hover {
  color: #111827 !important;
}

.c24-contact-section .c24-contact-submit-wrap {
  text-align: center !important;
}

.c24-contact-section .c24-contact-submit-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 214px !important;
  height: 60px !important;
  padding: 0 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  cursor: pointer !important;
  transition: background-color .2s ease, transform .2s ease !important;
}

.c24-contact-section .c24-contact-submit-btn:hover {
  background: #333 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 1024px) {
  .c24-contact-section .c24-contact {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

@media (max-width: 767px) {
  .c24-contact-section .c24-contact-form-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .c24-contact-section .c24-privacy-agree-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 30px !important;
    padding: 16px !important;
  }
  .c24-contact-section .c24-contact-submit-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* 개인정보 전문보기 모달 전체화면 고정 */
#privacyModal.modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;
  align-items: center !important;
  justify-content: center !important;
}
#privacyModal.modal-overlay.show {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* =============================
   메인 포트폴리오 영역 테두리 제거
   - 포트폴리오 카드/갤러리 아이템 전체 박스 테두리 제거
   ============================= */
.c24-portfolio-section .c24-project,
.c24-portfolio-section .c24-portfolio-item,
.c24-portfolio-grid .c24-project,
.c24-portfolio-gallery .c24-portfolio-item {
  border: none !important;
}

.c24-portfolio-section .c24-project:hover,
.c24-portfolio-section .c24-portfolio-item:hover,
.c24-portfolio-grid .c24-project:hover,
.c24-portfolio-gallery .c24-portfolio-item:hover {
  border-color: transparent !important;
}

/* =============================
   메인 포트폴리오 KBoard 전체 영역 배경/테두리 제거
   - 타이틀 아래를 감싸는 흰색 박스와 외곽선을 제거
   ============================= */
.c24-portfolio-section .c24-kboard-portfolio-main,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard,
.c24-portfolio-section .c24-kboard-portfolio-main [id^="kboard-"],
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-default,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-default-list,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-latest,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list table,
.c24-portfolio-section .c24-kboard-portfolio-main table,
.c24-portfolio-section .c24-kboard-portfolio-main thead,
.c24-portfolio-section .c24-kboard-portfolio-main tbody,
.c24-portfolio-section .c24-kboard-portfolio-main tr,
.c24-portfolio-section .c24-kboard-portfolio-main th,
.c24-portfolio-section .c24-kboard-portfolio-main td {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}

/* 포트폴리오 최신글 영역 자체 여백만 유지하고 박스 느낌 제거 */
.c24-portfolio-section .c24-kboard-portfolio-main {
  padding: 0 !important;
  margin-top: 0 !important;
}


/* =============================
   문의하기 오른쪽 폼메일 박스 테두리/배경 복구
   - 포트폴리오 영역 테두리 제거와 별개로 문의폼 박스 스타일 유지
   ============================= */
.c24-contact-section .c24-contact {
  align-items: stretch !important;
}

.c24-contact-section .c24-contact-info,
.c24-contact-section .c24-form-box {
  background: #fff !important;
  border: 1px solid var(--c24-border) !important;
  border-radius: 30px !important;
  box-shadow: var(--c24-shadow) !important;
}

.c24-contact-section .c24-form-box {
  padding: 36px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.c24-contact-section .c24-contact-form-image-style {
  width: 100% !important;
}

@media (max-width: 767px) {
  .c24-contact-section .c24-form-box {
    padding: 24px !important;
    border-radius: 24px !important;
  }
}

/* =========================================================
   ✅ 2026-05-21 메인 섹션 타이틀 사이즈 완화
   - 전체적으로 크게 느껴지는 섹션 제목 크기를 한 단계 낮춤
   - 슬라이드/히어로 메인 카피는 유지
========================================================= */
.c24-section-head h2 {
  font-size: var(--c24-section-title-size, clamp(28px, 3.2vw, 40px)) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.055em !important;
}

.c24-section-head p {
  font-size: var(--c24-section-desc-size, 16px) !important;
  line-height: 1.65 !important;
}

.c24-about h2,
.c24-contact-info h2,
.c24-contact h2 {
  font-size: clamp(28px, 3vw, 34px) !important;
  line-height: 1.24 !important;
}

.c24-card h3 {
  font-size: var(--c24-service-card-title-size, 21px) !important;
}

.c24-project-body h3,
.c24-portfolio-section .c24-project-body h3 {
  font-size: var(--c24-project-title-size, 19px) !important;
}

@media screen and (max-width: 768px) {
  .c24-section-head h2,
  .c24-about h2,
  .c24-contact-info h2,
  .c24-contact h2 {
    font-size: 25px !important;
    line-height: 1.28 !important;
  }

  .c24-section-head p {
    font-size: 14px !important;
  }

  .c24-card h3 {
    font-size: 18px !important;
  }

  .c24-project-body h3,
  .c24-portfolio-section .c24-project-body h3 {
    font-size: 16px !important;
  }
}

/* =========================================================
   ✅ 2026-05-21 타이틀 크기 강제 축소 2차
   - 기존 사용자정의 변수(--c24-*-title-size)가 46px로 남아 있으면
     fallback 값이 적용되지 않아 차이가 거의 없어 보이는 문제 보정
========================================================= */
.c24-services-section,
.c24-features-section,
.c24-portfolio-section,
.c24-contact-section {
  --c24-section-title-size: clamp(26px, 2.8vw, 34px) !important;
  --c24-section-desc-size: 15px !important;
}

.c24-section-head h2,
.c24-services-section .c24-section-head h2,
.c24-features-section .c24-section-head h2,
.c24-portfolio-section .c24-section-head h2,
.c24-contact-section .c24-section-head h2 {
  font-size: clamp(26px, 2.8vw, 34px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.055em !important;
}

.c24-section-head p,
.c24-services-section .c24-section-head p,
.c24-features-section .c24-section-head p,
.c24-portfolio-section .c24-section-head p,
.c24-contact-section .c24-section-head p {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.c24-about h2,
.c24-contact-info h2,
.c24-contact h2,
.c24-contact-section .c24-contact-info h2 {
  font-size: clamp(26px, 2.7vw, 32px) !important;
  line-height: 1.25 !important;
}

.c24-card h3,
.c24-service-card h3 {
  font-size: 19px !important;
}

.c24-project-body h3,
.c24-portfolio-section .c24-project-body h3 {
  font-size: 18px !important;
}

@media screen and (max-width: 768px) {
  .c24-section-head h2,
  .c24-services-section .c24-section-head h2,
  .c24-features-section .c24-section-head h2,
  .c24-portfolio-section .c24-section-head h2,
  .c24-contact-section .c24-section-head h2,
  .c24-about h2,
  .c24-contact-info h2,
  .c24-contact h2 {
    font-size: 23px !important;
    line-height: 1.3 !important;
  }

  .c24-section-head p,
  .c24-services-section .c24-section-head p,
  .c24-features-section .c24-section-head p,
  .c24-portfolio-section .c24-section-head p,
  .c24-contact-section .c24-section-head p {
    font-size: 13px !important;
  }
}

/* =========================================================
   ✅ 2026-05-21 메인 공지사항 왼쪽 헤더 배경/글자색 보정
   - 제목/작성일 헤더 배경을 연한 회색으로 적용
   - 제목/작성일 폰트 검정색 적용
========================================================= */
.c24-notice-section .c24-notice-left thead,
.c24-notice-section .c24-notice-left thead tr,
.c24-notice-section .c24-notice-left thead th,
.c24-notice-section .c24-notice-left thead td,
.c24-notice-section .c24-notice-left table tr:first-child th,
.c24-notice-section .c24-notice-left table tr:first-child td,
.c24-notice-section .c24-kboard-notice-main thead,
.c24-notice-section .c24-kboard-notice-main thead tr,
.c24-notice-section .c24-kboard-notice-main thead th,
.c24-notice-section .c24-kboard-notice-main thead td,
.c24-notice-section .c24-kboard-notice-main table tr:first-child th,
.c24-notice-section .c24-kboard-notice-main table tr:first-child td,
.c24-notice-section .c24-notice-left .kboard thead,
.c24-notice-section .c24-notice-left .kboard thead tr,
.c24-notice-section .c24-notice-left .kboard thead th,
.c24-notice-section .c24-notice-left .kboard thead td,
.c24-notice-section .c24-notice-left [id^="kboard"] thead,
.c24-notice-section .c24-notice-left [id^="kboard"] thead tr,
.c24-notice-section .c24-notice-left [id^="kboard"] thead th,
.c24-notice-section .c24-notice-left [id^="kboard"] thead td {
  background: #f5f5f5 !important;
  background-color: #f5f5f5 !important;
}

.c24-notice-section .c24-notice-left thead th,
.c24-notice-section .c24-notice-left thead td,
.c24-notice-section .c24-notice-left table tr:first-child th,
.c24-notice-section .c24-notice-left table tr:first-child td,
.c24-notice-section .c24-kboard-notice-main thead th,
.c24-notice-section .c24-kboard-notice-main thead td,
.c24-notice-section .c24-kboard-notice-main table tr:first-child th,
.c24-notice-section .c24-kboard-notice-main table tr:first-child td,
.c24-notice-section .c24-notice-left .kboard thead th,
.c24-notice-section .c24-notice-left .kboard thead td,
.c24-notice-section .c24-notice-left [id^="kboard"] thead th,
.c24-notice-section .c24-notice-left [id^="kboard"] thead td {
  color: #000 !important;
}

/* =========================================================
   ✅ 2026-05-21 공지사항 헤더 배경 최종 보정
   - 헤더만 아주 연한 회색으로 적용
   - 첫 번째 게시물 행에는 배경색이 들어가지 않도록 초기화
========================================================= */
.c24-notice-section .c24-notice-left thead,
.c24-notice-section .c24-notice-left thead tr,
.c24-notice-section .c24-notice-left thead th,
.c24-notice-section .c24-notice-left thead td,
.c24-notice-section .c24-kboard-notice-main thead,
.c24-notice-section .c24-kboard-notice-main thead tr,
.c24-notice-section .c24-kboard-notice-main thead th,
.c24-notice-section .c24-kboard-notice-main thead td,
.c24-notice-section .c24-notice-left .kboard thead,
.c24-notice-section .c24-notice-left .kboard thead tr,
.c24-notice-section .c24-notice-left .kboard thead th,
.c24-notice-section .c24-notice-left .kboard thead td,
.c24-notice-section .c24-notice-left [id^="kboard"] thead,
.c24-notice-section .c24-notice-left [id^="kboard"] thead tr,
.c24-notice-section .c24-notice-left [id^="kboard"] thead th,
.c24-notice-section .c24-notice-left [id^="kboard"] thead td {
  background: #fafafa !important;
  background-color: #fafafa !important;
  color: #000 !important;
}

/* thead가 아닌 첫 번째 게시물 행에는 헤더 배경 적용 금지 */
.c24-notice-section .c24-notice-left tbody tr:first-child,
.c24-notice-section .c24-notice-left tbody tr:first-child td,
.c24-notice-section .c24-kboard-notice-main tbody tr:first-child,
.c24-notice-section .c24-kboard-notice-main tbody tr:first-child td,
.c24-notice-section .c24-notice-left .kboard tbody tr:first-child,
.c24-notice-section .c24-notice-left .kboard tbody tr:first-child td,
.c24-notice-section .c24-notice-left [id^="kboard"] tbody tr:first-child,
.c24-notice-section .c24-notice-left [id^="kboard"] tbody tr:first-child td {
  background: transparent !important;
  background-color: transparent !important;
}

/* 제목/작성일이 실제 th인 경우에만 첫 줄 헤더 배경 적용 */
.c24-notice-section .c24-notice-left table tr:first-child th,
.c24-notice-section .c24-kboard-notice-main table tr:first-child th,
.c24-notice-section .c24-notice-left .kboard table tr:first-child th,
.c24-notice-section .c24-notice-left [id^="kboard"] table tr:first-child th {
  background: #fafafa !important;
  background-color: #fafafa !important;
  color: #000 !important;
}


/* =============================
   포트폴리오 목록 페이지 - 페이지 버튼 위 라인 제거
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination,
.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination .kboard-pagination-pages,
.c24-page-content.c24-page-slug-portfolio-board .kboard-default-list .kboard-pagination,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list .kboard-pagination {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-top: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination .kboard-pagination-pages::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination .kboard-pagination-pages::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard table,
.c24-page-content.c24-page-slug-portfolio-board .kboard-default-list table,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list table,
.c24-page-content.c24-page-slug-portfolio-board table.kboard-list {
  border-bottom: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard tbody tr:last-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard-default-list tbody tr:last-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list tbody tr:last-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard tbody tr:last-child td,
.c24-page-content.c24-page-slug-portfolio-board .kboard-default-list tbody tr:last-child td,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list tbody tr:last-child td {
  border-bottom: 0 !important;
}

/* =============================
   포트폴리오 목록 페이지 - 카드 아래 / 페이지 버튼 위 가로 라인 강제 제거
   KBoard 썸네일 스킨의 .kboard-list border-bottom 대응
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] .kboard-list,
.c24-page-content.c24-page-slug-portfolio-board [class*="kboard"] .kboard-list,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list-wrap,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list-footer,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-pagination {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list::after,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] .kboard-list::before,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] .kboard-list::after,
.c24-page-content.c24-page-slug-portfolio-board [class*="kboard"] .kboard-list::before,
.c24-page-content.c24-page-slug-portfolio-board [class*="kboard"] .kboard-list::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list-footer::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list-footer::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board hr,
.c24-page-content.c24-page-slug-portfolio-board .kboard hr,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] hr {
  display: none !important;
}

/* =============================
   포트폴리오 상세 페이지 - 전체 테두리 제거
   /portfolio-board/?mod=document&uid=... 문서 상세 화면 대응
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-header,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-title,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-info,
.c24-page-content.c24-page-slug-portfolio-board .kboard-detail,
.c24-page-content.c24-page-slug-portfolio-board .kboard-content,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-content,
.c24-page-content.c24-page-slug-portfolio-board .kboard-attach,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-comments-area,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] .kboard-document,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] .kboard-content,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] table,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] tr,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] th,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"] td {
  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document::after,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-content::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-content::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* =============================
   포트폴리오 상세 페이지 - 목록보기 버튼 옆/아래 가로 라인 제거
   KBoard 컨트롤 영역의 border, pseudo line 대응
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control-wrap,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-footer,
.c24-page-content.c24-page-slug-portfolio-board .kboard-button-action,
.c24-page-content.c24-page-slug-portfolio-board [class*="kboard"] [class*="control"],
.c24-page-content.c24-page-slug-portfolio-board [class*="kboard"] [class*="button"] {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control-wrap::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control-wrap::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-footer::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-footer::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* 목록보기 버튼 자체는 유지 */
.c24-page-content.c24-page-slug-portfolio-board .kboard-control a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-button-action a {
  border: 1px solid #e5e7eb !important;
}

/* =============================
   포트폴리오 상세 페이지 - 제목/작성자 영역 간격 정리
   상세 상단 제목 왼쪽 여백 제거, 제목 아래 라인 제거,
   작성자/날짜 정보 라인과 상하 여백 축소
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-header,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document .kboard-document-header,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-header,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap .kboard-document-header {
  padding: 0 !important;
  margin: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 제목 왼쪽 공간 제거 + 아래 라인 제거 */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-title,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document .kboard-document-title,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-title,
.c24-page-content.c24-page-slug-portfolio-board .kboard-title,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap .kboard-title {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-title h1,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-title h2,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document .kboard-document-title h1,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document .kboard-document-title h2,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-title h1,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-title h2,
.c24-page-content.c24-page-slug-portfolio-board .kboard-title h1,
.c24-page-content.c24-page-slug-portfolio-board .kboard-title h2,
.c24-page-content.c24-page-slug-portfolio-board .kboard-title {
  padding: 0 !important;
  margin: 0 0 8px !important;
  border: 0 !important;
  line-height: 1.35 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-title::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-title::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-title::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-title::after {
  content: none !important;
  display: none !important;
}

/* 작성자/날짜 정보 라인 제거 + 공간 축소 */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-info,
.c24-page-content.c24-page-slug-portfolio-board #kboard-document .kboard-document-info,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-info,
.c24-page-content.c24-page-slug-portfolio-board .kboard-detail,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap .kboard-detail,
.c24-page-content.c24-page-slug-portfolio-board .kboard-attr-row,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-header .kboard-info {
  padding: 4px 0 8px !important;
  margin: 0 0 12px !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-info *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-detail *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-attr-row *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-header .kboard-info * {
  line-height: 1.4 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-info::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-info::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-detail::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-detail::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-attr-row::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-attr-row::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* 본문 시작 전 여백도 살짝 축소 */
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-content,
.c24-page-content.c24-page-slug-portfolio-board .kboard-content,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap .kboard-content {
  padding-top: 12px !important;
  margin-top: 0 !important;
  border-top: 0 !important;
}

/* =========================================================
   메인 포트폴리오 영역: 가로 3개 정렬 고정
   ========================================================= */
.c24-portfolio-section .c24-portfolio-gallery,
.c24-portfolio-section .c24-portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

/* KBoard 썸네일/최신글 스킨이 메인 포트폴리오에 들어간 경우 */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
.c24-portfolio-section .c24-kboard-portfolio-main .c24-portfolio-item {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 980px) {
  .c24-portfolio-section .c24-portfolio-gallery,
  .c24-portfolio-section .c24-portfolio-grid,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .c24-portfolio-section .c24-portfolio-gallery,
  .c24-portfolio-section .c24-portfolio-grid,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-container {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* =========================================================
   메인 포트폴리오: 썸네일 전용 + hover 보러가기 버튼
   - 제목/작성자/날짜/요약 정보는 메인에서 숨김
   - 카드 hover 시 중앙에 보러가기 버튼 표시
========================================================= */
.c24-portfolio-section .c24-portfolio-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list .kboard-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"],
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* KBoard 최신글/썸네일 스킨의 텍스트 정보 숨김 */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-content,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-summary,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-content,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-category,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-meta,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-content {
  display: none !important;
}

/* 테마 자체 포트폴리오 카드 텍스트 숨김 */
.c24-portfolio-section .c24-portfolio-info {
  display: none !important;
}

/* 썸네일 영역만 카드 전체를 채우도록 */
.c24-portfolio-section .c24-portfolio-link,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap > a,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"] > a,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] > a {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #e5e7eb !important;
  text-decoration: none !important;
}

.c24-portfolio-section .c24-portfolio-thumb,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-cut-strings,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  overflow: hidden !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: #e5e7eb !important;
}

.c24-portfolio-section .c24-portfolio-thumb img,
.c24-portfolio-section .c24-kboard-portfolio-main img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  margin: 0 !important;
  border-radius: 14px !important;
  transition: transform .45s ease, filter .45s ease !important;
}

/* hover 어두운 오버레이 */
.c24-portfolio-section .c24-portfolio-link::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"] > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] > a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0, 0, 0, .42) !important;
  opacity: 0 !important;
  transition: opacity .28s ease !important;
  pointer-events: none !important;
}

/* hover 보러가기 버튼 */
.c24-portfolio-section .c24-portfolio-link::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"] > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] > a::after {
  content: "보러가기" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 3 !important;
  transform: translate(-50%, -50%) translateY(10px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 108px !important;
  height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  opacity: 0 !important;
  transition: opacity .28s ease, transform .28s ease !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

.c24-portfolio-section .c24-portfolio-item:hover .c24-portfolio-link::before,
.c24-portfolio-section .c24-portfolio-item:hover .c24-portfolio-link::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"]:hover > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"]:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"]:hover > a::before,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"]:hover > a::after {
  opacity: 1 !important;
}

.c24-portfolio-section .c24-portfolio-item:hover .c24-portfolio-link::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"]:hover > a::after,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"]:hover > a::after {
  transform: translate(-50%, -50%) translateY(0) !important;
}

.c24-portfolio-section .c24-portfolio-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"]:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"]:hover img {
  transform: scale(1.06) !important;
  filter: saturate(1.04) !important;
}

/* =========================================================
   메인 포트폴리오: KBoard 실제 출력 구조 대응 최종 보정
   - 카드 하단 제목/작성자/날짜 숨김
   - 썸네일만 노출
   - hover 시 보러가기 버튼 표시
========================================================= */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
.c24-portfolio-section .c24-kboard-portfolio-main li,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list > div,
.c24-portfolio-section .c24-portfolio-item {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* KBoard/테마 카드 안의 텍스트 영역 전체 숨김 */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-writer,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-content,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-writer,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-summary,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-content,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-meta,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-writer,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-content,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-writer,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-user,
.c24-portfolio-section .c24-kboard-portfolio-main h3,
.c24-portfolio-section .c24-kboard-portfolio-main h4,
.c24-portfolio-section .c24-kboard-portfolio-main p,
.c24-portfolio-section .c24-kboard-portfolio-main .content,
.c24-portfolio-section .c24-kboard-portfolio-main .info,
.c24-portfolio-section .c24-kboard-portfolio-main .meta,
.c24-portfolio-section .c24-portfolio-info {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 링크/썸네일을 카드 전체 이미지 영역으로 정리 */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap > a,
.c24-portfolio-section .c24-kboard-portfolio-main li > a,
.c24-portfolio-section .c24-kboard-portfolio-main [class*="item"] > a,
.c24-portfolio-section .c24-portfolio-link {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #e5e7eb !important;
  text-decoration: none !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-cut-strings,
.c24-portfolio-section .c24-portfolio-thumb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #e5e7eb !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main img,
.c24-portfolio-section .c24-portfolio-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  transition: transform .45s ease, filter .45s ease !important;
}

/* 실제 카드 요소에 오버레이/버튼을 직접 생성: a 구조가 달라도 작동 */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap::before,
.c24-portfolio-section .c24-kboard-portfolio-main li::before,
.c24-portfolio-section .c24-portfolio-item::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  background: rgba(0,0,0,.42) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  pointer-events: none !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap::after,
.c24-portfolio-section .c24-kboard-portfolio-main li::after,
.c24-portfolio-section .c24-portfolio-item::after {
  content: "보러가기" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 6 !important;
  transform: translate(-50%, -50%) translateY(8px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  min-width: 108px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  opacity: 0 !important;
  transition: opacity .25s ease, transform .25s ease !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main li:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main li:hover::after,
.c24-portfolio-section .c24-portfolio-item:hover::before,
.c24-portfolio-section .c24-portfolio-item:hover::after {
  opacity: 1 !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main li:hover::after,
.c24-portfolio-section .c24-portfolio-item:hover::after {
  transform: translate(-50%, -50%) translateY(0) !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main li:hover img,
.c24-portfolio-section .c24-portfolio-item:hover img {
  transform: scale(1.06) !important;
}

/* =========================================================
   ✅ 메인 포트폴리오 썸네일 레이아웃 최종 보정
   - PC: 가로 3개
   - 태블릿: 가로 2개, 홀수 개수일 때 마지막 1개 숨김
   - 모바일: 가로 1개, 숨김 없이 모두 노출
========================================================= */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
.c24-portfolio-section .c24-portfolio-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list > li,
.c24-portfolio-section .c24-portfolio-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* KBoard 스킨에서 inline-block / width:25% 등이 들어가는 경우 보정 */
.c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"],
.c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
  .c24-portfolio-section .c24-portfolio-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  .c24-portfolio-section .c24-tablet-hide-odd-last {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
  .c24-portfolio-section .c24-portfolio-gallery {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .c24-portfolio-section .c24-tablet-hide-odd-last {
    display: block !important;
  }
}

/* =========================================================
   ✅ 메인 포트폴리오 실제 KBoard 썸네일 스킨 강제 보정 v2
   - 이전 보정이 실제 #kboard-thumbnail-latest 구조를 못 잡는 경우 대응
   - PC 3열 / 태블릿 2열(홀수 마지막 숨김) / 모바일 1열
   - 제목/작성자/날짜 숨김, 썸네일 hover 보러가기 표시
========================================================= */
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
.c24-portfolio-section .c24-main-portfolio-grid-real {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list::after {
  display: none !important;
  content: none !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item,
.c24-portfolio-section .c24-main-portfolio-card-real {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item > a,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item > a,
.c24-portfolio-section .c24-main-portfolio-thumb-link-real {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #e5e7eb !important;
  text-decoration: none !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-thumbnail,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-thumbnail,
.c24-portfolio-section .c24-main-portfolio-thumb-real {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #e5e7eb !important;
}

.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest img,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list img,
.c24-portfolio-section .c24-main-portfolio-card-real img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform .45s ease, filter .45s ease !important;
}

/* 제목/작성자/날짜/요약 영역 숨김 */
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-writer,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-writer,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-title,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-info,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-date,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-user,
.c24-portfolio-section .c24-kboard-portfolio-main .kboard-item-writer,
.c24-portfolio-section .c24-main-portfolio-hide-real {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* hover 오버레이/버튼 */
.c24-portfolio-section .c24-main-portfolio-card-real::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  background: rgba(0,0,0,.42) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  pointer-events: none !important;
}

.c24-portfolio-section .c24-main-portfolio-card-real::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item::after {
  content: "보러가기" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 6 !important;
  transform: translate(-50%, -50%) translateY(8px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  min-width: 108px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  opacity: 0 !important;
  transition: opacity .25s ease, transform .25s ease !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

.c24-portfolio-section .c24-main-portfolio-card-real:hover::before,
.c24-portfolio-section .c24-main-portfolio-card-real:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item:hover::before,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item:hover::after {
  opacity: 1 !important;
}

.c24-portfolio-section .c24-main-portfolio-card-real:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item:hover::after,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item:hover::after {
  transform: translate(-50%, -50%) translateY(0) !important;
}

.c24-portfolio-section .c24-main-portfolio-card-real:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest .kboard-thumbnail-latest-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-list-item:hover img,
.c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list .kboard-thumbnail-list-item:hover img {
  transform: scale(1.06) !important;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-main-portfolio-grid-real {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 768px) {
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-main-portfolio-grid-real {
    grid-template-columns: 1fr !important;
  }

  .c24-portfolio-section .c24-tablet-hide-odd-last,
  .c24-portfolio-section .c24-main-portfolio-tablet-hide {
    display: block !important;
  }
}

/* =========================================================
   ✅ 메인 포트폴리오 PC 3개 노출 강제 보정 FINAL
   - KBoard 최신글이 table/td 또는 inline width:25%로 출력되어도 PC 3개만 노출
   - 태블릿 2개 단위, 모바일 전체 1열 노출
========================================================= */
.c24-portfolio-section .c24-js-portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.c24-portfolio-section .c24-js-portfolio-card {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.c24-portfolio-section .c24-js-portfolio-card > a,
.c24-portfolio-section .c24-js-portfolio-card a:first-child {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.c24-portfolio-section .c24-js-portfolio-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media screen and (min-width: 1025px) {
  .c24-portfolio-section .c24-kboard-portfolio-main table,
  .c24-portfolio-section .c24-kboard-portfolio-main tbody,
  .c24-portfolio-section .c24-kboard-portfolio-main tr {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
  }

  .c24-portfolio-section .c24-kboard-portfolio-main tr,
  .c24-portfolio-section .c24-kboard-portfolio-main .c24-js-portfolio-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .c24-portfolio-section .c24-kboard-portfolio-main td,
  .c24-portfolio-section .c24-kboard-portfolio-main li,
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"],
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  .c24-portfolio-section .c24-js-portfolio-card:nth-of-type(n+4),
  .c24-portfolio-section .c24-kboard-portfolio-main tr > td:nth-child(n+4),
  .c24-portfolio-section .c24-kboard-portfolio-main ul > li:nth-child(n+4),
  .c24-portfolio-section .c24-kboard-portfolio-main ol > li:nth-child(n+4),
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest > [class*="item"]:nth-child(n+4),
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list > [class*="item"]:nth-child(n+4) {
    display: none !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c24-portfolio-section .c24-js-portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .c24-portfolio-section .c24-js-portfolio-card.c24-tablet-extra-hidden {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .c24-portfolio-section .c24-js-portfolio-grid {
    grid-template-columns: 1fr !important;
  }

  .c24-portfolio-section .c24-js-portfolio-card,
  .c24-portfolio-section .c24-js-portfolio-card.c24-tablet-extra-hidden {
    display: block !important;
  }
}

/* =========================================================
   ✅ 메인 포트폴리오 스크롤 등장 모션
   - 스크롤 시 카드가 하나씩 아래에서 위로 올라오며 표시
========================================================= */
.c24-portfolio-section .c24-main-portfolio-card-real,
.c24-portfolio-section .c24-js-portfolio-card,
.c24-portfolio-section .c24-kboard-portfolio-main .c24-portfolio-scroll-card {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .68s ease, transform .68s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}

.c24-portfolio-section .c24-main-portfolio-card-real.c24-portfolio-card-visible,
.c24-portfolio-section .c24-js-portfolio-card.c24-portfolio-card-visible,
.c24-portfolio-section .c24-kboard-portfolio-main .c24-portfolio-scroll-card.c24-portfolio-card-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 이미 화면에 보인 뒤 hover 확대와 충돌하지 않도록 이미지 모션은 기존 hover 유지 */
.c24-portfolio-section .c24-main-portfolio-card-real img,
.c24-portfolio-section .c24-js-portfolio-card img,
.c24-portfolio-section .c24-kboard-portfolio-main .c24-portfolio-scroll-card img {
  transition: transform .35s ease !important;
}

@media (prefers-reduced-motion: reduce) {
  .c24-portfolio-section .c24-main-portfolio-card-real,
  .c24-portfolio-section .c24-js-portfolio-card,
  .c24-portfolio-section .c24-kboard-portfolio-main .c24-portfolio-scroll-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =============================
   포트폴리오 상세페이지 하단 버튼 겹침 수정
   - 이전/다음글 박스와 목록/답글/수정/삭제 버튼 영역 분리
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
  position: relative !important;
  z-index: 1 !important;
  clear: both !important;
  width: 100% !important;
  margin: 28px 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi:after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation:after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next:after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 5 !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  text-align: initial !important;
  overflow: visible !important;
  background: transparent !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action .left {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  float: none !important;
  position: static !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action .right {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-left: auto !important;
  float: none !important;
  position: static !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control button,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action button,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons button,
.c24-page-content.c24-page-slug-portfolio-board .kboard-button-action,
.c24-page-content.c24-page-slug-portfolio-board .kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board .kboard-default-button-large {
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  line-height: 32px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 7px !important;
  background: #f8fafc !important;
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  white-space: nowrap !important;
  vertical-align: top !important;
}

@media (max-width: 767px) {
  .c24-page-content.c24-page-slug-portfolio-board .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board .kboard .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-action,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
    justify-content: flex-start !important;
  }

  .c24-page-content.c24-page-slug-portfolio-board .kboard-control .right,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-right,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .right,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-action .right {
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }
}

/* =========================================================
   ✅ 포트폴리오 상세페이지 하단 정렬 최종 보정
   - 인쇄 버튼 제거
   - 이전/다음글 박스와 목록/답글/수정/삭제 버튼 줄 완전 분리
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action .right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action button,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-action a,
.c24-page-content.c24-page-slug-portfolio-board button[onclick*="print"],
.c24-page-content.c24-page-slug-portfolio-board a[onclick*="print"],
.c24-page-content.c24-page-slug-portfolio-board .kboard-print,
.c24-page-content.c24-page-slug-portfolio-board .kboard-button-print {
  display: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
  position: relative !important;
  clear: both !important;
  float: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 28px 0 16px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi > *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation > *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next > *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document {
  position: static !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next a {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  color: #111827 !important;
  text-decoration: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
  position: relative !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .right {
  position: static !important;
  float: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  width: auto !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .right {
  margin-left: auto !important;
  justify-content: flex-end !important;
}

@media (max-width: 767px) {
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
    grid-template-columns: 1fr !important;
  }

  .c24-page-content.c24-page-slug-portfolio-board .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board .kboard .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
    justify-content: flex-start !important;
  }

  .c24-page-content.c24-page-slug-portfolio-board .kboard-control .right,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-control .kboard-control-right,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons .right {
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }
}

/* =========================================================
   ✅ 포트폴리오 상세페이지 하단 겹침 강제 보정
   - 이전/다음글 박스와 목록/답글/수정/삭제 버튼 줄 간격 확보
   - KBoard 기본 float/absolute/negative margin 초기화
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-wrap,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-content {
  overflow: visible !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-action {
  display: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-next,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  clear: both !important;
  float: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 32px 0 34px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 1 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navi > *,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navigation > *,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-next > *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 5 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control::after,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons::after {
  content: none !important;
  display: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .kboard-control-left,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .kboard-control-right,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons .left,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons .right {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .kboard-control-right,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons .right {
  margin-left: auto !important;
  justify-content: flex-end !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control button,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons button,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-default-button-large {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  vertical-align: top !important;
}

@media (max-width: 767px) {
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navi,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navigation,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-next,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
    grid-template-columns: 1fr !important;
    margin-bottom: 24px !important;
  }

  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-control,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
    justify-content: flex-start !important;
  }

  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .right,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control .kboard-control-right,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons .right {
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }
}

/* =========================================================
   ✅ 포트폴리오 상세 하단 UI 최종 보정
   - 이전/다음글 박스 이중 테두리 제거
   - 하단 버튼 테두리 선명하게 보정
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document {
  border: 1px solid #d7dee8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: #0f172a !important;
  text-decoration: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document *,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document *,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document * {
  box-shadow: none !important;
  outline: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control button,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons button,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-default-button-large {
  border: 1px solid #cfd8e3 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control a:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control button:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons a:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons button:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-default-button-large:hover {
  border-color: #9ca9b8 !important;
  background: #f8fafc !important;
}

/* =========================================================
   ✅ 포트폴리오 상세 하단 간격 보정
   - 이전/다음글 영역과 목록보기 버튼 영역 사이 간격 축소
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-next,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
  margin: 26px 0 18px !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-buttons,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-control {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 767px) {
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navi,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-document-navigation,
  .c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-next,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
    margin: 22px 0 14px !important;
  }
}

/* =========================================================
   ✅ 포트폴리오 상세 이전글/다음글 hover 효과
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document {
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document a {
  transition: color .25s ease, background-color .25s ease, padding .25s ease !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document:hover,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:hover,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:hover {
  border-color: #0f172a !important;
  background: #f8fafc !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:hover a {
  color: #000 !important;
  background: transparent !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:hover a {
  padding-left: 22px !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:hover a {
  padding-right: 22px !important;
}


/* =========================================================
   ✅ 포트폴리오 상세 이전글/다음글 hover 효과를 하단 버튼과 동일하게 맞춤
   - 목록보기/답글쓰기 버튼 hover와 같은 배경/테두리
   - 위로 올라가는 모션, 그림자, 내부 여백 이동 제거
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document {
  transition: border-color .2s ease, background-color .2s ease !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document:hover,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document:hover,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:hover,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:hover {
  border-color: #9ca9b8 !important;
  background: #f8fafc !important;
  transform: none !important;
  box-shadow: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-prev-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-document .kboard-next-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:hover a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:hover a {
  color: #0f172a !important;
  background: transparent !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* =========================================================
   포트폴리오 목록 페이지: 메인 포트폴리오와 동일한 썸네일 hover 형식
   - /portfolio-board/?mod=list
   - PC 3열 / 태블릿 2열 / 모바일 1열
   - 제목/작성자/날짜 숨김, hover 시 보러가기 표시
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list,
.c24-page-content.c24-page-slug-portfolio-board [id*="kboard"][id*="thumbnail"] {
  width: 100% !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list,
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-grid-real {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 30px 0 26px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list-item,
.c24-page-content.c24-page-slug-portfolio-board .kboard-list-item,
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real {
  position: relative !important;
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* 목록 페이지 카드 내부 텍스트/메타 숨김 */
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real .c24-portfolio-board-hide-real,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-title,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-user,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-writer,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-date,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-info,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-summary,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-content,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-bottom,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-meta,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-cut-strings,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-title,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-user,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-date {
  display: none !important;
}

/* 이미지 영역 */
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real a,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item a {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real img,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item img,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list-item img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}

/* No Image 박스도 썸네일처럼 보정 */
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real .kboard-no-image,
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real [class*="no-image"],
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list [class*="no-image"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  background: #f3f4f6 !important;
  color: #9ca3af !important;
}

/* hover overlay */
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(17, 24, 39, .48) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  pointer-events: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real::after {
  content: "보러가기" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 3 !important;
  transform: translate(-50%, -50%) !important;
  min-width: 104px !important;
  padding: 13px 20px !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  opacity: 0 !important;
  transition: opacity .25s ease, background .25s ease !important;
  pointer-events: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover::before,
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover::after {
  opacity: 1 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover img {
  transform: scale(1.04) !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover::after {
  background: rgba(255,255,255,.18) !important;
}

/* 목록 상단/하단 기본 라인 정리 */
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-header,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-footer,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-pagination {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
  .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list,
  .c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-grid-real {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media screen and (max-width: 768px) {
  .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list,
  .c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-grid-real {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* =========================================================
   포트폴리오 목록 페이지 강제 재구성 카드
   실제 KBoard 목록을 숨기고 메인과 같은 썸네일 hover 카드로 출력
========================================================= */
body.c24-portfolio-list-rebuilt .c24-portfolio-original-list-hidden {
  display: none !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 32px 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-noimage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: #9ca3af !important;
  font-size: 14px !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(17, 24, 39, .48) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  pointer-events: none !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-button {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 3 !important;
  transform: translate(-50%, -50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 44px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  opacity: 0 !important;
  transition: opacity .25s ease, background .25s ease !important;
  pointer-events: none !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover::before,
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover .c24-portfolio-list-rebuild-button {
  opacity: 1 !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover img {
  transform: scale(1.04) !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover .c24-portfolio-list-rebuild-button {
  background: rgba(255,255,255,.18) !important;
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
  body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media screen and (max-width: 768px) {
  body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* =========================================================
   FORCE FIX: 포트폴리오 목록 페이지를 메인 썸네일형 카드로 변경
   - 기존 KBoard 썸네일 스킨의 제목/작성자/날짜 숨김
   - PC 3열 / 태블릿 2열 / 모바일 1열
   - hover 시 보러가기 버튼 표시
========================================================= */
html body #kboard-thumbnail-list,
html body .kboard-thumbnail-list {
  width: 100% !important;
}

html body #kboard-thumbnail-list .kboard-list,
html body .kboard-thumbnail-list .kboard-list,
html body [id="kboard-thumbnail-list"] .kboard-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #kboard-thumbnail-list .kboard-list-item,
html body .kboard-thumbnail-list .kboard-list-item,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #kboard-thumbnail-list .kboard-list-item > a,
html body .kboard-thumbnail-list .kboard-list-item > a,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item > a,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item > a,
html body #kboard-thumbnail-list .kboard-list-item a[href*="uid="],
html body .kboard-thumbnail-list .kboard-list-item a[href*="uid="] {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  color: inherit !important;
  text-decoration: none !important;
  background: transparent !important;
}

/* 썸네일만 보이게 */
html body #kboard-thumbnail-list .kboard-list-thumbnail,
html body .kboard-thumbnail-list .kboard-list-thumbnail,
html body #kboard-thumbnail-list .kboard-thumbnail-list-thumbnail,
html body .kboard-thumbnail-list .kboard-thumbnail-list-thumbnail,
html body #kboard-thumbnail-list [class*="thumbnail"],
html body .kboard-thumbnail-list [class*="thumbnail"] {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body #kboard-thumbnail-list .kboard-list-item img,
html body .kboard-thumbnail-list .kboard-list-item img,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item img,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item img,
html body #kboard-thumbnail-list [class*="thumbnail"] img,
html body .kboard-thumbnail-list [class*="thumbnail"] img {
  display: block !important;
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  transition: transform .35s ease !important;
}

/* 제목/작성자/날짜/New/본문 영역 강제 숨김 */
html body #kboard-thumbnail-list .kboard-list-title,
html body #kboard-thumbnail-list .kboard-thumbnail-list-title,
html body #kboard-thumbnail-list .kboard-list-user,
html body #kboard-thumbnail-list .kboard-thumbnail-list-user,
html body #kboard-thumbnail-list .kboard-list-writer,
html body #kboard-thumbnail-list .kboard-list-date,
html body #kboard-thumbnail-list .kboard-thumbnail-list-date,
html body #kboard-thumbnail-list .kboard-list-info,
html body #kboard-thumbnail-list .kboard-list-summary,
html body #kboard-thumbnail-list .kboard-list-content,
html body #kboard-thumbnail-list .kboard-list-bottom,
html body #kboard-thumbnail-list .kboard-list-meta,
html body #kboard-thumbnail-list .kboard-thumbnail-cut-strings,
html body #kboard-thumbnail-list .kboard-new-notify,
html body #kboard-thumbnail-list .kboard-comments-count,
html body .kboard-thumbnail-list .kboard-list-title,
html body .kboard-thumbnail-list .kboard-thumbnail-list-title,
html body .kboard-thumbnail-list .kboard-list-user,
html body .kboard-thumbnail-list .kboard-thumbnail-list-user,
html body .kboard-thumbnail-list .kboard-list-writer,
html body .kboard-thumbnail-list .kboard-list-date,
html body .kboard-thumbnail-list .kboard-thumbnail-list-date,
html body .kboard-thumbnail-list .kboard-list-info,
html body .kboard-thumbnail-list .kboard-list-summary,
html body .kboard-thumbnail-list .kboard-list-content,
html body .kboard-thumbnail-list .kboard-list-bottom,
html body .kboard-thumbnail-list .kboard-list-meta,
html body .kboard-thumbnail-list .kboard-thumbnail-cut-strings,
html body .kboard-thumbnail-list .kboard-new-notify,
html body .kboard-thumbnail-list .kboard-comments-count {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* hover overlay */
html body #kboard-thumbnail-list .kboard-list-item > a::before,
html body .kboard-thumbnail-list .kboard-list-item > a::before,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item > a::before,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item > a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0,0,0,.46) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  border-radius: 14px !important;
  pointer-events: none !important;
}

html body #kboard-thumbnail-list .kboard-list-item > a::after,
html body .kboard-thumbnail-list .kboard-list-item > a::after,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item > a::after,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item > a::after {
  content: "보러가기" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 3 !important;
  transform: translate(-50%, -50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 112px !important;
  height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  pointer-events: none !important;
}

html body #kboard-thumbnail-list .kboard-list-item:hover > a::before,
html body .kboard-thumbnail-list .kboard-list-item:hover > a::before,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::before,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::before,
html body #kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body .kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after {
  opacity: 1 !important;
}

html body #kboard-thumbnail-list .kboard-list-item:hover img,
html body .kboard-thumbnail-list .kboard-list-item:hover img,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item:hover img,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item:hover img {
  transform: scale(1.04) !important;
}

@media (max-width: 1024px) {
  html body #kboard-thumbnail-list .kboard-list,
  html body .kboard-thumbnail-list .kboard-list,
  html body [id="kboard-thumbnail-list"] .kboard-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  html body #kboard-thumbnail-list .kboard-list,
  html body .kboard-thumbnail-list .kboard-list,
  html body [id="kboard-thumbnail-list"] .kboard-list {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  html body #kboard-thumbnail-list .kboard-list-item img,
  html body .kboard-thumbnail-list .kboard-list-item img,
  html body #kboard-thumbnail-list .kboard-thumbnail-list-item img,
  html body .kboard-thumbnail-list .kboard-thumbnail-list-item img,
  html body #kboard-thumbnail-list [class*="thumbnail"] img,
  html body .kboard-thumbnail-list [class*="thumbnail"] img {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
}

/* =========================================================
   포트폴리오 목록/메인 hover '보러가기' 버튼 테두리 선명화
   ========================================================= */
html body .c24-portfolio-section .c24-portfolio-item a::after,
html body .c24-portfolio-section .c24-project a::after,
html body .c24-portfolio-section [class*="portfolio"] a::after,
html body #kboard-thumbnail-list .kboard-list-item > a::after,
html body .kboard-thumbnail-list .kboard-list-item > a::after,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item > a::after,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item > a::after {
  border: 1px solid rgba(17,17,17,.85) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.18) !important;
  background: #fff !important;
  color: #111 !important;
}

html body .c24-portfolio-section .c24-portfolio-item:hover a::after,
html body .c24-portfolio-section .c24-project:hover a::after,
html body .c24-portfolio-section [class*="portfolio"]:hover a::after,
html body #kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body .kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after {
  border-color: #111 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.24) !important;
}

/* =========================================================
   포트폴리오 목록 상단 전체 게시물 수 숨김
   ========================================================= */
body .c24-page-content.c24-page-slug-portfolio-board .kboard-total-count,
body .c24-page-content.c24-page-slug-portfolio-board .kboard-list-total,
body .c24-page-content.c24-page-slug-portfolio-board .kboard-list-count,
body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list-count,
body .c24-page-content.c24-page-slug-portfolio-board [class*="total-count"],
body .c24-page-content.c24-page-slug-portfolio-board [class*="list-count"],
body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-total-count,
body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-total,
body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-count {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* =========================================================
   포트폴리오 목록: 보러가기 버튼 테두리 강화 + 게시물 위 간격 축소
   ========================================================= */
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list,
html body .c24-page-content.c24-page-slug-portfolio-board [id*="kboard-thumbnail"],
html body .c24-page-content.c24-page-slug-portfolio-board [class*="kboard-thumbnail"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list,
html body .c24-page-content.c24-page-slug-portfolio-board [id="kboard-thumbnail-list"] .kboard-list {
  margin-top: 8px !important;
  padding-top: 0 !important;
}

html body .c24-page-content.c24-page-slug-portfolio-board .kboard-header,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-list-header,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list-header,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-search,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-category {
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}

/* hover 보러가기 버튼: 선명한 검정 테두리로 고정 */
html body .c24-portfolio-section .c24-portfolio-item a::after,
html body .c24-portfolio-section .c24-project a::after,
html body .c24-portfolio-section [class*="portfolio"] a::after,
html body #kboard-thumbnail-list .kboard-list-item > a::after,
html body .kboard-thumbnail-list .kboard-list-item > a::after,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item > a::after,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item > a::after {
  border: 2px solid #111 !important;
  outline: 1px solid rgba(255,255,255,.85) !important;
  outline-offset: -4px !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.35) !important;
}

html body .c24-portfolio-section .c24-portfolio-item:hover a::after,
html body .c24-portfolio-section .c24-project:hover a::after,
html body .c24-portfolio-section [class*="portfolio"]:hover a::after,
html body #kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body .kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after,
html body .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after {
  border-color: #000 !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.42) !important;
}

/* =========================================================
   Portfolio list: match main page hover "보러가기" button exactly
   - 목록 페이지 버튼을 메인 포트폴리오 hover 버튼과 동일하게 통일
========================================================= */
html body .c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real::before,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item > a::before,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item > a::before,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item > a::before,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item > a::before {
  background: rgba(0, 0, 0, .42) !important;
  opacity: 0 !important;
  transition: opacity .28s ease !important;
}

html body .c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real::after,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item > a::after,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item > a::after,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item > a::after,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item > a::after {
  content: "보러가기" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 3 !important;
  transform: translate(-50%, -50%) translateY(10px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 108px !important;
  height: 42px !important;
  padding: 0 22px !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  box-shadow: none !important;
  text-align: center !important;
  opacity: 0 !important;
  transition: opacity .28s ease, transform .28s ease !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

html body .c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover::before,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item:hover > a::before,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item:hover > a::before,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::before,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::before {
  opacity: 1 !important;
}

html body .c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover::after,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item:hover > a::after,
html body .c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after,
html body .c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) translateY(0) !important;
  border: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
}


/* =========================================================
   최종 보정: 포트폴리오 목록 페이지를 메인 hover 카드와 동일하게 표시
   - /portfolio-board/ 목록 화면 전용
   - KBoard 기본 썸네일 카드가 남아도 JS 재구성 카드가 우선 보이도록 처리
========================================================= */
body.c24-portfolio-list-rebuilt .c24-portfolio-original-list-hidden {
  display: none !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #f3f4f6 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 4 / 3 !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb,
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb img {
  object-fit: cover !important;
  transition: transform .35s ease !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-noimage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: #999 !important;
  background: #f2f3f5 !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(0,0,0,.42) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-button {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 2 !important;
  transform: translate(-50%, calc(-50% + 10px)) !important;
  opacity: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111 !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: opacity .25s ease, transform .25s ease !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover::before,
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover .c24-portfolio-list-rebuild-button {
  opacity: 1 !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover .c24-portfolio-list-rebuild-button {
  transform: translate(-50%, -50%) !important;
}
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover img {
  transform: scale(1.04) !important;
}
body.c24-portfolio-list-rebuilt .kboard-total-count,
body.c24-portfolio-list-rebuilt .kboard-list-total,
body.c24-portfolio-list-rebuilt .kboard-list-count,
body.c24-portfolio-list-rebuilt [class*="total-count"],
body.c24-portfolio-list-rebuilt [class*="list-count"] {
  display: none !important;
}
@media (max-width: 1024px) {
  body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   포트폴리오 목록 hover 버튼 최종 보정
   - 어두운 오버레이가 '보러가기' 버튼 위로 덮이지 않도록 z-index 분리
   - 버튼은 항상 완전한 흰색 배경으로 표시
========================================================= */
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card {
  position: relative !important;
  isolation: isolate !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card::before {
  z-index: 1 !important;
  pointer-events: none !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb,
body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-thumb img {
  position: relative !important;
  z-index: 0 !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-button {
  z-index: 30 !important;
  opacity: 0 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #111 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

body.c24-portfolio-list-rebuilt .c24-portfolio-list-rebuild-card:hover .c24-portfolio-list-rebuild-button {
  opacity: 1 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #111 !important;
}

/* 혹시 기존 KBoard 카드에 직접 적용되는 hover 버튼도 동일하게 보정 */
.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item > a::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item > a::before,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item > a::before,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item > a::before {
  z-index: 1 !important;
  pointer-events: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real::after,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item > a::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item > a::after,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item > a::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item > a::after {
  z-index: 30 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #111 !important;
  opacity: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-portfolio-board-card-real:hover::after,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-list-item:hover > a::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-list-item:hover > a::after,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after,
.c24-page-content.c24-page-slug-portfolio-board .kboard-thumbnail-list .kboard-thumbnail-list-item:hover > a::after {
  opacity: 1 !important;
}

/* =========================================================
   포트폴리오 상세: 이전/다음글 빈 박스 제거
   - 첫 글/마지막 글에서 값이 없는 이전글·다음글 영역의 빈 테두리 숨김
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi > *:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation > *:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next > *:empty,
.c24-page-content.c24-page-slug-portfolio-board .c24-kboard-empty-navi {
  display: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi.c24-kboard-navi-single,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation.c24-kboard-navi-single,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next.c24-kboard-navi-single {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* =========================================================
   포트폴리오 상세: 이전글/다음글 2칸 레이아웃 보정
   - 첫 번째 글처럼 한쪽만 있을 때도 2칸 구조 유지
   - 값 없는 쪽은 테두리 없는 빈 공간으로 유지
   - 글이 하나만 왼쪽에 들어오는 KBoard 구조는 오른쪽으로 이동
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi.c24-kboard-navi-single,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation.c24-kboard-navi-single,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next.c24-kboard-navi-single {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-document:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-next-document:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi > *:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation > *:empty,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next > *:empty,
.c24-page-content.c24-page-slug-portfolio-board .c24-kboard-empty-navi,
.c24-page-content.c24-page-slug-portfolio-board .c24-kboard-nav-placeholder {
  display: block !important;
  visibility: hidden !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 60px !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .c24-kboard-nav-placeholder * {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi.c24-kboard-navi-single,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation.c24-kboard-navi-single,
  .c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next.c24-kboard-navi-single {
    grid-template-columns: 1fr !important;
  }

  .c24-page-content.c24-page-slug-portfolio-board .c24-kboard-nav-placeholder,
  .c24-page-content.c24-page-slug-portfolio-board .c24-kboard-empty-navi {
    display: none !important;
  }
}

/* =========================================================
   포트폴리오 상세: 이전글/다음글 화살표 위치 보정
   - 왼쪽 이전글: « 제목
   - 오른쪽 다음글: 제목 »
========================================================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi > *:first-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation > *:first-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next > *:first-child,
.c24-page-content.c24-page-slug-portfolio-board .c24-kboard-nav-left {
  text-align: left !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi > *:last-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation > *:last-child,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next > *:last-child,
.c24-page-content.c24-page-slug-portfolio-board .c24-kboard-nav-right {
  text-align: right !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navi > * > a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-document-navigation > * > a,
.c24-page-content.c24-page-slug-portfolio-board .kboard-prev-next > * > a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* =========================================================
   ✅ 2026-05-26 문의하기 영역 모바일/태블릿 반응형 보정
   - 상담시간 줄바꿈 유지
   - 태블릿 이하에서 좌우 영역 1단 정렬
   - 모바일에서 입력폼/개인정보/버튼 깨짐 방지
========================================================= */
.c24-contact-section .c24-contact,
.c24-contact-section .c24-contact-info,
.c24-contact-section .c24-form-box,
.c24-contact-section .inquiry-form,
.c24-contact-section .form-grid,
.c24-contact-section .form-group,
.c24-contact-section input,
.c24-contact-section textarea,
.c24-contact-section button {
  box-sizing: border-box !important;
}

.c24-contact-section .c24-contact-info,
.c24-contact-section .c24-form-box {
  width: 100% !important;
  min-width: 0 !important;
}

.c24-contact-section .c24-info-list span {
  display: block !important;
  line-height: 1.7 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.c24-contact-section .c24-info-list span br {
  display: block !important;
  content: "" !important;
}

.c24-contact-section .inquiry-form {
  width: 100% !important;
  margin: 0 !important;
}

.c24-contact-section .inquiry-form .form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 30px !important;
}

.c24-contact-section .inquiry-form .form-group {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  margin: 0 0 22px !important;
}

.c24-contact-section .inquiry-form .form-group.full-width {
  width: 100% !important;
}

.c24-contact-section .inquiry-form label {
  margin: 0 0 9px !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.03em !important;
}

.c24-contact-section .inquiry-form input,
.c24-contact-section .inquiry-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid #dfe3ea !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111827 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  outline: none !important;
}

.c24-contact-section .inquiry-form input {
  height: 50px !important;
  padding: 0 16px !important;
}

.c24-contact-section .inquiry-form textarea {
  min-height: 140px !important;
  padding: 16px !important;
  resize: vertical !important;
}

.c24-contact-section .privacy-agree {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 8px 0 40px !important;
  padding: 18px 22px !important;
  border-radius: 6px !important;
  background: #f8f9fb !important;
}

.c24-contact-section .checkbox-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
}

.c24-contact-section .checkbox-label input {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  accent-color: #111827 !important;
}

.c24-contact-section .btn-policy-modal {
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #6b7280 !important;
  font: inherit !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.c24-contact-section .submit-wrap {
  text-align: center !important;
}

.c24-contact-section .btn-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 214px !important;
  height: 60px !important;
  padding: 0 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  cursor: pointer !important;
}

@media screen and (max-width: 1024px) {
  .c24-contact-section .c24-contact {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .c24-contact-section .c24-contact-info,
  .c24-contact-section .c24-form-box {
    height: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .c24-contact-section .c24-info-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 767px) {
  .c24-contact-section {
    overflow-x: hidden !important;
  }

  .c24-contact-section .c24-contact {
    gap: 22px !important;
  }

  .c24-contact-section .c24-contact-info,
  .c24-contact-section .c24-form-box {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .c24-contact-section .c24-info-list {
    gap: 10px !important;
    margin-top: 22px !important;
  }

  .c24-contact-section .c24-info-list div {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .c24-contact-section .inquiry-form .form-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .c24-contact-section .inquiry-form .form-group {
    margin-bottom: 18px !important;
  }

  .c24-contact-section .privacy-agree {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 30px !important;
    padding: 16px !important;
  }

  .c24-contact-section .checkbox-label {
    align-items: flex-start !important;
    font-size: 14px !important;
  }

  .c24-contact-section .btn-submit {
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    padding: 0 18px !important;
  }
}

@media screen and (max-width: 420px) {
  .c24-contact-section .c24-contact-info,
  .c24-contact-section .c24-form-box {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  .c24-contact-section .c24-info-list div {
    padding: 14px !important;
  }

  .c24-contact-section .c24-info-list span {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }
}

/* =========================================================
   메인 공지사항 모바일/태블릿 행 틀어짐 보정
   - KBoard/숏코드가 모바일에서 td를 block으로 바꾸면서
     제목과 날짜가 위아래로 벌어지는 현상 방지
   ========================================================= */
@media (max-width: 1024px) {
  .c24-notice-section .c24-notice-layout-rebuild,
  .c24-notice-section .c24-notice-layout {
    grid-template-columns: 1fr !important;
  }

  .c24-notice-section .c24-notice-left,
  .c24-notice-section .c24-kboard-notice-main {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 767px) {
  .c24-notice-section .c24-container {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .c24-notice-section .c24-notice-main-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
  }

  .c24-notice-section .c24-notice-main-title {
    display: block !important;
    min-width: 0 !important;
  }

  .c24-notice-section .c24-notice-main-title h2 {
    margin: 0 !important;
    line-height: 1.15 !important;
  }

  .c24-notice-section .c24-notice-main-title p {
    margin-top: 4px !important;
    line-height: 1.45 !important;
  }

  .c24-notice-section .c24-notice-more-top {
    flex: 0 0 auto !important;
    margin: 4px 0 0 !important;
    white-space: nowrap !important;
  }

  .c24-notice-section .c24-notice-left table,
  .c24-notice-section .c24-kboard-notice-main table,
  .c24-notice-section .c24-notice-left .kboard table,
  .c24-notice-section .c24-kboard-notice-main .kboard table,
  .c24-notice-section .c24-notice-left table.kboard-list,
  .c24-notice-section .c24-kboard-notice-main table.kboard-list {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
  }

  .c24-notice-section .c24-notice-left thead,
  .c24-notice-section .c24-kboard-notice-main thead {
    display: none !important;
  }

  .c24-notice-section .c24-notice-left tbody,
  .c24-notice-section .c24-kboard-notice-main tbody {
    display: table-row-group !important;
  }

  .c24-notice-section .c24-notice-left tbody tr,
  .c24-notice-section .c24-kboard-notice-main tbody tr {
    display: table-row !important;
    width: 100% !important;
    height: auto !important;
    border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
  }

  .c24-notice-section .c24-notice-left tbody td,
  .c24-notice-section .c24-kboard-notice-main tbody td {
    display: none !important;
    height: auto !important;
    border: 0 !important;
    border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .c24-notice-section .c24-notice-left tbody td.title,
  .c24-notice-section .c24-notice-left tbody td.kboard-list-title,
  .c24-notice-section .c24-kboard-notice-main tbody td.title,
  .c24-notice-section .c24-kboard-notice-main tbody td.kboard-list-title {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 17px 12px 17px 0 !important;
    text-align: left !important;
    vertical-align: middle !important;
    font-size: var(--c24-notice-mobile-item-title-size, 15px) !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
    color: var(--c24-primary, #111827) !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .c24-notice-section .c24-notice-left tbody td.date,
  .c24-notice-section .c24-notice-left tbody td.kboard-list-date,
  .c24-notice-section .c24-kboard-notice-main tbody td.date,
  .c24-notice-section .c24-kboard-notice-main tbody td.kboard-list-date {
    display: table-cell !important;
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    padding: 17px 0 !important;
    text-align: right !important;
    vertical-align: middle !important;
    color: #526174 !important;
    font-size: var(--c24-notice-mobile-date-size, 12px) !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

  .c24-notice-section .c24-notice-left tbody td.title a,
  .c24-notice-section .c24-notice-left tbody td.kboard-list-title a,
  .c24-notice-section .c24-kboard-notice-main tbody td.title a,
  .c24-notice-section .c24-kboard-notice-main tbody td.kboard-list-title a {
    display: block !important;
    width: 100% !important;
    color: var(--c24-primary, #111827) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .c24-notice-section .c24-notice-list {
    border-top: 1px solid var(--c24-border, #e5e7eb) !important;
  }

  .c24-notice-section .c24-notice-list::before {
    display: none !important;
  }

  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 74px !important;
    gap: 12px !important;
    min-height: auto !important;
    padding: 17px 0 !important;
    border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  }

  .c24-notice-section .c24-notice-item strong {
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .c24-notice-section .c24-notice-item .c24-notice-date {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    text-align: right !important;
    font-size: var(--c24-notice-mobile-date-size, 12px) !important;
  }
}

@media (max-width: 420px) {
  .c24-notice-section .c24-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .c24-notice-section .c24-notice-more-top {
    font-size: 13px !important;
  }

  .c24-notice-section .c24-notice-left tbody td.date,
  .c24-notice-section .c24-notice-left tbody td.kboard-list-date,
  .c24-notice-section .c24-kboard-notice-main tbody td.date,
  .c24-notice-section .c24-kboard-notice-main tbody td.kboard-list-date,
  .c24-notice-section .c24-notice-item .c24-notice-date {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
  }

  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover {
    grid-template-columns: minmax(0, 1fr) 68px !important;
  }
}

/* =========================================================
   공지사항 모바일 내용 미노출 긴급 보정
   - 이전 보정에서 KBoard td를 과하게 숨겨 제목/내용이 안 보이는 문제 복구
   - 기본 공지 목록은 제목 왼쪽 / 날짜 오른쪽 한 줄 배치
   ========================================================= */
@media (max-width: 767px) {
  /* 테마 기본 공지사항 목록 */
  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 17px 0 !important;
    min-height: auto !important;
  }

  .c24-notice-section .c24-notice-item strong {
    order: 1 !important;
    grid-column: 1 !important;
    display: block !important;
    min-width: 0 !important;
    color: var(--c24-primary, #111827) !important;
    font-size: var(--c24-notice-mobile-item-title-size, 15px) !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .c24-notice-section .c24-notice-item .c24-notice-date {
    order: 2 !important;
    grid-column: 2 !important;
    display: block !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    text-align: right !important;
    color: #526174 !important;
    font-size: var(--c24-notice-mobile-date-size, 12px) !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

  .c24-notice-section .c24-notice-item em {
    display: none !important;
  }

  /* KBoard 최신글/게시판 테이블 복구: 먼저 모든 셀을 다시 보이게 처리 */
  .c24-notice-section .c24-notice-left tbody td,
  .c24-notice-section .c24-kboard-notice-main tbody td,
  .c24-notice-section .c24-notice-left tr td,
  .c24-notice-section .c24-kboard-notice-main tr td {
    display: table-cell !important;
    height: auto !important;
    padding: 16px 4px !important;
    vertical-align: middle !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .c24-notice-section .c24-notice-left tbody tr,
  .c24-notice-section .c24-kboard-notice-main tbody tr,
  .c24-notice-section .c24-notice-left tr,
  .c24-notice-section .c24-kboard-notice-main tr {
    display: table-row !important;
    border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  }

  /* KBoard에서 불필요한 번호/작성자/조회수/추천수 등은 숨김 */
  .c24-notice-section .c24-notice-left td.kboard-list-uid,
  .c24-notice-section .c24-notice-left td.kboard-list-user,
  .c24-notice-section .c24-notice-left td.kboard-list-view,
  .c24-notice-section .c24-notice-left td.kboard-list-vote,
  .c24-notice-section .c24-notice-left td.kboard-list-category,
  .c24-notice-section .c24-notice-left td.kboard-list-thumbnail,
  .c24-notice-section .c24-notice-left td.uid,
  .c24-notice-section .c24-notice-left td.author,
  .c24-notice-section .c24-notice-left td.user,
  .c24-notice-section .c24-notice-left td.writer,
  .c24-notice-section .c24-notice-left td.view,
  .c24-notice-section .c24-notice-left td.hit,
  .c24-notice-section .c24-notice-left td.category,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-uid,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-user,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-view,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-vote,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-category,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-thumbnail,
  .c24-notice-section .c24-kboard-notice-main td.uid,
  .c24-notice-section .c24-kboard-notice-main td.author,
  .c24-notice-section .c24-kboard-notice-main td.user,
  .c24-notice-section .c24-kboard-notice-main td.writer,
  .c24-notice-section .c24-kboard-notice-main td.view,
  .c24-notice-section .c24-kboard-notice-main td.hit,
  .c24-notice-section .c24-kboard-notice-main td.category {
    display: none !important;
  }

  /* 제목 셀 */
  .c24-notice-section .c24-notice-left td.title,
  .c24-notice-section .c24-notice-left td.kboard-list-title,
  .c24-notice-section .c24-notice-left td.kboard-latest-title,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-title,
  .c24-notice-section .c24-kboard-notice-main td.title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-title {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    padding-right: 12px !important;
    text-align: left !important;
    color: var(--c24-primary, #111827) !important;
    font-size: var(--c24-notice-mobile-item-title-size, 15px) !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .c24-notice-section .c24-notice-left td.title a,
  .c24-notice-section .c24-notice-left td.kboard-list-title a,
  .c24-notice-section .c24-notice-left td.kboard-latest-title a,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-title a,
  .c24-notice-section .c24-kboard-notice-main td.title a,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-title a,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-title a,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-title a {
    display: block !important;
    color: var(--c24-primary, #111827) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* 날짜 셀 */
  .c24-notice-section .c24-notice-left td.date,
  .c24-notice-section .c24-notice-left td.kboard-list-date,
  .c24-notice-section .c24-notice-left td.kboard-latest-date,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-date {
    display: table-cell !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    text-align: right !important;
    color: #526174 !important;
    font-size: var(--c24-notice-mobile-date-size, 12px) !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 420px) {
  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover {
    grid-template-columns: minmax(0, 1fr) 64px !important;
  }

  .c24-notice-section .c24-notice-item .c24-notice-date,
  .c24-notice-section .c24-notice-left td.date,
  .c24-notice-section .c24-notice-left td.kboard-list-date,
  .c24-notice-section .c24-notice-left td.kboard-latest-date,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-date {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
  }
}


/* =========================================================
   768px~1024px 태블릿 글자 크기 재정리
   - 768px부터 PC 폰트가 그대로 적용되어 커 보이는 문제 보정
   - KBoard는 768px에서도 모바일 테이블 규칙이 적용되는 경우가 있어 함께 보정
   ========================================================= */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .c24-container {
    width: min(100% - 48px, 1180px) !important;
  }

  .c24-section {
    padding-top: 82px !important;
    padding-bottom: 82px !important;
  }

  .c24-section-head h2 {
    font-size: 34px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.055em !important;
  }

  .c24-section-head p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .c24-top-slider .c24-slide-kicker {
    font-size: 11px !important;
  }

  .c24-top-slider .c24-slide-copy h2 {
    font-size: 38px !important;
    line-height: 1.16 !important;
  }

  .c24-top-slider .c24-slide-copy p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .c24-about h2,
  .c24-contact-info h2,
  .c24-notice-main-title h2 {
    font-size: 32px !important;
    line-height: 1.23 !important;
  }

  .c24-about p,
  .c24-contact-info p,
  .c24-notice-main-title p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .c24-card h3,
  .c24-project-body h3 {
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  .c24-card p,
  .c24-feature span,
  .c24-project-body p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .c24-notice-section .c24-notice-main-head {
    margin-bottom: 26px !important;
  }

  .c24-notice-section .c24-notice-more-top {
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .c24-notice-section .c24-notice-item strong,
  .c24-notice-section .c24-notice-left td.title,
  .c24-notice-section .c24-notice-left td.kboard-list-title,
  .c24-notice-section .c24-notice-left td.kboard-latest-title,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-title,
  .c24-notice-section .c24-kboard-notice-main td.title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-title {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .c24-notice-section .c24-notice-date,
  .c24-notice-section .c24-notice-left td.date,
  .c24-notice-section .c24-notice-left td.kboard-list-date,
  .c24-notice-section .c24-notice-left td.kboard-latest-date,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-date {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .c24-contact-section .c24-info-list strong,
  .c24-contact-section .inquiry-form label {
    font-size: 13px !important;
  }

  .c24-contact-section .c24-info-list span,
  .c24-contact-section .inquiry-form input,
  .c24-contact-section .inquiry-form textarea,
  .c24-contact-section .inquiry-form select {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .c24-contact-section .btn-submit {
    height: 56px !important;
    font-size: 15px !important;
  }
}

@media screen and (max-width: 768px) {
  .c24-notice-section .c24-container {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .c24-notice-section .c24-notice-main-title h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }

  .c24-notice-section .c24-notice-main-title p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .c24-notice-section .c24-notice-more-top {
    font-size: 13px !important;
  }

  .c24-notice-section .c24-notice-left table,
  .c24-notice-section .c24-kboard-notice-main table,
  .c24-notice-section .c24-notice-left .kboard table,
  .c24-notice-section .c24-kboard-notice-main .kboard table,
  .c24-notice-section .c24-notice-left table.kboard-list,
  .c24-notice-section .c24-kboard-notice-main table.kboard-list {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  .c24-notice-section .c24-notice-left thead,
  .c24-notice-section .c24-kboard-notice-main thead {
    display: none !important;
  }

  .c24-notice-section .c24-notice-left tbody,
  .c24-notice-section .c24-kboard-notice-main tbody {
    display: table-row-group !important;
  }

  .c24-notice-section .c24-notice-left tbody tr,
  .c24-notice-section .c24-kboard-notice-main tbody tr,
  .c24-notice-section .c24-notice-left tr,
  .c24-notice-section .c24-kboard-notice-main tr {
    display: table-row !important;
    border-bottom: 1px solid var(--c24-border, #e5e7eb) !important;
  }

  .c24-notice-section .c24-notice-left tbody td,
  .c24-notice-section .c24-kboard-notice-main tbody td,
  .c24-notice-section .c24-notice-left tr td,
  .c24-notice-section .c24-kboard-notice-main tr td {
    display: table-cell !important;
    height: auto !important;
    padding: 16px 4px !important;
    vertical-align: middle !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .c24-notice-section .c24-notice-left td.kboard-list-uid,
  .c24-notice-section .c24-notice-left td.kboard-list-user,
  .c24-notice-section .c24-notice-left td.kboard-list-view,
  .c24-notice-section .c24-notice-left td.kboard-list-vote,
  .c24-notice-section .c24-notice-left td.kboard-list-category,
  .c24-notice-section .c24-notice-left td.kboard-list-thumbnail,
  .c24-notice-section .c24-notice-left td.uid,
  .c24-notice-section .c24-notice-left td.author,
  .c24-notice-section .c24-notice-left td.user,
  .c24-notice-section .c24-notice-left td.writer,
  .c24-notice-section .c24-notice-left td.view,
  .c24-notice-section .c24-notice-left td.hit,
  .c24-notice-section .c24-notice-left td.category,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-uid,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-user,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-view,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-vote,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-category,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-thumbnail,
  .c24-notice-section .c24-kboard-notice-main td.uid,
  .c24-notice-section .c24-kboard-notice-main td.author,
  .c24-notice-section .c24-kboard-notice-main td.user,
  .c24-notice-section .c24-kboard-notice-main td.writer,
  .c24-notice-section .c24-kboard-notice-main td.view,
  .c24-notice-section .c24-kboard-notice-main td.hit,
  .c24-notice-section .c24-kboard-notice-main td.category {
    display: none !important;
  }

  .c24-notice-section .c24-notice-item a,
  .c24-notice-section .c24-notice-item a:hover {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 17px 0 !important;
    min-height: auto !important;
  }

  .c24-notice-section .c24-notice-item strong,
  .c24-notice-section .c24-notice-left td.title,
  .c24-notice-section .c24-notice-left td.kboard-list-title,
  .c24-notice-section .c24-notice-left td.kboard-latest-title,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-title,
  .c24-notice-section .c24-kboard-notice-main td.title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-title,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-title {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    padding-right: 12px !important;
    text-align: left !important;
    color: var(--c24-primary, #111827) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .c24-notice-section .c24-notice-item strong {
    display: block !important;
    grid-column: 1 !important;
  }

  .c24-notice-section .c24-notice-left td.title a,
  .c24-notice-section .c24-notice-left td.kboard-list-title a,
  .c24-notice-section .c24-notice-left td.kboard-latest-title a,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-title a,
  .c24-notice-section .c24-kboard-notice-main td.title a,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-title a,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-title a,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-title a {
    display: block !important;
    color: var(--c24-primary, #111827) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .c24-notice-section .c24-notice-item .c24-notice-date,
  .c24-notice-section .c24-notice-left td.date,
  .c24-notice-section .c24-notice-left td.kboard-list-date,
  .c24-notice-section .c24-notice-left td.kboard-latest-date,
  .c24-notice-section .c24-notice-left td.kboard-default-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-list-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-latest-date,
  .c24-notice-section .c24-kboard-notice-main td.kboard-default-latest-date {
    display: table-cell !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    text-align: right !important;
    color: #526174 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

  .c24-notice-section .c24-notice-item .c24-notice-date {
    display: block !important;
    grid-column: 2 !important;
  }

  .c24-notice-section .c24-notice-item em {
    display: none !important;
  }
}

/* =========================================================
   ✅ 2026-05-26 태블릿 메뉴 상담문의 버튼 숨김
   - 641px 이상 태블릿 구간에서 햄버거 메뉴 옆 상담문의 버튼이 보이지 않도록 처리
   - 모바일 패널 내부 상담문의 버튼은 유지
========================================================= */
@media (max-width: 980px) {
  .c24-header .c24-header-cta {
    display: none !important;
  }
}

/* =========================================================
   공지사항과 문의하기 영역 사이 간격 축소
   ========================================================= */
.c24-notice-section {
  padding-bottom: 48px !important;
}

.c24-contact-section {
  padding-top: 48px !important;
}

@media (max-width: 1024px) {
  .c24-notice-section {
    padding-bottom: 42px !important;
  }

  .c24-contact-section {
    padding-top: 42px !important;
  }
}

@media (max-width: 767px) {
  .c24-notice-section {
    padding-bottom: 34px !important;
  }

  .c24-contact-section {
    padding-top: 34px !important;
  }
}

/* =============================
   Mobile Expertise Cards 2 Columns
   ============================= */
@media (max-width: 640px) {
  .c24-features-section .c24-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .c24-features-section .c24-feature {
    padding: 20px 12px !important;
    border-radius: 18px;
  }

  .c24-features-section .c24-feature-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
  }

  .c24-features-section .c24-feature strong {
    font-size: var(--c24-feature-mobile-title-size, 16px);
    line-height: 1.35;
    word-break: keep-all;
  }

  .c24-features-section .c24-feature span {
    font-size: var(--c24-feature-mobile-desc-size, 12px);
    line-height: 1.5;
    word-break: keep-all;
  }
}

@media (max-width: 380px) {
  .c24-features-section .c24-feature-grid {
    gap: 10px !important;
  }

  .c24-features-section .c24-feature {
    padding: 18px 10px !important;
  }

  .c24-features-section .c24-feature-icon {
    width: 38px;
    height: 38px;
  }
}

/* =============================
   Mobile Business Cards 2 Columns
   ============================= */
@media (max-width: 640px) {
  .c24-services-section .c24-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .c24-services-section .c24-card {
    padding: 20px 12px !important;
    border-radius: 18px;
  }

  .c24-services-section .c24-card .num {
    font-size: var(--c24-service-mobile-card-num-size, 12px) !important;
    line-height: 1.3;
  }

  .c24-services-section .c24-card h3 {
    margin: 8px 0 7px;
    font-size: var(--c24-service-mobile-card-title-size, 16px) !important;
    line-height: 1.35;
    word-break: keep-all;
  }

  .c24-services-section .c24-card p {
    font-size: var(--c24-service-mobile-card-desc-size, 12px) !important;
    line-height: 1.55;
    word-break: keep-all;
  }
}

@media (max-width: 380px) {
  .c24-services-section .c24-card-grid {
    gap: 10px !important;
  }

  .c24-services-section .c24-card {
    padding: 18px 10px !important;
  }

  .c24-services-section .c24-card h3 {
    font-size: var(--c24-service-mobile-card-title-size, 15px) !important;
  }

  .c24-services-section .c24-card p {
    font-size: var(--c24-service-mobile-card-desc-size, 11px) !important;
  }
}

/* =============================
   Mobile Expertise Cards Drag Slider
   ============================= */
@media (max-width: 640px) {
  .c24-features-section .c24-feature-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 20px 12px !important;
    margin-left: -20px;
    margin-right: -20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .c24-features-section .c24-feature-grid::-webkit-scrollbar {
    display: none;
  }

  .c24-features-section .c24-feature {
    flex: 0 0 74%;
    min-width: 74%;
    scroll-snap-align: start;
    padding: 22px 16px !important;
    border-radius: 20px;
  }
}

@media (max-width: 430px) {
  .c24-features-section .c24-feature {
    flex-basis: 78%;
    min-width: 78%;
  }
}

@media (max-width: 380px) {
  .c24-features-section .c24-feature-grid {
    gap: 10px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-left: -18px;
    margin-right: -18px;
  }

  .c24-features-section .c24-feature {
    flex-basis: 82%;
    min-width: 82%;
    padding: 20px 14px !important;
  }
}

/* =============================
   Mobile Expertise Drag Cards - Compact Size & Side Padding
   ============================= */
@media (max-width: 640px) {
  .c24-features-section .c24-feature-grid {
    gap: 10px !important;
    padding: 4px 16px 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }

  .c24-features-section .c24-feature {
    flex: 0 0 66% !important;
    min-width: 66% !important;
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .c24-features-section .c24-feature-icon {
    width: 38px !important;
    height: 38px !important;
    margin-bottom: 10px !important;
  }
}

@media (max-width: 430px) {
  .c24-features-section .c24-feature-grid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .c24-features-section .c24-feature {
    flex-basis: 68% !important;
    min-width: 68% !important;
    padding: 17px 13px !important;
  }
}

@media (max-width: 380px) {
  .c24-features-section .c24-feature-grid {
    gap: 9px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .c24-features-section .c24-feature {
    flex-basis: 72% !important;
    min-width: 72% !important;
    padding: 16px 12px !important;
  }

  .c24-features-section .c24-feature-icon {
    width: 34px !important;
    height: 34px !important;
  }
}

/* =============================
   Mobile Portfolio Cards Drag Slider
   - 전문성 카드와 동일하게 모바일에서 가로 드래그형으로 표시
   ============================= */
@media (max-width: 640px) {
  .c24-portfolio-section .c24-portfolio-gallery,
  .c24-portfolio-section .c24-js-portfolio-grid,
  .c24-portfolio-section .c24-main-portfolio-grid-real,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main tr {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 16px 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .c24-portfolio-section .c24-portfolio-gallery::-webkit-scrollbar,
  .c24-portfolio-section .c24-js-portfolio-grid::-webkit-scrollbar,
  .c24-portfolio-section .c24-main-portfolio-grid-real::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap::-webkit-scrollbar,
  .c24-portfolio-section .c24-kboard-portfolio-main tr::-webkit-scrollbar {
    display: none;
  }

  .c24-portfolio-section .c24-portfolio-item,
  .c24-portfolio-section .c24-js-portfolio-card,
  .c24-portfolio-section .c24-main-portfolio-card-real,
  .c24-portfolio-section .c24-kboard-portfolio-main td,
  .c24-portfolio-section .c24-kboard-portfolio-main li,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"],
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] {
    flex: 0 0 66% !important;
    min-width: 66% !important;
    width: 66% !important;
    max-width: 66% !important;
    display: block !important;
    scroll-snap-align: start;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  .c24-portfolio-section .c24-portfolio-thumb,
  .c24-portfolio-section .c24-js-portfolio-card > a,
  .c24-portfolio-section .c24-js-portfolio-card a:first-child,
  .c24-portfolio-section .c24-main-portfolio-thumb-link-real,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item > a,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item > a,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item > a,
  .c24-portfolio-section .c24-kboard-portfolio-main td > a,
  .c24-portfolio-section .c24-kboard-portfolio-main li > a {
    aspect-ratio: 4 / 3 !important;
  }
}

@media (max-width: 430px) {
  .c24-portfolio-section .c24-portfolio-item,
  .c24-portfolio-section .c24-js-portfolio-card,
  .c24-portfolio-section .c24-main-portfolio-card-real,
  .c24-portfolio-section .c24-kboard-portfolio-main td,
  .c24-portfolio-section .c24-kboard-portfolio-main li,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"],
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] {
    flex-basis: 68% !important;
    min-width: 68% !important;
    width: 68% !important;
    max-width: 68% !important;
  }
}

@media (max-width: 380px) {
  .c24-portfolio-section .c24-portfolio-gallery,
  .c24-portfolio-section .c24-js-portfolio-grid,
  .c24-portfolio-section .c24-main-portfolio-grid-real,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main #kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main tr {
    gap: 9px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .c24-portfolio-section .c24-portfolio-item,
  .c24-portfolio-section .c24-js-portfolio-card,
  .c24-portfolio-section .c24-main-portfolio-card-real,
  .c24-portfolio-section .c24-kboard-portfolio-main td,
  .c24-portfolio-section .c24-kboard-portfolio-main li,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-latest-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-thumbnail-list-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item,
  .c24-portfolio-section .c24-kboard-portfolio-main .kboard-list-item-wrap,
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="latest-item"],
  .c24-portfolio-section .c24-kboard-portfolio-main [class*="list-item"] {
    flex-basis: 72% !important;
    min-width: 72% !important;
    width: 72% !important;
    max-width: 72% !important;
  }
}


/* 공지사항 오른쪽 안내 영역 글자 크기 사용자 정의 */
.c24-notice-side-kicker {
  font-size: var(--c24-notice-side-kicker-size, 13px);
}
.c24-notice-side-head h3 {
  font-size: var(--c24-notice-side-title-size, 25px);
}
.c24-notice-side-item span {
  font-size: var(--c24-notice-side-item-label-size, 12px);
}
.c24-notice-side-item strong {
  font-size: var(--c24-notice-side-item-title-size, 16px);
}
@media (max-width: 767px) {
  .c24-notice-side-head h3 {
    font-size: var(--c24-notice-mobile-side-title-size, 22px);
  }
  .c24-notice-side-item strong {
    font-size: var(--c24-notice-mobile-side-item-title-size, 14px);
  }
}


/* 오시는길 페이지 상단 설명 문구 - 서브페이지 상단 타이틀 영역과 연동 */
.c24-page-hero .c24-page-hero-desc {
  max-width: 720px;
  margin: 16px auto 0;
  font-size: 17px;
  line-height: 1.8;
  color: rgba(15, 23, 42, .72);
}

.c24-page-hero.has-page-media .c24-page-hero-desc,
.c24-page-hero:has(.c24-page-hero-video) .c24-page-hero-desc,
.c24-page-hero:has(.c24-page-hero-youtube) .c24-page-hero-desc {
  color: rgba(255,255,255,.86);
}

@media (max-width: 767px) {
  .c24-page-hero .c24-page-hero-desc {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.65;
  }
}


/* =========================================================
   FINAL CLEAN FIX: 상단 슬라이드 검정 여백 방지 + KBoard 글쓰기 하단 버튼 간격 보정
   - 업로드 최종본 기준
========================================================= */
.c24-top-slider .c24-slide,
.c24-top-slider .c24-slide.is-active {
  overflow: hidden !important;
  background: transparent !important;
}

.c24-top-slider .c24-slide > img,
.c24-top-slider .c24-slide > video,
.c24-top-slider .c24-slide > .c24-slide-video-poster {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform-origin: center center !important;
  transform: scale(1.10) translate3d(0, 0, 0) !important;
}

.c24-top-slider .c24-slide.is-active.is-visual-motion > img,
.c24-top-slider .c24-slide.is-active.is-visual-motion > video,
.c24-top-slider .c24-slide.is-active.is-visual-motion > .c24-slide-video-poster {
  transform: scale(1.08) translate3d(0, 0, 0) !important;
}

.c24-top-slider .c24-slide > iframe.c24-slide-youtube {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 120% !important;
  height: 120% !important;
  min-width: 120% !important;
  min-height: 120% !important;
  transform-origin: center center !important;
  transform: translate(-50%, -50%) scale(1.08) !important;
}

.c24-top-slider .c24-slide.is-active.is-visual-motion > iframe.c24-slide-youtube {
  transform: translate(-50%, -50%) scale(1.08) !important;
}

/* KBoard 글쓰기 하단 버튼: 대표이미지와 버튼 사이 간격을 공지사항 기준으로 축소 */
body.c24-kboard-editor-inline-ready .c24-kboard-inline-row.c24-kboard-inline-thumb {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

body.c24-kboard-editor-inline-ready .kboard-control,
body.c24-kboard-editor-inline-ready .kboard-control-container,
body.c24-kboard-editor-inline-ready .kboard-document-action,
body.c24-kboard-editor-inline-ready .kboard-form-button,
body.c24-kboard-editor-inline-ready .kboard-editor-button,
body.c24-kboard-editor-inline-ready .kboard-button-action,
body.c24-kboard-editor-inline-ready .kboard-list-button-wrap,
body.c24-kboard-editor-inline-ready .kboard-editor-bottom,
body.c24-kboard-editor-inline-ready .kboard-document-buttons,
body.c24-kboard-editor-inline-ready .kboard-document-control {
  margin-top: 10px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  min-height: 52px !important;
  height: auto !important;
  overflow: visible !important;
  clear: both !important;
}

body.c24-kboard-editor-inline-ready .kboard-control a,
body.c24-kboard-editor-inline-ready .kboard-control button,
body.c24-kboard-editor-inline-ready .kboard-control input[type="button"],
body.c24-kboard-editor-inline-ready .kboard-control input[type="submit"],
body.c24-kboard-editor-inline-ready .kboard-document-buttons a,
body.c24-kboard-editor-inline-ready .kboard-document-buttons button,
body.c24-kboard-editor-inline-ready .kboard-document-buttons input[type="button"],
body.c24-kboard-editor-inline-ready .kboard-document-buttons input[type="submit"],
body.c24-kboard-editor-inline-ready .kboard-default-button-small,
body.c24-kboard-editor-inline-ready .kboard-default-button-large {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 24px !important;
  border: 1px solid #aeb7c4 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

@media (max-width: 767px) {
  .c24-top-slider .c24-slide > img,
  .c24-top-slider .c24-slide > video,
  .c24-top-slider .c24-slide > .c24-slide-video-poster,
  .c24-top-slider .c24-slide.is-active.is-visual-motion > img,
  .c24-top-slider .c24-slide.is-active.is-visual-motion > video,
  .c24-top-slider .c24-slide.is-active.is-visual-motion > .c24-slide-video-poster {
    transform: scale(1.10) translate3d(0, 0, 0) !important;
  }

  .c24-top-slider .c24-slide > iframe.c24-slide-youtube,
  .c24-top-slider .c24-slide.is-active.is-visual-motion > iframe.c24-slide-youtube {
    transform: translate(-50%, -50%) scale(1.10) !important;
  }
}

/* KBoard 글쓰기 하단 버튼 간격: 대표이미지와 버튼 사이를 40px로 조정 */
body.c24-kboard-editor-inline-ready .c24-kboard-inline-row.c24-kboard-inline-thumb,
body.c24-kboard-editor-inline-ready .kboard-attr-row.kboard-attr-thumbnail,
body.c24-kboard-editor-inline-ready .kboard-attr-row[class*="thumbnail"],
body.c24-kboard-editor-inline-ready .kboard-attr-row[class*="thumb"] {
  margin-bottom: 40px !important;
  padding-bottom: 0 !important;
}

body.c24-kboard-editor-inline-ready .kboard-control,
body.c24-kboard-editor-inline-ready .kboard-control-container,
body.c24-kboard-editor-inline-ready .kboard-document-action,
body.c24-kboard-editor-inline-ready .kboard-form-button,
body.c24-kboard-editor-inline-ready .kboard-editor-button,
body.c24-kboard-editor-inline-ready .kboard-button-action,
body.c24-kboard-editor-inline-ready .kboard-list-button-wrap,
body.c24-kboard-editor-inline-ready .kboard-editor-bottom,
body.c24-kboard-editor-inline-ready .kboard-document-buttons,
body.c24-kboard-editor-inline-ready .kboard-document-control {
  margin-top: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  min-height: 52px !important;
  overflow: visible !important;
}

/* =========================================================
   KBoard 포트폴리오 글쓰기 하단 버튼 테두리 잘림 보정
   - 기존 레이아웃/간격은 유지하고 버튼 테두리만 또렷하게 표시
========================================================= */
body.c24-kboard-editor-inline-ready .kboard-control,
body.c24-kboard-editor-inline-ready .kboard-control-container,
body.c24-kboard-editor-inline-ready .kboard-document-action,
body.c24-kboard-editor-inline-ready .kboard-form-button,
body.c24-kboard-editor-inline-ready .kboard-editor-button,
body.c24-kboard-editor-inline-ready .kboard-button-action,
body.c24-kboard-editor-inline-ready .kboard-list-button-wrap,
body.c24-kboard-editor-inline-ready .kboard-editor-bottom,
body.c24-kboard-editor-inline-ready .kboard-document-buttons,
body.c24-kboard-editor-inline-ready .kboard-document-control {
  overflow: visible !important;
  height: auto !important;
  min-height: 64px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  box-sizing: border-box !important;
}

body.c24-kboard-editor-inline-ready .kboard-control a,
body.c24-kboard-editor-inline-ready .kboard-control button,
body.c24-kboard-editor-inline-ready .kboard-control input[type="button"],
body.c24-kboard-editor-inline-ready .kboard-control input[type="submit"],
body.c24-kboard-editor-inline-ready .kboard-document-buttons a,
body.c24-kboard-editor-inline-ready .kboard-document-buttons button,
body.c24-kboard-editor-inline-ready .kboard-document-buttons input[type="button"],
body.c24-kboard-editor-inline-ready .kboard-document-buttons input[type="submit"],
body.c24-kboard-editor-inline-ready .kboard-default-button-small,
body.c24-kboard-editor-inline-ready .kboard-default-button-large {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  box-shadow: inset 0 0 0 1px #aeb7c4 !important;
  vertical-align: middle !important;
}

/* =========================================================
   KBoard 포트폴리오 글쓰기 하단 버튼 테두리 최종 보정
   - 실제 버튼 요소에 JS로 클래스를 부여한 뒤 테두리를 강제 표시
========================================================= */
body.c24-kboard-portfolio-editor-page .c24-kboard-editor-button-wrap-fixed,
body.c24-kboard-portfolio-editor-page .kboard-control,
body.c24-kboard-portfolio-editor-page .kboard-control-container,
body.c24-kboard-portfolio-editor-page .kboard-document-action,
body.c24-kboard-portfolio-editor-page .kboard-form-button,
body.c24-kboard-portfolio-editor-page .kboard-editor-button,
body.c24-kboard-portfolio-editor-page .kboard-button-action,
body.c24-kboard-portfolio-editor-page .kboard-list-button-wrap,
body.c24-kboard-portfolio-editor-page .kboard-editor-bottom,
body.c24-kboard-portfolio-editor-page .kboard-document-buttons,
body.c24-kboard-portfolio-editor-page .kboard-document-control {
  overflow: visible !important;
  height: auto !important;
  min-height: 58px !important;
  line-height: normal !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  box-sizing: border-box !important;
}

body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-fixed,
body.c24-kboard-portfolio-editor-page a.c24-kboard-portfolio-editor-button-fixed,
body.c24-kboard-portfolio-editor-page button.c24-kboard-portfolio-editor-button-fixed,
body.c24-kboard-portfolio-editor-page input.c24-kboard-portfolio-editor-button-fixed {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: none !important;
  padding: 0 24px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 42px !important;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  /* border가 부모/스킨에 잘릴 때를 대비해 안쪽 4면 선을 각각 그림 */
  box-shadow:
    inset 0 1px 0 #9ca3af,
    inset 0 -1px 0 #9ca3af,
    inset 1px 0 0 #9ca3af,
    inset -1px 0 0 #9ca3af !important;
}

body.c24-kboard-portfolio-editor-page input.c24-kboard-portfolio-editor-button-fixed {
  display: inline-block !important;
  cursor: pointer !important;
}

/* =========================================================
   KBoard 공지사항 상세페이지 이전글/다음글 정렬 보정
   - 포트폴리오 상세페이지와 동일하게 2칸 구조로 표시
   - 공지사항 페이지(/notice/)에만 적용
   ========================================================= */
.c24-page-content.c24-page-slug-notice .kboard-document-navi,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navigation {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 36px 0 22px !important;
  padding: 0 !important;
  clear: both !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi::before,
.c24-page-content.c24-page-slug-notice .kboard-document-navi::after,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi::before,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi::after {
  display: none !important;
  content: none !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-prev-document,
.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-next-document,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi .kboard-prev-document,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi .kboard-next-document {
  float: none !important;
  display: flex !important;
  align-items: stretch !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-prev-document {
  grid-column: 1 !important;
  justify-content: flex-start !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-next-document {
  grid-column: 2 !important;
  justify-content: flex-end !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-prev-document a,
.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-next-document a,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi .kboard-prev-document a,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi .kboard-next-document a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  border: 1px solid #dfe5ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-prev-document a {
  justify-content: flex-start !important;
  text-align: left !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-next-document a {
  justify-content: flex-end !important;
  text-align: right !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .navi-arrow {
  flex: 0 0 auto !important;
  margin: 0 6px !important;
  line-height: 1 !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi .navi-document-title,
.c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-default-cut-strings {
  display: inline-block !important;
  max-width: calc(100% - 30px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control {
  clear: both !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

@media (max-width: 767px) {
  .c24-page-content.c24-page-slug-notice .kboard-document-navi,
  .c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi,
  .c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navigation {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 28px 0 18px !important;
  }

  .c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-prev-document,
  .c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-next-document {
    grid-column: 1 !important;
  }

  .c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-prev-document a,
  .c24-page-content.c24-page-slug-notice .kboard-document-navi .kboard-next-document a {
    min-height: 50px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   공지사항 상세페이지 이전/다음글 + 버튼 영역 겹침 최종 보정
   - 이전/다음글 박스 아래에 버튼 영역이 겹치지 않도록 분리
   ========================================================= */
.c24-page-content.c24-page-slug-notice .kboard-document-navi {
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 26px !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi + .kboard-control,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi + .kboard-control,
.c24-page-content.c24-page-slug-notice .kboard-control {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  min-height: 46px !important;
  height: auto !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 2 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control .left,
.c24-page-content.c24-page-slug-notice .kboard-control .right {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control .left {
  justify-content: flex-start !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control .right {
  justify-content: flex-end !important;
  margin-left: auto !important;
}

@media (max-width: 767px) {
  .c24-page-content.c24-page-slug-notice .kboard-document-navi {
    margin-bottom: 18px !important;
  }

  .c24-page-content.c24-page-slug-notice .kboard-document-navi + .kboard-control,
  .c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi + .kboard-control,
  .c24-page-content.c24-page-slug-notice .kboard-control {
    margin-top: 18px !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
}

/* =========================================================
   공지사항 상세페이지 본문 박스/제목 라인 제거
   - 포트폴리오 상세페이지처럼 제목, 작성자, 본문 영역을 박스 없이 정리
   ========================================================= */
.c24-page-content.c24-page-slug-notice #kboard-default-document,
.c24-page-content.c24-page-slug-notice #kboard-document,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap,
.c24-page-content.c24-page-slug-notice .kboard-document,
.c24-page-content.c24-page-slug-notice .kboard-document-header,
.c24-page-content.c24-page-slug-notice .kboard-document-title,
.c24-page-content.c24-page-slug-notice .kboard-document-info,
.c24-page-content.c24-page-slug-notice .kboard-detail,
.c24-page-content.c24-page-slug-notice .kboard-content,
.c24-page-content.c24-page-slug-notice .kboard-document-content,
.c24-page-content.c24-page-slug-notice .kboard-attach,
.c24-page-content.c24-page-slug-notice [id*="kboard"] .kboard-document,
.c24-page-content.c24-page-slug-notice [id*="kboard"] .kboard-content {
  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.c24-page-content.c24-page-slug-notice #kboard-default-document::before,
.c24-page-content.c24-page-slug-notice #kboard-default-document::after,
.c24-page-content.c24-page-slug-notice #kboard-document::before,
.c24-page-content.c24-page-slug-notice #kboard-document::after,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap::before,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap::after,
.c24-page-content.c24-page-slug-notice .kboard-document::before,
.c24-page-content.c24-page-slug-notice .kboard-document::after,
.c24-page-content.c24-page-slug-notice .kboard-content::before,
.c24-page-content.c24-page-slug-notice .kboard-content::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-header,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-header,
.c24-page-content.c24-page-slug-notice .kboard-document-header,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap .kboard-document-header {
  padding: 0 !important;
  margin: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-title,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-title,
.c24-page-content.c24-page-slug-notice .kboard-document-title,
.c24-page-content.c24-page-slug-notice .kboard-title,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap .kboard-title {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-title h1,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-title h2,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-title h1,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-title h2,
.c24-page-content.c24-page-slug-notice .kboard-document-title h1,
.c24-page-content.c24-page-slug-notice .kboard-document-title h2,
.c24-page-content.c24-page-slug-notice .kboard-title h1,
.c24-page-content.c24-page-slug-notice .kboard-title h2,
.c24-page-content.c24-page-slug-notice .kboard-title {
  padding: 0 !important;
  margin: 0 0 8px !important;
  border: 0 !important;
  line-height: 1.35 !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-title::before,
.c24-page-content.c24-page-slug-notice .kboard-document-title::after,
.c24-page-content.c24-page-slug-notice .kboard-title::before,
.c24-page-content.c24-page-slug-notice .kboard-title::after {
  content: none !important;
  display: none !important;
}

.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-info,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-info,
.c24-page-content.c24-page-slug-notice .kboard-document-info,
.c24-page-content.c24-page-slug-notice .kboard-detail,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap .kboard-detail,
.c24-page-content.c24-page-slug-notice .kboard-attr-row,
.c24-page-content.c24-page-slug-notice .kboard-document-header .kboard-info {
  padding: 4px 0 8px !important;
  margin: 0 0 12px !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-info::before,
.c24-page-content.c24-page-slug-notice .kboard-document-info::after,
.c24-page-content.c24-page-slug-notice .kboard-detail::before,
.c24-page-content.c24-page-slug-notice .kboard-detail::after,
.c24-page-content.c24-page-slug-notice .kboard-attr-row::before,
.c24-page-content.c24-page-slug-notice .kboard-attr-row::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-content,
.c24-page-content.c24-page-slug-notice .kboard-content,
.c24-page-content.c24-page-slug-notice .kboard-document-wrap .kboard-content,
.c24-page-content.c24-page-slug-notice .kboard-content-view,
.c24-page-content.c24-page-slug-notice .content-view {
  padding: 12px 0 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* =========================================================
   공지사항 상세페이지 이전/다음글 위쪽 라인 제거
   ========================================================= */
.c24-page-content.c24-page-slug-notice .kboard-document-navi,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-navi {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  padding-top: 0 !important;
}

.c24-page-content.c24-page-slug-notice .kboard-document-navi::before,
.c24-page-content.c24-page-slug-notice .kboard-document-navi::after,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi::before,
.c24-page-content.c24-page-slug-notice #kboard-default-document .kboard-document-navi::after,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-navi::before,
.c24-page-content.c24-page-slug-notice #kboard-document .kboard-document-navi::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* 일부 KBoard 스킨에서 이전/다음글 바로 위에 들어가는 구분선 제거 */
.c24-page-content.c24-page-slug-notice .kboard-document-content + .kboard-document-navi,
.c24-page-content.c24-page-slug-notice .kboard-content + .kboard-document-navi,
.c24-page-content.c24-page-slug-notice .kboard-attach + .kboard-document-navi {
  border-top: 0 !important;
}

/* =========================================================
   KBoard 목록 페이지 글쓰기 버튼 오른쪽 정렬
   - 상세페이지 하단 버튼 영역은 건드리지 않고,
     목록 화면의 글쓰기 버튼만 오른쪽으로 보이도록 보정
========================================================= */
.c24-page-content .kboard-list .kboard-control,
.c24-page-content .kboard-list-wrap .kboard-control,
.c24-page-content .kboard-default-list .kboard-control,
.c24-page-content .kboard-thumbnail-list .kboard-control,
.c24-page-content .kboard-gallery-list .kboard-control {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  text-align: right !important;
  clear: both !important;
}

.c24-page-content .kboard-list .kboard-control .right,
.c24-page-content .kboard-list-wrap .kboard-control .right,
.c24-page-content .kboard-default-list .kboard-control .right,
.c24-page-content .kboard-thumbnail-list .kboard-control .right,
.c24-page-content .kboard-gallery-list .kboard-control .right {
  margin-left: auto !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.c24-page-content .kboard-list .kboard-control a,
.c24-page-content .kboard-list-wrap .kboard-control a,
.c24-page-content .kboard-default-list .kboard-control a,
.c24-page-content .kboard-thumbnail-list .kboard-control a,
.c24-page-content .kboard-gallery-list .kboard-control a {
  float: none !important;
}

/* 글쓰기 버튼만 단독으로 있는 KBoard 목록 구조 대응 */
.c24-page-content .kboard-control:not(:has(.left)):not(:has(.right)):has(a[href*="mod=editor"]) {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  .c24-page-content .kboard-list .kboard-control,
  .c24-page-content .kboard-list-wrap .kboard-control,
  .c24-page-content .kboard-default-list .kboard-control,
  .c24-page-content .kboard-thumbnail-list .kboard-control,
  .c24-page-content .kboard-gallery-list .kboard-control,
  .c24-page-content .kboard-control:not(:has(.left)):not(:has(.right)):has(a[href*="mod=editor"]) {
    justify-content: flex-end !important;
  }
}

/* =============================
   포트폴리오 글쓰기 하단 버튼 테두리 잘림 보정
   - 버튼 위치/간격은 유지
   - border 대신 안쪽 라인(box-shadow)으로 버튼 외곽선을 표시
   ============================= */
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-editor .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-editor .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board .kboard-editor .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control {
  overflow: visible !important;
  min-height: 58px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-editor .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board #kboard-default-editor .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-editor .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-editor .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board .kboard-editor .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-editor .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .right {
  overflow: visible !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-portfolio-board #kboard-default-editor .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board #kboard-thumbnail-editor .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board .kboard-editor .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control button.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control input.kboard-default-button-small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  height: auto !important;
  line-height: 1.2 !important;
  padding: 0 22px !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px #9ca3af !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111827 !important;
  font-weight: 700 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* =========================================================
   FINAL OVERRIDE: 포트폴리오 글쓰기 하단 버튼을 공지사항 버튼 스타일과 동일하게 보정
   - 버튼 위/아래 테두리 잘림 방지
   - 기존 좌우 위치 유지
   ========================================================= */
body.c24-kboard-portfolio-editor-page .kboard-control,
body.c24-kboard-portfolio-editor-page .kboard-control .left,
body.c24-kboard-portfolio-editor-page .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .right {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 8px 0 !important;
  margin-top: 40px !important;
  border: 0 !important;
  background: transparent !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control .left,
body.c24-kboard-portfolio-editor-page .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .right {
  position: static !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control .right,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control .right {
  margin-left: auto !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control a.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .kboard-control button.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .kboard-control input.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-fixed,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control button.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control input.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control button.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control input.kboard-default-button-small {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: none !important;
  padding: 0 24px !important;
  margin: 0 !important;
  border: 1px solid #9ca3af !important;
  border-radius: 7px !important;
  background: #fff !important;
  background-image: none !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clip-path: none !important;
  transform: none !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control a.kboard-default-button-small:hover,
body.c24-kboard-portfolio-editor-page .kboard-control button.kboard-default-button-small:hover,
body.c24-kboard-portfolio-editor-page .kboard-control input.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control a.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control button.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-portfolio-board form .kboard-control input.kboard-default-button-small:hover {
  border-color: #6b7280 !important;
  background: #f8fafc !important;
}

@media (max-width: 767px) {
  body.c24-kboard-portfolio-editor-page .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board form .kboard-control,
  .c24-page-content.c24-page-slug-portfolio-board [id*="editor"] .kboard-control {
    min-height: 56px !important;
    padding: 7px 0 !important;
    margin-top: 32px !important;
  }

  body.c24-kboard-portfolio-editor-page .kboard-control a.kboard-default-button-small,
  body.c24-kboard-portfolio-editor-page .kboard-control button.kboard-default-button-small,
  body.c24-kboard-portfolio-editor-page .kboard-control input.kboard-default-button-small,
  body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-fixed,
  .c24-page-content.c24-page-slug-portfolio-board form .kboard-control a.kboard-default-button-small,
  .c24-page-content.c24-page-slug-portfolio-board form .kboard-control button.kboard-default-button-small,
  .c24-page-content.c24-page-slug-portfolio-board form .kboard-control input.kboard-default-button-small {
    min-width: 92px !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 38px !important;
    padding: 0 18px !important;
  }
}


/* KBoard 포트폴리오 글쓰기/수정 화면에서 목록 카드 재구성 숨김 방지 */
body.c24-kboard-portfolio-editor-page .c24-portfolio-list-rebuild-grid {
  display: none !important;
}
body.c24-kboard-portfolio-editor-page .c24-portfolio-original-list-hidden {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

/* =========================================================
   FINAL: 포트폴리오 글쓰기/수정 하단 버튼을 공지사항 버튼처럼 표시
   - CSS로만 안 먹는 KBoard 구조를 대비해 JS가 class를 함께 부여함
   ========================================================= */
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-hardfix {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background-color: #fff !important;
  background-image:
    linear-gradient(#9ca3af, #9ca3af),
    linear-gradient(#9ca3af, #9ca3af),
    linear-gradient(#9ca3af, #9ca3af),
    linear-gradient(#9ca3af, #9ca3af) !important;
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100% !important;
  background-position: left top, left bottom, left top, right top !important;
  background-repeat: no-repeat !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 42px !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clip-path: none !important;
  transform: none !important;
}

body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix .left,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix .right {
  overflow: visible !important;
  height: auto !important;
  min-height: 50px !important;
  max-height: none !important;
  box-sizing: border-box !important;
}

body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-extra-list-hide {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* =========================================================
   FINAL TUNE: 포트폴리오 글쓰기/수정 하단 버튼 모서리 잘림 보정
   - 기존 위치/간격 유지
   - 테두리를 버튼 안쪽(box-shadow)으로 그려 모서리 잘림 방지
   ========================================================= */
body.c24-kboard-portfolio-editor-page .kboard-control,
body.c24-kboard-portfolio-editor-page .kboard-control .left,
body.c24-kboard-portfolio-editor-page .kboard-control .right,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix .left,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix .right {
  overflow: visible !important;
  min-height: 58px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control a.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .kboard-control button.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .kboard-control input.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-hardfix,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-fixed {
  height: 42px !important;
  min-height: 42px !important;
  line-height: 1 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: inset 0 0 0 1px #9ca3af !important;
  overflow: visible !important;
  clip-path: none !important;
  box-sizing: border-box !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control a.kboard-default-button-small:hover,
body.c24-kboard-portfolio-editor-page .kboard-control button.kboard-default-button-small:hover,
body.c24-kboard-portfolio-editor-page .kboard-control input.kboard-default-button-small:hover,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-hardfix:hover,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-fixed:hover {
  background: #f8fafc !important;
  box-shadow: inset 0 0 0 1px #6b7280 !important;
}


/* =========================================================
   FINAL FIX: 포트폴리오 글쓰기/수정 버튼 모서리 잘림 보정
   - 버튼 자체에 실제 border를 적용해 공지사항 버튼과 동일하게 표시
   - 이전 background-image 라인 방식 제거
   ========================================================= */
body.c24-kboard-portfolio-editor-page .kboard-control,
body.c24-kboard-portfolio-editor-page .kboard-control .left,
body.c24-kboard-portfolio-editor-page .kboard-control .right,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix .left,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-control-hardfix .right {
  overflow: visible !important;
  height: auto !important;
  min-height: 58px !important;
  max-height: none !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  box-sizing: border-box !important;
}

body.c24-kboard-portfolio-editor-page .kboard-control a.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .kboard-control button.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .kboard-control input.kboard-default-button-small,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-hardfix,
body.c24-kboard-portfolio-editor-page .c24-kboard-portfolio-editor-button-fixed {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  border: 1px solid #9ca3af !important;
  border-radius: 7px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: visible !important;
  clip-path: none !important;
  transform: none !important;
  box-sizing: border-box !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* =========================================================
   FIX: 포트폴리오 목록 페이지 글쓰기 버튼 잘림 보정
   - 글쓰기 버튼을 감싸는 KBoard control 영역의 높이/overflow 보정
   - 글쓰기/수정(editor) 화면 버튼 위치는 기존 보정 유지
   ========================================================= */
.c24-page-content.c24-page-slug-portfolio-board .kboard-control {
  overflow: visible !important;
  height: auto !important;
  min-height: 50px !important;
  max-height: none !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control .left,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control .right {
  overflow: visible !important;
  height: auto !important;
  min-height: 42px !important;
  max-height: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control button.kboard-default-button-small,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control input.kboard-default-button-small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: none !important;
  padding: 0 18px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 7px !important;
  background: #fff !important;
  background-image: none !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clip-path: none !important;
  transform: none !important;
}

.c24-page-content.c24-page-slug-portfolio-board .kboard-control a.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control button.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-portfolio-board .kboard-control input.kboard-default-button-small:hover {
  border-color: #9ca3af !important;
  background: #f8fafc !important;
}

/* =========================================================
   FIX: 공지사항 목록 페이지 글쓰기 버튼 잘림 보정
   - 포트폴리오 목록 글쓰기 버튼과 동일한 방식 적용
   ========================================================= */
.c24-page-content.c24-page-slug-notice .kboard-control {
  overflow: visible !important;
  height: auto !important;
  min-height: 50px !important;
  max-height: none !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control .left,
.c24-page-content.c24-page-slug-notice .kboard-control .right {
  overflow: visible !important;
  height: auto !important;
  min-height: 42px !important;
  max-height: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control a.kboard-default-button-small,
.c24-page-content.c24-page-slug-notice .kboard-control button.kboard-default-button-small,
.c24-page-content.c24-page-slug-notice .kboard-control input.kboard-default-button-small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: none !important;
  padding: 0 18px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 7px !important;
  background: #fff !important;
  background-image: none !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clip-path: none !important;
  transform: none !important;
}

.c24-page-content.c24-page-slug-notice .kboard-control a.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-notice .kboard-control button.kboard-default-button-small:hover,
.c24-page-content.c24-page-slug-notice .kboard-control input.kboard-default-button-small:hover {
  border-color: #9ca3af !important;
  background: #f8fafc !important;
}

/* =========================================================
   FIX: 포트폴리오 글쓰기/수정 페이지 상단 타이틀 아래 여백
   - 서브페이지 상단 타이틀 영역과 제목 입력란 사이 공간 확보
   - 포트폴리오 editor 화면에서만 적용
   ========================================================= */
body.c24-kboard-portfolio-editor-page .c24-page-hero + .c24-page-content-section,
body.c24-kboard-portfolio-editor-page .c24-page-content-section {
  padding-top: 68px !important;
}

@media (max-width: 767px) {
  body.c24-kboard-portfolio-editor-page .c24-page-hero + .c24-page-content-section,
  body.c24-kboard-portfolio-editor-page .c24-page-content-section {
    padding-top: 42px !important;
  }
}

/* =========================================================
   FIX: 공지사항 글쓰기/수정 페이지 상단 타이틀 아래 여백
   - 포트폴리오 글쓰기/수정 페이지와 동일한 간격 적용
   - 공지사항 editor 화면에서만 적용
   ========================================================= */
body.c24-kboard-editor-page .c24-page-hero + .c24-page-content-section .c24-page-content.c24-page-slug-notice,
body.c24-kboard-editor-page .c24-page-content-section .c24-page-content.c24-page-slug-notice,
body.c24-kboard-editor-page .c24-page-content.c24-page-slug-notice {
  padding-top: 68px !important;
}

@media (max-width: 767px) {
  body.c24-kboard-editor-page .c24-page-hero + .c24-page-content-section .c24-page-content.c24-page-slug-notice,
  body.c24-kboard-editor-page .c24-page-content-section .c24-page-content.c24-page-slug-notice,
  body.c24-kboard-editor-page .c24-page-content.c24-page-slug-notice {
    padding-top: 42px !important;
  }
}

/* =========================================================
   FINAL FIX: 공지사항 글쓰기/수정 페이지 상단 여백
   - 포트폴리오 글쓰기/수정 페이지와 동일하게 맞춤
   - 기존에 공지사항 본문 안쪽에 추가된 중복 padding 제거
   ========================================================= */
body.c24-kboard-editor-page .c24-page-hero + .c24-page-content-section,
body.c24-kboard-editor-page .c24-page-content-section {
  padding-top: 68px !important;
}

body.c24-kboard-editor-page .c24-page-content.c24-page-slug-notice,
body.c24-kboard-editor-page .c24-page-content-section .c24-page-content.c24-page-slug-notice,
body.c24-kboard-editor-page .c24-page-hero + .c24-page-content-section .c24-page-content.c24-page-slug-notice {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body.c24-kboard-editor-page .c24-page-hero + .c24-page-content-section,
  body.c24-kboard-editor-page .c24-page-content-section {
    padding-top: 42px !important;
  }

  body.c24-kboard-editor-page .c24-page-content.c24-page-slug-notice,
  body.c24-kboard-editor-page .c24-page-content-section .c24-page-content.c24-page-slug-notice,
  body.c24-kboard-editor-page .c24-page-hero + .c24-page-content-section .c24-page-content.c24-page-slug-notice {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}
