﻿/* 기본 스타일 초기화 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px; /* 기본 폰트 크기 */
}

body {
    font-family: 'Noto Sans KR', 'Nanum Gothic', sans-serif;
    line-height: 1.7;
    color: #e0e0e0; /* 기본 텍스트 색상 (밝은 회색) */
    background-color: #0d1117; /* 매우 어두운 블루 계열 */
    overflow-x: hidden; /* 가로 스크롤 방지 */
}

body.no-scroll {
    overflow-y: hidden;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 링크 스타일 */
a {
    text-decoration: none;
    color: #f0c419; /* 골드 */
}

a:hover {
    color: #ffde59; /* 밝은 골드 */
}

/* 제목 스타일 */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Nanum Gothic', 'Noto Sans KR', sans-serif;
    color: #ffffff;
    margin-bottom: 1.2rem;
    line-height: 1.3;
    font-weight: 700;
}

h1 { font-size: 2.8rem; font-weight: 800; }
h2 { font-size: 2.4rem; margin-bottom: 2.5rem; text-align: center; color: #f0c419; text-transform: uppercase; letter-spacing: 1px;}
h3 { font-size: 1.6rem; color: #f0f0f0; }
h4 { font-size: 1.2rem; color: #e0e0e0; }


/* 버튼 스타일 */
.btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 50px; /* 둥근 버튼 */
    font-weight: 700;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: 0.95rem;
    letter-spacing: 0.8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.btn-primary {
    background-color: #f0c419; /* 골드 */
    color: #111;
}

.btn-primary:hover {
    background-color: #ffde59; /* 밝은 골드 */
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(240, 196, 25, 0.4);
}

.btn-secondary {
    background-color: transparent;
    color: #f0c419; /* 골드 */
    border: 2px solid #f0c419;
}

.btn-secondary:hover {
    background-color: #f0c419;
    color: #111;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(240, 196, 25, 0.3);
}

/* 헤더 스타일 */
header {
    background-color: rgba(10, 15, 20, 0.85); /* 반투명 어두운 블루 */
    padding: 1rem 0;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    box-shadow: 0 3px 12px rgba(0,0,0,0.4);
    backdrop-filter: blur(8px); /* 배경 블러 효과 */
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 1.9rem;
    font-weight: 800;
    color: #f0c419; /* 골드 */
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.logo:hover {
    color: #ffde59;
}

.logo-img {
    height: 40px; /* 로고 이미지 높이 */
    vertical-align: middle;
}

.nav-links {
    list-style: none;
    display: flex;
}

.nav-links li {
    margin-left: 20px; /* 간격 조정 */
}

.nav-links a {
    color: #f0f0f0;
    font-weight: 500;
    font-size: 0.95rem; /* 약간 작게 */
    padding: 8px 12px; /* 패딩 추가로 클릭 영역 확보 */
    border-radius: 4px;
    transition: color 0.3s ease, background-color 0.3s ease;
}

.nav-links a:hover,
.nav-links a.active-link { /* 활성 메뉴 스타일 */
    color: #111; /* 텍스트 색상 변경 */
    background-color: #f0c419; /* 골드 배경 */
}


/* 모바일 메뉴 토글 버튼 */
.mobile-menu-toggle {
    display: none; /* 기본적으로 숨김 */
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 1001; /* 네비게이션 링크보다 위에 */
}

.mobile-menu-toggle span {
    display: block;
    width: 28px;
    height: 3px;
    background-color: #f0c419;
    margin: 6px 0;
    transition: all 0.3s ease-in-out;
    border-radius: 2px;
}


/* Hero 섹션 */
.hero-section {
    height: 100vh;
    min-height: 650px; /* 최소 높이 설정 */
    background-image: url("https://images.unsplash.com/photo-1519638399535-1b036603ac77?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1920&q=80"); /* 새로운 배경 이미지 */
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* 배경 고정 효과 */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative; 
    padding-top: 80px; /* 헤더 높이 고려 */
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.85)); /* 그라데이션 오버레이 */
    z-index: 1;
}

.hero-content {
    position: relative; 
    z-index: 2;
    max-width: 800px;
}

.hero-section h1 {
    font-size: 3.8rem;
    margin-bottom: 1.8rem;
    color: #ffffff;
    text-shadow: 3px 3px 10px rgba(0,0,0,0.6);
}

.hero-section p {
    font-size: 1.4rem;
    margin-bottom: 3rem;
    color: #e0e0e0;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.5);
}


/* 콘텐츠 섹션 공통 스타일 */
.content-section {
    padding: 80px 0; 
}

.content-section.dark-bg {
    background-color: #161b22; /* 어두운 블루 계열 */
}
.content-section.light-bg {
    background-color: #0d1117; 
}

.section-subtitle {
    text-align: center;
    font-size: 1.15rem;
    color: #b0b0b0;
    margin-top: -1.5rem; /* 제목과의 간격 조정 */
    margin-bottom: 3.5rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.section-intro p {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    /* text-align: center; */ /* 기본 왼쪽 정렬 */
    max-width: 800px;
    margin-left:auto;
    margin-right:auto;
    color: #c0c0c0;
}
.section-intro strong {
    color: #f0c419;
}
.text-center {
    text-align: center;
}

/* 인트로 섹션 (#intro) - 회사소개 대체 */
#intro .section-intro p {
    text-align: left; /* 인트로 섹션은 왼쪽 정렬 */
    margin-bottom: 1.5rem;
}
#intro .section-intro strong {
    display: block;
    font-size: 1.2rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: #f0c419;
}

.core-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 3rem;
}
.core-value-item {
    background-color: #1c2128;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #30363d;
}
.core-value-item img {
    width: 60px;
    height: 60px;
    margin-bottom: 1rem;
}
.core-value-item h3 {
    color: #f0c419;
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
}
.core-value-item p {
    font-size: 0.95rem;
    color: #b0b0b0;
}


/* 솔루션 안내 섹션 (#solutions-overview) */
.solutions-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2x2 배치 */
    gap: 30px;
    margin-top: 2rem;
}

@media (max-width: 768px) {
    .solutions-overview-grid {
        grid-template-columns: 1fr; /* 모바일에서는 1열 */
    }
}

.solution-card {
    background-color: #1c2128;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #30363d;
    display: flex;
    flex-direction: column;
}
.solution-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.solution-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
.solution-card h3 {
    font-size: 1.5rem;
    color: #f0c419;
    margin: 1.5rem 1.5rem 0.8rem;
}
.solution-card p {
    font-size: 0.95rem;
    color: #b0b0b0;
    padding: 0 1.5rem;
    flex-grow: 1;
    margin-bottom: 1.5rem;
}
.solution-card .btn-secondary {
    margin: 0 1.5rem 1.5rem;
    align-self: flex-start;
}

/* 포트폴리오 래퍼 */
.portfolio-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 2rem;
}

/* 포트폴리오 행 */
.portfolio-row {
    display: grid;
    gap: 20px;
}

/* 2개 열 */
.portfolio-row-2 {
    grid-template-columns: repeat(2, 1fr);
}

/* 3개 열 */
.portfolio-row-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* 포트폴리오 아이템 스타일은 기존과 동일 */
.portfolio-item {
    background-color: #1c2128;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #30363d;
    min-height: 100px;
}

.portfolio-item img {
    max-width: 100%;
    max-height: 100px;
    object-fit: contain;
    filter: grayscale(80%) contrast(1.2);
    transition: filter 0.3s ease;
}

.portfolio-item:hover img {
    filter: grayscale(0%) contrast(1);
}

.portfolio-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    color: #f0c419;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
}

.portfolio-item span {
    position: static;
    opacity: 1;
    transform: none;
}


/* 반응형: 태블릿 */
@media (max-width: 992px) {
    .portfolio-row-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* 솔루션 안내 섹션 - 6개 카드 레이아웃 */
.solutions-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin-top: 2rem;
}

/* 큰 화면에서 3열 배치 */
@media (min-width: 1200px) {
    .solutions-overview-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 중간 화면에서 2열 배치 */
@media (min-width: 768px) and (max-width: 1199px) {
    .solutions-overview-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 작은 화면에서 1열 배치 */
@media (max-width: 767px) {
    .solutions-overview-grid {
        grid-template-columns: 1fr;
    }
}
/* 반응형: 모바일 */
@media (max-width: 576px) {
    .portfolio-row-2,
    .portfolio-row-3 {
        grid-template-columns: 1fr;
    }
}

}
.portfolio-item {
    background-color: #1c2128;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #30363d;
}
.portfolio-item img {
    max-width: 100%;
    max-height: 100px; /* 로고 크기 제한 */
    object-fit: contain;
    filter: grayscale(80%) contrast(1.2);
    transition: filter 0.3s ease;
}
.portfolio-item:hover img {
    filter: grayscale(0%) contrast(1);
}

/* 드롭다운 메뉴 */
.dropdown {
    position: relative;
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(10, 15, 20, 0.95);
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    min-width: 200px;
    z-index: 1000;
    margin-top: 5px;
}

.dropdown-menu li {
    list-style: none;
    margin: 0;
}

.dropdown-menu a {
    display: block;
    padding: 12px 20px;
    color: #e0e0e0;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border-bottom: 1px solid #30363d;
}

.dropdown-menu li:last-child a {
    border-bottom: none;
}

.dropdown-menu a:hover,
.dropdown-menu a.active {
    background-color: #1c2128;
    color: #f0c419;
}

.dropdown:hover .dropdown-menu {
    display: block;
}

/* 솔루션 상세 페이지 스타일 */
.solution-hero-section {
    height: 50vh;
    min-height: 400px;
    background-image: url("https://images.unsplash.com/photo-1550745165-9bc0b252726f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}

.solution-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 3rem;
}

.solution-feature-item {
    background-color: #1c2128;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #30363d;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.solution-feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}

.solution-feature-item img {
    width: 80px;
    height: 80px;
    margin-bottom: 1.5rem;
}

.solution-feature-item h3 {
    color: #f0c419;
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.solution-feature-item p {
    color: #b0b0b0;
    font-size: 0.95rem;
}

/* 솔루션 페이지 주요 기능 그리드 - 1행 레이아웃 (기존 .feature-detail-grid 스타일 대체) */
.feature-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4개 열 고정 */
    gap: 20px;
    margin-top: 2rem;
}

.feature-detail-item {
    background-color: #1c2128;
    padding: 25px;
    border-radius: 10px;
    border: 1px solid #30363d;
}

.feature-detail-item h3 {
    color: #f0c419;
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
}

.feature-detail-item ul {
    list-style: none;
    padding: 0;
}

.feature-detail-item li {
    padding: 6px 0;
    color: #b0b0b0;
    position: relative;
    padding-left: 20px;
    font-size: 0.9rem;
    line-height: 1.5;
}

.feature-detail-item li:before {
    content: "•";
    color: #f0c419;
    position: absolute;
    left: 0;
}

/* 반응형: 노트북/데스크톱 */
@media (max-width: 1400px) {
    .feature-detail-grid {
        grid-template-columns: repeat(2, 1fr); /* 2x2 레이아웃 */
        gap: 25px;
    }
}

/* 반응형: 태블릿 */
@media (max-width: 768px) {
    .feature-detail-grid {
        grid-template-columns: 1fr; /* 1열 레이아웃 */
        gap: 20px;
    }
    
    .feature-detail-item {
        padding: 20px;
    }
    
    .feature-detail-item h3 {
        font-size: 1.15rem;
    }
    
    .feature-detail-item li {
        font-size: 0.85rem;
    }

}

.feature-detail-item {
    background-color: #1c2128;
    padding: 30px;
    border-radius: 10px;
    border: 1px solid #30363d;
}

.feature-detail-item h3 {
    color: #f0c419;
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
}

.feature-detail-item ul {
    list-style: none;
    padding: 0;
}

.feature-detail-item li {
    padding: 8px 0;
    color: #b0b0b0;
    position: relative;
    padding-left: 20px;
}

.feature-detail-item li:before {
    content: "•";
    color: #f0c419;
    position: absolute;
    left: 0;
}

/* 도입 효과 그리드 */
.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-top: 3rem;
}

.benefit-item {
    text-align: center;
}

.benefit-number {
    font-size: 3rem;
    font-weight: 800;
    color: #f0c419;
    margin-bottom: 1rem;
}

.benefit-item h3 {
    font-size: 1.2rem;
    color: #f0f0f0;
    margin-bottom: 0.5rem;
}

.benefit-item p {
    color: #b0b0b0;
    font-size: 0.95rem;
}

/* 블로그 필터 */
.blog-filters {
    display: flex;
    gap: 10px;
    margin-bottom: 3rem;
    flex-wrap: wrap;
    justify-content: center;
}

.filter-btn {
    background-color: #1c2128;
    color: #e0e0e0;
    border: 1px solid #30363d;
    padding: 8px 20px;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0.9rem;
}

.filter-btn:hover {
    background-color: #30363d;
    color: #f0c419;
}

.filter-btn.active {
    background-color: #f0c419;
    color: #111;
    border-color: #f0c419;
}

/* 포스트 네비게이션 */
.post-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #30363d;
}

/* 블로그 페이지네이션 개선 */
.blog-pagination button.active {
    background-color: #f0c419;
    color: #111;
}

/* 포트폴리오 아이템 수정 */
.portfolio-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    color: #f0c419;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
}

.portfolio-item span {
    position: static;
    opacity: 1;
    transform: none;
}

/* 솔루션 특징 섹션 (#features) */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 2rem;
}
.feature-item {
    background-color: #1c2128;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #30363d;
    border-left: 5px solid #f0c419;
}
.feature-item img { /* 아이콘 이미지 사용시 */
    width: 50px;
    height: 50px;
    margin-bottom: 1rem;
}
.feature-item h3 {
    color: #f0c419;
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
}
.feature-item p {
    font-size: 0.95rem;
    color: #b0b0b0;
}


/* 카지노솔루션 섹션 (기존 solutions-grid, solution-item 유지, 필요시 사용) */
.solutions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 35px;
    margin-top: 2rem;
}

.solution-item {
    background-color: #1c2128; /* 카드 배경 */
    padding: 35px;
    border-radius: 10px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #30363d;
    border-bottom: 5px solid #f0c419; /* 하단 골드 강조 */
}

.solution-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.5);
}

.solution-item img {
    width: 60px; /* 아이콘 크기 */
    height: 60px;
    margin-bottom: 1.5rem;
}

.solution-item h3 {
    color: #f0c419;
    margin-bottom: 1rem;
    font-size: 1.4rem;
}
.solution-item p {
    font-size: 0.95rem;
    color: #c0c0c0;
}

/* 파트너정책 섹션 (기존 유지) */
#partnership .partnership-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    margin-bottom: 3rem;
}
#partnership .partnership-content > div {
    background-color: rgba(240, 196, 25, 0.05); /* 옅은 골드 배경 */
    padding: 30px;
    border-radius: 10px;
    border: 1px solid rgba(240, 196, 25, 0.15);
    transition: box-shadow 0.3s ease;
}
#partnership .partnership-content > div:hover {
    box-shadow: 0 5px 15px rgba(240, 196, 25, 0.1);
}
#partnership .partnership-content h3 {
    color: #f0c419;
    margin-bottom: 0.8rem;
    font-size: 1.3rem;
}

/* 이용가이드 섹션 (기존 유지) */
#guide .guide-steps {
    list-style: none;
    counter-reset: guide-counter;
    padding-left: 0;
    max-width: 800px;
    margin: 0 auto;
}

#guide .guide-steps li {
    position: relative;
    padding: 25px 25px 25px 70px; /* 왼쪽 패딩으로 숫자 공간 확보 */
    margin-bottom: 30px;
    background-color: #161b22;
    border-radius: 10px;
    border-left: 6px solid #f0c419;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

#guide .guide-steps li::before {
    counter-increment: guide-counter;
    content: counter(guide-counter);
    position: absolute;
    left: -22px; /* 원 위치 조정 */
    top: 50%;
    transform: translateY(-50%);
    background-color: #f0c419;
    color: #111;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.4rem;
    box-shadow: 0 3px 8px rgba(240,196,25,0.3);
}
#guide .guide-steps h3 {
    margin-bottom: 0.6rem;
    font-size: 1.3rem;
}
#guide .guide-steps p {
    color: #b0b0b0;
}


/* 상담신청 섹션 (#contact) */
.contact-form {
    max-width: 700px;
    margin: 0 auto 3rem;
    background-color: #1c2128;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

.form-group {
    margin-bottom: 1.8rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.6rem;
    color: #f0f0f0;
    font-weight: 500;
    font-size: 0.9rem;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group select, /* select 스타일 추가 */
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #30363d;
    border-radius: 5px;
    background-color: #0d1117;
    color: #f0f0f0;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.form-group input[type="text"]:focus,
.form-group input[type="email"]:focus,
.form-group input[type="tel"]:focus,
.form-group select:focus, /* select 포커스 스타일 */
.form-group textarea:focus {
    outline: none;
    border-color: #f0c419;
    box-shadow: 0 0 0 3px rgba(240, 196, 25, 0.2);
}

.form-group select { /* select 화살표 기본 스타일 제거 위해 */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'%23f0c419\' width=\'18px\' height=\'18px\'%3e%3cpath d=\'M7 10l5 5 5-5z\'/\%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px;
}


.form-group textarea {
    resize: vertical;
    min-height: 130px;
}

.checkbox-group {
    display: flex;
    align-items: center;
}
.checkbox-group input[type="checkbox"] {
    margin-right: 0.7rem;
    width: auto;
    accent-color: #f0c419; /* 체크박스 색상 */
    transform: scale(1.1);
}
.checkbox-group label { margin-bottom: 0; font-size: 0.9rem;}

.contact-form .btn-primary {
    width: 100%;
    font-size: 1.1rem;
    padding: 14px;
}

.contact-info {
    text-align: center;
    margin-top: 2.5rem;
}
.contact-info p {
    font-size: 1rem;
    color: #c0c0c0;
    margin-bottom: 0.5rem;
}
.contact-info strong {
    color: #f0c419;
}


/* 커뮤니티 미리보기 섹션 (#community-preview) & blog.html 용 블로그 스타일 */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); /* 카드 최소 너비 증가 */
    gap: 35px;
    margin-bottom: 3rem;
}

.blog-post {
    background-color: #1c2128;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.25);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    border: 1px solid #30363d;
}
.blog-post:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.4);
}
.blog-post-link { display: block; color: inherit; }
.blog-post-link:hover { color: inherit; }


.blog-post img.blog-post-image { /* 클래스명 추가하여 명확히 */
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.blog-post:hover img.blog-post-image {
    transform: scale(1.05);
}

.blog-post-content {
    padding: 25px;
    flex-grow: 1; 
    display: flex;
    flex-direction: column;
}

.blog-post-content h3 {
    font-size: 1.35rem;
    color: #f0c419;
    margin-bottom: 0.7rem;
    line-height: 1.4;
}
.blog-post:hover .blog-post-content h3 {
    color: #ffde59;
}

.blog-post-content .post-meta {
    font-size: 0.8rem;
    color: #888;
    margin-bottom: 0.5rem; /* 간격 살짝 줄임 */
}
.post-category-badge { /* 공용 카테고리 배지 스타일 */
    display: inline-block;
    background-color: #f0c419;
    color: #111;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.blog-post-content > p { /* 직접적인 자식 p 태그만 선택 */
    font-size: 0.95rem;
    color: #b0b0b0;
    flex-grow: 1; 
    margin-bottom: 1.2rem;
    line-height: 1.6;
}

.blog-post-content .read-more {
    color: #f0c419;
    font-weight: 600;
    font-size: 0.9rem;
    align-self: flex-start; 
    margin-top: auto; 
    display: inline-block;
    padding: 6px 0;
    border-bottom: 1px solid transparent;
}
.blog-post-content .read-more:hover {
    color: #ffde59;
    border-bottom-color: #ffde59;
}

/* 단일 블로그 게시물 보기 스타일 */
.single-post-view-container {
    padding: 30px 0; /* 상하 패딩 추가 */
    background-color: #1c2128; /* 배경색 변경 */
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
    margin-bottom: 3rem;
    border: 1px solid #30363d;
}
.single-post-header {
    padding: 0 30px 25px; /* 내부 패딩 */
    border-bottom: 1px solid #30363d;
    margin-bottom: 25px;
}
.single-post-title {
    font-size: 2.5rem;
    color: #f0c419;
    margin-bottom: 1rem;
    line-height: 1.2;
}
.single-post-meta {
    font-size: 0.9rem;
    color: #aaa;
    margin-bottom: 0.5rem;
}
.single-post-meta span { margin-right: 15px; }
.single-post-meta .post-category-badge {
    margin-left: 0; /* 단일 뷰에서는 왼쪽 마진 불필요 */
    font-size: 0.8rem;
    margin-bottom: 0; /* 메타 정보 라인에서는 하단 마진 제거 */
}

.single-post-image {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    border-radius: 8px; /* 이미지 자체에 radius */
    margin: 0 30px 30px; /* 좌우 패딩과 하단 마진 */
}

.single-post-content {
    padding: 0 30px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #c0c0c0;
}

.single-post-content h1, .single-post-content h2, .single-post-content h3, .single-post-content h4, .single-post-content h5, .single-post-content h6 {
    color: #f0c419;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.single-post-content p {
    margin-bottom: 1rem;
}

.single-post-content ul, .single-post-content ol {
    margin-left: 20px;
    margin-bottom: 1rem;
}

.single-post-content li {
    margin-bottom: 0.5rem;
}

/* 블로그 페이지네이션 */
.blog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 3rem;
    gap: 10px;
}

.blog-pagination button {
    background-color: #1c2128;
    color: #f0c419;
    border: 1px solid #30363d;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.blog-pagination button:hover:not(:disabled) {
    background-color: #f0c419;
    color: #111;
}

.blog-pagination button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.blog-pagination span {
    color: #f0f0f0;
    font-weight: 500;
}


/* FAQ 섹션 */
.faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 900px;
    margin: 2rem auto 0;
}

.faq-item {
    background-color: #1c2128;
    border-radius: 10px;
    border: 1px solid #30363d;
    overflow: hidden;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    cursor: pointer;
    background-color: #1c2128;
    color: #f0f0f0;
    font-size: 1.1rem;
    font-weight: 600;
    border-bottom: 1px solid #30363d;
    transition: background-color 0.3s ease;
}

.faq-question:hover {
    background-color: #2a3038;
}

.faq-question.active {
    background-color: #2a3038;
    color: #f0c419;
}

.faq-question .arrow-icon {
    font-size: 1.5rem;
    transition: transform 0.3s ease;
}

.faq-question.active .arrow-icon {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 25px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out;
    background-color: #161b22;
    color: #b0b0b0;
}

.faq-answer p {
    padding-bottom: 20px;
    font-size: 0.95rem;
}

.faq-answer.active {
    max-height: 200px; /* 충분한 높이로 설정 */
    padding-top: 15px;
    padding-bottom: 20px;
}


/* 푸터 스타일 */
footer {
    background-color: #0d1117;
    color: #b0b0b0;
    padding: 50px 0 20px;
    border-top: 1px solid #1c2128;
}

footer .footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.footer-logo-area .logo-img {
    height: 50px; /* 푸터 로고 크기 */
    margin-bottom: 10px;
}

.footer-logo-area p {
    font-size: 0.9rem;
    color: #888;
}

.footer-info h4,
.footer-links h4 {
    color: #f0c419;
    margin-bottom: 15px;
    font-size: 1.1rem;
}

.footer-info p {
    font-size: 0.9rem;
    margin-bottom: 8px;
}

.footer-links ul {
    list-style: none;
}

.footer-links li {
    margin-bottom: 8px;
}

.footer-links a {
    color: #b0b0b0;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #f0c419;
}

.copyright {
    text-align: center;
    font-size: 0.85rem;
    color: #888;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #1c2128;
}


/* 이벤트 팝업 스타일 */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.popup-overlay.show {
    opacity: 1;
    visibility: visible;
}

.popup-content {
    background-color: #1c2128;
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    position: relative;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    transform: scale(0.9);
    transition: transform 0.3s ease;
    border: 1px solid #30363d;
}

.popup-overlay.show .popup-content {
    transform: scale(1);
}

.popup-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    font-size: 2rem;
    color: #f0f0f0;
    cursor: pointer;
    transition: color 0.3s ease;
}

.popup-close:hover {
    color: #f0c419;
}

.popup-content h2 {
    color: #f0c419;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.popup-content p {
    font-size: 1.1rem;
    color: #e0e0e0;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.popup-btn {
    background-color: #f0c419;
    color: #111;
    padding: 12px 25px;
    border: none;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.popup-btn:hover {
    background-color: #ffde59;
    transform: translateY(-2px);
}


/* 관리자 로그인 모달 및 패널 스타일 */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.modal-overlay.show {
    opacity: 1;
    visibility: visible;
}

.modal-content {
    background-color: #1c2128;
    padding: 30px;
    border-radius: 10px;
    position: relative;
    max-width: 450px;
    width: 90%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    transform: scale(0.9);
    transition: transform 0.3s ease;
    border: 1px solid #30363d;
}

.modal-overlay.show .modal-content {
    transform: scale(1);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid #30363d;
    padding-bottom: 15px;
}

.modal-header h3 {
    color: #f0c419;
    font-size: 1.8rem;
    margin-bottom: 0;
}

.modal-close {
    background: none;
    border: none;
    font-size: 2rem;
    color: #f0f0f0;
    cursor: pointer;
    transition: color 0.3s ease;
}

.modal-close:hover {
    color: #f0c419;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.8rem;
    color: #e0e0e0;
    font-weight: 500;
}

.form-group input[type="text"],
.form-group input[type="password"],
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #30363d;
    border-radius: 5px;
    background-color: #0d1117;
    color: #f0f0f0;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-group input[type="text"]:focus,
.form-group input[type="password"]:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #f0c419;
    box-shadow: 0 0 0 3px rgba(240, 196, 25, 0.2);
}

.login-btn {
    width: 100%;
    padding: 12px;
    background-color: #f0c419;
    color: #111;
    border: none;
    border-radius: 5px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.login-btn:hover {
    background-color: #ffde59;
    transform: translateY(-2px);
}

.error-message {
    color: #ff4d4d;
    text-align: center;
    margin-top: 1rem;
    font-size: 0.9rem;
}

/* 관리자 패널 */
.admin-panel-content {
    max-width: 900px;
}

.admin-tabs {
    display: flex;
    margin-bottom: 20px;
    border-bottom: 1px solid #30363d;
}

.admin-tabs .tab-btn {
    background-color: transparent;
    border: none;
    padding: 12px 20px;
    color: #e0e0e0;
    font-size: 1rem;
    cursor: pointer;
    transition: color 0.3s ease, border-bottom 0.3s ease;
    border-bottom: 3px solid transparent;
}

.admin-tabs .tab-btn:hover {
    color: #f0c419;
}

.admin-tabs .tab-btn.active {
    color: #f0c419;
    border-bottom-color: #f0c419;
    font-weight: 600;
}

.tab-content {
    display: none;
    padding-top: 20px;
}

.tab-content.active {
    display: block;
}

.tab-content h4 {
    color: #f0c419;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

.posts-list {
    margin-top: 2rem;
    border-top: 1px solid #30363d;
    padding-top: 1.5rem;
}

.posts-list .post-item {
    background-color: #161b22;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #30363d;
}

.posts-list .post-item span {
    color: #f0f0f0;
    font-size: 1rem;
}

.posts-list .post-item .post-actions button {
    background-color: #f0c419;
    color: #111;
    border: none;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    margin-left: 10px;
    transition: background-color 0.3s ease;
}

.posts-list .post-item .post-actions button:hover {
    background-color: #ffde59;
}

/* 텔레그램 아이콘 스타일 */
.contact-info-telegram {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}

.telegram-icon {
    width: 60px;
    height: 60px;
    margin-right: 15px;
}

.contact-info-telegram p {
    font-size: 1.5rem;
    color: #f0f0f0;
    margin: 0;
}

.contact-info-telegram strong {
    color: #f0c419;
}

/* 미디어 쿼리 */
@media (max-width: 992px) {
    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }
    .hero-section p { font-size: 1.2rem; }
    .nav-links { display: none; flex-direction: column; width: 100%; position: absolute; top: 100%; left: 0; background-color: rgba(10, 15, 20, 0.95); padding: 1rem 0; box-shadow: 0 8px 15px rgba(0,0,0,0.3); }
    .nav-links.active { display: flex; }
    .nav-links li { margin: 0; text-align: center; }
    .nav-links a { display: block; padding: 15px 20px; border-bottom: 1px solid #1c2128; }
    .mobile-menu-toggle { display: block; }
    .mobile-menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; }
    .mobile-menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

    .solutions-overview-grid {
        grid-template-columns: repeat(2, 1fr); /* 태블릿에서는 2열 유지 */
    }
}

@media (max-width: 768px) {
    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    .hero-section p { font-size: 1rem; }
    .content-section { padding: 60px 0; }
    .section-subtitle { font-size: 1rem; margin-bottom: 2.5rem; }
    .core-values-grid, .features-grid, .portfolio-grid, .blog-grid {
        grid-template-columns: 1fr;
    }
    .solution-card {
        margin-bottom: 20px;
    }
    .solutions-overview-grid {
        grid-template-columns: 1fr; /* 모바일에서는 1열 */
    }
    .footer-content {
        flex-direction: column;
        text-align: center;
    }
    .footer-logo-area, .footer-info, .footer-links {
        width: 100%;
        margin-bottom: 20px;
    }
    .footer-links ul { padding: 0; }
    .contact-info-telegram p {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .container { padding: 0 15px; }
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.6rem; }
    .hero-section p { font-size: 0.9rem; }
    .btn { padding: 10px 20px; font-size: 0.85rem; }
    .logo-img { height: 35px; }
    .nav-links a { padding: 12px 15px; }
    .popup-content { padding: 30px 20px; }
    .popup-content h2 { font-size: 1.6rem; }
    .popup-content p { font-size: 0.95rem; }
    .popup-btn { padding: 10px 20px; font-size: 0.9rem; }
    .modal-content { padding: 20px; }
    .modal-header h3 { font-size: 1.5rem; }
    .modal-close { font-size: 1.8rem; }
    .admin-tabs .tab-btn { padding: 10px 15px; font-size: 0.9rem; }
    .tab-content h4 { font-size: 1.3rem; }
    .posts-list .post-item { flex-direction: column; align-items: flex-start; }
    .posts-list .post-item .post-actions { margin-top: 10px; }
    .posts-list .post-item .post-actions button { margin-left: 0; margin-right: 10px; }
    .contact-info-telegram p {
        font-size: 1rem;
    }
    .telegram-icon {
        width: 40px;
        height: 40px;
    }
}
/* 연락처 정보 노트 스타일 (기존 styles.css 파일 끝에 추가) */
.contact-note {
    text-align: center;
    font-size: 1.1rem;
    color: #b0b0b0;
    margin-top: 1rem;
    font-style: italic;
}

/* FAQ 섹션 최대 높이 조정 (반응형) */
@media (min-width: 768px) {
    .faq-answer.active {
        max-height: 300px; /* 데스크톱에서 더 큰 콘텐츠를 위해 */
    }
}
.partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin-top: 2rem;
}

.partner-card {
    background-color: #1c2128;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    font-size: 1.2rem;
    color: #f0c419;
    border: 1px solid #30363d;
    transition: all 0.3s ease;
    font-weight: 600;
}

.partner-card:hover {
    background-color: #f0c419;
    color: #111;
    transform: translateY(-3px);
}
.partner-notice {
    text-align: center;
    font-size: 1rem;
    color: #b0b0b0;
    margin-top: -1rem;
    margin-bottom: 2rem;
}

.partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin-bottom: 2rem;
}

.partner-card {
    background-color: #1c2128;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    font-size: 1.2rem;
    color: #f0c419;
    border: 1px solid #30363d;
    transition: all 0.3s ease;
    font-weight: 600;
}

.partner-card:hover {
    background-color: #f0c419;
    color: #111;
    transform: translateY(-3px);
}

.partner-commission {
    text-align: center;
    background-color: #161b22;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #30363d;
    max-width: 500px;
    margin: 0 auto;
}

.partner-commission p {
    font-size: 1.1rem;
    margin: 0.5rem 0;
    color: #e0e0e0;
}

.partner-commission span {
    color: #f0c419;
    font-weight: bold;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  margin-top: 2rem;
}

.pricing-item {
  background-color: #1c2128;
  padding: 30px;
  border-radius: 10px;
  border: 1px solid #30363d;
  text-align: center;
  transition: all 0.3s ease;
}

.pricing-item h3 {
  color: #f0c419;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.pricing-item p {
  font-size: 1.1rem;
  color: #e0e0e0;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  margin-top: 2rem;
}

.pricing-item {
  background-color: #1c2128;
  padding: 30px;
  border-radius: 10px;
  border: 1px solid #30363d;
  text-align: center;
  transition: all 0.3s ease;
}

.pricing-item h3 {
  color: #f0c419;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.pricing-item p {
  font-size: 1.1rem;
  color: #e0e0e0;
}
/* ─── 블로그 그리드 레이아웃 ─── */
.blog-grid {
  display: grid;
  /* 화면 크기에 따라 최소 280px씩 자동 배치, 빈공간은 고르게 분배 */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;              /* 카드 사이 간격 */
  padding: 20px 0;        /* 위아래 여백 */
}

/* ─── 개별 포스트 카드 ─── */
.blog-post-card {
  border: 1px solid #ddd; /* 연한 회색 테두리 */
  border-radius: 8px;      /* 모서리 둥글게 */
  overflow: hidden;        /* 모서리 밖 내용 자르기 */
  background: #0d1117;        /* 흰 배경 */
  display: flex;
  flex-direction: column;  /* 이미지 + 본문 세로 배치 */
}

/* ─── 썸네일 이미지 고정 크기 ─── */
.blog-post-card img {
  width: 100%;             /* 카드 전체 너비 */
  height: 180px;           /* 높이 고정 */
  object-fit: cover;       /* 잘라내기 방식으로 꽉 채우기 */
  display: block;          /* 여백 없애기 */
}

/* ─── 카드 내용 영역 ─── */
.blog-post-card-body {
  padding: 16px;           /* 안쪽 여백 */
  flex: 1;                 /* 남은 공간 모두 차지 */
  display: flex;
  flex-direction: column;  /* 제목/메타/요약 세로 배치 */
}

/* 제목, 메타, 요약 스타일 */
.blog-post-title {
  margin: 8px 0 4px;
  font-size: 1.2em;
}
.blog-post-meta {
  font-size: 0.9em;
  color: #666;
  margin-bottom: 8px;
}
.blog-post-excerpt {
  flex: 1;                 /* 요약이 남은 영역 차지 */
  margin-bottom: 12px;
  line-height: 1.4;
}

/* 카테고리 뱃지 */
.badge-category {
  display: inline-block;
  background: #eef;
  color: #225;
  padding: 2px 6px;
  font-size: 0.8em;
  border-radius: 4px;
  margin-bottom: 8px;
}
.blog-post-tags { margin-top:8px; }
.blog-post-tags .tag {
  display:inline-block;
  background:#eef;
  color:#225;
  padding:2px 6px;
  margin-right:4px;
  border-radius:4px;
  font-size:0.8em;
}


/* 1) popup-content 기준 설정 */
.popup-content {
  position: relative;
}

/* 2) 헤더 블록: flex로 좌/우 끝에 배치 */
.popup-header {
  position: absolute;
  top: 5px;
  right: 16px;
  display: flex;              /* 필수: 가로로 나란히 */
  align-items: center;        /* 세로 중앙 정렬 */
  gap: 12px;                  /* 요소 사이 간격 */
  white-space: nowrap;        /* 한 줄 유지 */
}

/* 3) ‘오늘 하루 보지 않기’ */
#dontShowToday {
  font-size: 0.9em;
  color: #ccc;
  cursor: pointer;
}

/* 4) 닫기(X) 버튼: 절대위치 무력화 + 크기·색상 조정 */
.popup-header .popup-close {
  position: static !important;   /* ← 절대위치 해제 */
  right: auto !important;        /* 불필요 속성 무력화 */
  top: auto !important;          /* 불필요 속성 무력화 */
  font-size: 1.8em;              /* 크기 크게 */
  font-weight: bold;             /* 굵게 */
  color: #FFC107;                /* 선명한 노란색 */
  background: none;
  border: none;
  line-height: 1;
  cursor: pointer;
}
/* ─── 모든 솔루션 카드 이미지 높이 고정 ─── */
.solution-card img {
  width: 100%;
  height: 200px;      /* 원하시는 높이로 조정하세요 */
  object-fit: cover;
  display: block;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
/* ─── SAMPLE 섹션 그리드 레이아웃 ─── */
.sample-group {
  margin-bottom: 40px; /* 그룹 사이 여백 */
}
.sample-group h3 {
  font-size: 1.4rem;
  color: #FFC107;      /* 노란색 타이틀 */
  margin-bottom: 16px;
}
.sample-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;           /* 카드 사이 간격 */
}

/* ─── 샘플 카드 공통 스타일 ─── */
.sample-card {
  display: block;
  background-color: #1e1e1e;
  color: #FFC107;
  text-align: center;
  padding: 20px;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.3s;
}
.sample-card:hover {
  background-color: #333;
}
/* 블로그 상세 본문에서 줄바꿈·띄어쓰기 그대로 보이게 */
#postDetailContent {
  white-space: pre-wrap;
  word-break: break-word;
}
/* 솔루션 안내 섹션 (#solutions-overview) */
.solutions-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 2rem;
}

/* 태블릿 이상에서 2-3 배치 */
@media (min-width: 768px) and (max-width: 1200px) {
    .solutions-overview-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 데스크톱에서 최적 배치 */
@media (min-width: 1200px) {
    .solutions-overview-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .solutions-overview-grid .solution-card:nth-child(4),
    .solutions-overview-grid .solution-card:nth-child(5) {
        grid-column: span 1;
    }
}
/* ====== 이벤트 배너 스타일 ====== */
.event-banner {
  background-color: #fff3cd;   /* 연한 노란색 배경 */
  border: 2px dashed #ffc107;  /* 노란색 점선 테두리 */
  margin-top: 40px;            /* 위쪽 띄어쓰기 */
  text-align: center;          /* 가운데 정렬 */
  padding: 24px 0;             /* 위아래 패딩 */
}
.event-banner .container {
  max-width: 800px;            /* 배너 너비 제한 */
  margin: 0 auto;              /* 좌우 중앙 정렬 */
}
.event-banner h2 {
  font-size: 1.6em;            /* 제목 크게 */
  margin-bottom: 12px;         /* 제목 아래 여백 */
  color: #856404;              /* 어두운 갈색 글씨 */
}
.event-banner p {
  font-size: 1.1em;            /* 본문 조금 키우기 */
  line-height: 1.5;            /* 줄 간격 */
  color: #856404;
}
.event-banner p strong {
  color: #d39e00;              /* 강조 텍스트 색상 */
}
