@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap');
        
        /* Reset & Base Styles */
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: 'Noto Sans KR', sans-serif; background-color: #f5f5f5; color: #333; }
        a { text-decoration: none; color: inherit; }
        button { border: none; background: none; cursor: pointer; font-family: inherit; }

        /* Main Container */
		.contents { width:100%; background-color: #f5f5f5; }
        .runtrip { 
            width: 1220px;
            margin: 0 auto;
            padding: 40px 20px;
			background-color: #f5f5f5; 
        }

        /* Header Section - Single Line Layout (Sticky 적용) */
        .runtrip-header {
            margin-bottom: 20px;
            display: flex;              
            align-items: center;        
            justify-content: space-between; 
            flex-wrap: wrap;            
            gap: 20px;

            /* Sticky Styles added */
            position: sticky;
            top: 0;
            z-index: 1000;
            background-color: #f5f5f5; /* 본문 배경색과 동일하게 설정하여 가독성 확보 */
            padding: 15px 0; /* 고정되었을 때 여백 확보 */
            border-bottom: 2px solid rgba(0,0,0); /* 선택사항: 스크롤 시 구분선 효과border-bottom: 2px solid rgba(0,0,0,0.05) */
        }
        
        .runtrip-title {
            font-size: 28px; letter-spacing:-2px;
            font-weight: 800;
            margin-bottom: 0;
            display: flex;
            align-items: center;
            gap: 10px;
            white-space: nowrap;
        }
        
        .title-bar {
            display: block;
            width: 5px;
            height: 24px;
            background-color: #000;
        }

        /* Category Buttons */
        .runtrip-category {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
        }

        .category-btn {
            padding: 6px 16px;
            border-radius: 999px;
            border: 1px solid #ddd;
            background-color: #fff;
            color: #666;
            font-size: 14px;
            font-weight: 500;
            transition: all 0.2s;
        }

        .category-btn:hover {
            background-color: #f0f0f0;
        }

        .category-btn.active {
            background-color: #000;
            color: #fff;
            border-color: #000;
        }

        /* Slider Section */
        .runtrip-slider {
            position: relative;
            margin-bottom: 40px;
            display: flex;
            align-items: center;
        }

        .runtrip-scroll-wrap {
            overflow: hidden;
            width: 100%;
        }

        .runtrip-list { 
            display: flex;
            gap: 20px;
            overflow-x: auto;
            scroll-behavior: smooth;
            padding: 0 5px 10px 5px;
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        
        .runtrip-list::-webkit-scrollbar {
            display: none;
        }

        /* Card Styles */
        .runtrip-card {
            flex: 0 0 auto;
            width: 320px;
            overflow: hidden;
            box-shadow: 0 4px 10px rgba(0,0,0,0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
            background: #fff;
			border-radius:10px;
        }

        .runtrip-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.15);
        }

        .runtrip-card img {
            object-fit: cover;
            display: block;
        }

        /* Navigation Buttons */
        .nav-btn {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: #fff;
            box-shadow: 0 2px 8px rgba(0,0,0,0.15);
            font-size: 24px;
            line-height: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            z-index: 10;
            transition: all 0.2s;
        }
		
		/* SVG Icon styling inside buttons */
        .nav-btn svg {
            width: 24px;
            height: 24px;
            stroke: currentColor;
            stroke-width: 2;
            fill: none;
        }
		
        .nav-btn:hover {
            background-color: #000;
            color: #fff;
        }

        .nav-btn.prev { left: -20px; }
        .nav-btn.next { right: -20px; }

        @media (max-width: 768px) {
            .nav-btn { display: none; }
            .runtrip-card { width: 80vw; }
            .nav-btn.prev { left: 10px; }
            .nav-btn.next { right: 10px; }
        }

        /* Detail Section */
        .runtrip-detail { 
            display: none;
            width: 100%;
            background-color: #fff;
            overflow: hidden;
            margin-top: 20px;
			text-align:center;
			/* [수정] 스크롤 시 Sticky Header(높이 약 80~100px 예상)에 가려지지 않도록 상단 여백 확보 */
            scroll-margin-top: 120px;
        }

        .runtrip-detail.active {
            display: block;
            animation: slideDown 0.4s ease-out;
        }

        .runtrip-detail img {
            height: auto;
            display: block;
			margin:0 auto;
        }
        
        /* 닫기 버튼 추가 (Detail 내부에 동적으로 생성하거나 스타일만 지정) */
        .close-detail-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            background: rgba(0,0,0,0.6);
            color: white;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            font-size: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
        }

        @keyframes slideDown {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .hidden {
            display: none !important;
        }

#detailImageContainer img {
            max-width: 100%;
            height: auto;
            display: block;
            margin: 0 auto;
        }
        
        /* 링크가 걸린 이미지일 경우 a 태그 스타일 */
        #detailImageContainer a {
            display: block;
            width: 100%;
            cursor: pointer;
        }
        
        /* 닫기 버튼 스타일 (필요시 사용) */
        .close-detail-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            background: rgba(0,0,0,0.6);
            color: white;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            font-size: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
            border: none;
            cursor: pointer;
        }

        .runtrip-detail {
            position: relative; /* 닫기 버튼 위치 잡기 위해 추가 */
            min-height: 100px;
        }