/* ============================================================
   비즈허브 (theme/36) - 보조 CSS
   Tailwind utility 중심. 여기엔 grid 명시구조 / 비율박스 /
   브라우저 CDN 한계 보정 같은 예외만 둔다.
   ============================================================ */

/* 기본 박스/스크롤 */
* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body { word-break: keep-all; overflow-x: hidden; }
img { max-width: 100%; }

/* ------------------------------------------------------------
   메인 보드 그리드 (Tailwind4 단일 1fr 폭발 함정 회피:
   minmax(0,1fr) 명시 + 자식 min-width:0)
   1280+ : 게시판3 + 로그인280
   1024~1279 : 게시판3 + 로그인(아래 전체폭)
   640~1023 : 2열
   ~639 : 1열
   ------------------------------------------------------------ */
.board-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 280px;
    gap: 2.5rem;
    align-items: start;
}
.board-grid > * { min-width: 0; }

@media (max-width: 1279px) {
    .board-grid {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
        gap: 2rem;
    }
    .board-grid > .board-login { grid-column: 1 / -1; }
    /* 로그인 박스는 가로로 펼치기 */
    .board-grid > .board-login > .mt-4 { display: none; }
}
@media (max-width: 1023px) {
    .board-grid {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        gap: 1.75rem 2rem;
    }
}
@media (max-width: 639px) {
    .board-grid {
        grid-template-columns: minmax(0,1fr);
        gap: 2rem;
    }
}

/* ------------------------------------------------------------
   비율 박스 (이미지 영역) - aspect-ratio 미지원 보정
   ------------------------------------------------------------ */
.ratio-16-10 { position: relative; aspect-ratio: 16/10; }
.ratio-4-3   { position: relative; aspect-ratio: 4/3; }
.ratio-16-10 > img, .ratio-4-3 > img { position: absolute; inset: 0; }

/* line-clamp 폴백 (Tailwind 유틸 보조) */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 검색 input search 취소버튼 제거 */
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/* AOS 미발동(CDN stale) 대비: 콘텐츠가 사라지지 않도록 기본 가시 보정 */
[data-aos] { will-change: transform, opacity; }

/* GLightbox 위 z-index 안전 */
.glightbox-clean { z-index: 100; }
