body { font-family: 'Noto Sans KR', sans-serif; }
.hero-gradient { background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.6)); }
.text-shadow { text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }

/* Navigation Active State */
.nav-link.active { color: #0ea5e9; font-weight: 700; }
.nav-link { position: relative; }
.nav-link::after {
    content: ''; position: absolute; width: 0; height: 2px; bottom: -4px; left: 0;
    background-color: #0ea5e9; transition: width 0.3s;
}
.nav-link:hover::after { width: 100%; }
.nav-link.active::after { width: 100%; }

/* Page Transitions */
.page-section {
    display: none;
    animation: fadeIn 0.4s ease-in-out;
}
.page-section.active {
    display: block;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Business Tab Active State */
.biz-tab.active {
    background-color: #0ea5e9;
    color: white;
    border-color: #0ea5e9;
    box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.5);
}

/* Hide scrollbar */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Scroll Container Base (for all pages) */
.scroll-container {
    height: calc(100vh - 5rem); /* Viewport - Header */
    margin-top: 5rem; /* Header height */
    overflow-y: auto;
    scroll-behavior: smooth;
}

/* Snap Logic - ONLY for Home and Intro */
.snap-enabled {
    scroll-snap-type: y mandatory;
}
.snap-enabled .snap-section {
    height: 100%;
    width: 100%;
    scroll-snap-align: start;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

/* Mobile: disable snap constraints so stacked cards aren't clipped */
@media (max-width: 767px) {
    .snap-enabled {
        scroll-snap-type: none;
    }
    .snap-enabled .snap-section {
        height: auto;
        min-height: 100%;
        overflow: visible;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

/* Footer Snap Behavior */
.snap-enabled footer {
    scroll-snap-align: end;
}

/* Hero Animation */
@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-slide-up > * {
    opacity: 0;
    animation: slideUpFade 0.8s ease-out forwards;
}

.animate-slide-up > *:nth-child(1) { animation-delay: 0.2s; }
.animate-slide-up > *:nth-child(2) { animation-delay: 0.4s; }
.animate-slide-up > *:nth-child(3) { animation-delay: 0.6s; }
.animate-slide-up > *:nth-child(4) { animation-delay: 0.8s; }

/* Background Zoom Animation */
@keyframes slowZoom {
    from { transform: scale(1); }
    to { transform: scale(1.1); }
}
.animate-slow-zoom {
    animation: slowZoom 20s ease-in-out infinite alternate;
}

/* Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    display: flex;
    width: max-content;
    animation: marquee 30s linear infinite;
}
.animate-marquee:hover {
    animation-play-state: paused;
}

/* ============================================================
   vendor.css(빌드본) 누락 유틸 보충 — 2026 시공실적 개편 신규 UI
   vendor.css 뒤에 로드되어 누락 클래스를 보충한다. (vendor.css는 미수정)
   ============================================================ */
/* amber 계열(빌드본에 amber-600/50 등 미포함) */
.bg-amber-500{background-color:#f59e0b}
.bg-amber-600{background-color:#d97706}
.hover\:bg-amber-600:hover{background-color:#d97706}
.bg-amber-50{background-color:#fffbeb}
.bg-amber-50\/60{background-color:rgba(255,251,235,.6)}
.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}
.border-amber-100{border-color:#fef3c7}
.border-amber-200{border-color:#fde68a}
.hover\:border-amber-200:hover{border-color:#fde68a}
.text-amber-600{color:#d97706}
.focus\:ring-amber-500:focus{--tw-ring-color:#f59e0b}
/* 반투명 검정(워터마크/오버레이 배경) */
.bg-black\/55{background-color:rgba(0,0,0,.55)}
/* arbitrary 폰트 크기 */
.text-\[11px\]{font-size:11px;line-height:1.35}
.text-\[10px\]{font-size:10px;line-height:1.2}
/* 위치·크기·기타 */
.right-6{right:1.5rem}
.h-12{height:3rem}
.w-44{width:11rem}
.max-h-64{max-height:16rem}
.rounded-md{border-radius:.375rem}
.pl-12{padding-left:3rem}
.pr-12{padding-right:3rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.border-dashed{border-style:dashed}
.tabular-nums{font-variant-numeric:tabular-nums}
.last\:border-0:last-child{border-width:0}
.max-h-\[80vh\]{max-height:80vh}
.max-h-\[90vh\]{max-height:90vh}
.leading-none{line-height:1}
.items-start{align-items:flex-start}
.gap-1\.5{gap:.375rem}
.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}
.bg-sky-50\/40{background-color:rgba(240,249,255,.4)}
.bg-sky-50\/50{background-color:rgba(240,249,255,.5)}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
/* md(>=768px) 변형 */
@media (min-width:768px){
  .md\:bottom-10{bottom:2.5rem}
  .md\:right-10{right:2.5rem}
  .md\:text-xs{font-size:.75rem;line-height:1rem}
  .md\:inline{display:inline}
}
/* sm(>=640px) 변형 */
@media (min-width:640px){
  .sm\:w-20{width:5rem}
}
/* 현장분류 칩 + 삭제버튼 hover (Tailwind named group 대체) */
.venue-chip-wrap{position:relative;display:inline-flex}
.venue-del{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:9999px;
  display:none;align-items:center;justify-content:center;font-size:11px;line-height:1;
  color:#fff;background:#9ca3af;cursor:pointer;border:none;padding:0}
.venue-chip-wrap:hover .venue-del{display:flex}
.venue-del:hover{background:#ef4444}

/* 관리자 헤더 버튼 레이아웃 보조 */
.flex-nowrap{flex-wrap:nowrap}
.overflow-x-auto{overflow-x:auto}
/* pb-1 (bottom padding for scrollbar clearance) */
.pb-1{padding-bottom:.25rem}

/* 관리자 검색 바 — vendor.css 미포함 유틸 보충 */
.admin-search-min-w{min-width:200px}
.admin-search-py{padding-top:.625rem;padding-bottom:.625rem}
.pl-9{padding-left:2.25rem}
#admin-search-input:focus,
#admin-venue-select:focus{border-color:#0ea5e9;box-shadow:0 0 0 1px #0ea5e9}

/* 현장분류 배지 확장 색상 — venue_types 신규 타입용 (vendor.css 미포함) */
.bg-indigo-600{background-color:#4f46e5}  /* 전시/박물관 */
.bg-slate-600{background-color:#475569}   /* 군부대 */
.bg-rose-600{background-color:#e11d48}    /* 주택 */
.bg-blue-600{background-color:#2563eb}    /* 상가 */

/* END of style.css */
