/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

.expo-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 20px;
  }
  
  .expo-card.expo-horizontal {
	display: flex;
	gap: 24px;
	max-width: 900px;
	width: 100%;
	border: 1px solid #ccc;
	padding: 20px;
	border-radius: 12px;
	background: #fff;
	align-items: flex-start;
  }  
  
  .expo-thumb img {
	width: 320px;
	height: auto;
	object-fit: cover;
  }
  
  .expo-content h3 {
	margin: 0 0 5px;
  }
  
  .expo-date, .expo-location, .expo-status {
	font-size: 14px;
	margin-bottom: 5px;
  }
  
  .expo-status.진행중 { color: green; font-weight: bold; }
  .expo-status.마감 { color: gray; }
  .expo-status.예정 { color: orange; }
  
  .expo-btn {
	display: inline-block;
	margin-top: 10px;
	padding: 8px 12px;
	background: #333;
	color: white;
	text-decoration: none;
	border-radius: 4px;
  }
  

  .category-section {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 40px;
  }
  
  .expo-card {
	border: 1px solid #ccc;
	padding: 16px;
	border-radius: 12px;
	width: 300px;
	box-shadow: 2px 4px 8px rgba(0,0,0,0.05);
	transition: 0.3s;
  }
  
  .expo-card:hover {
	box-shadow: 2px 6px 14px rgba(0,0,0,0.15);
  }

  .expo-card.expo-horizontal {
    display: flex;
    flex-direction: row;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s;
}

.expo-card.expo-horizontal:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.1);
}

.expo-thumb {
    flex: 0 0 320px;
}

.expo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.thumb-placeholder {
    width: 320px;
    height: 320px;
    background: #f0f0f0;
    color: #888;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 8px;
}

.expo-info {
    flex: 1;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.expo-info h3 {
    font-size: 18px;
    margin: 0 0 10px;
    color: #222;
}

.expo-meta {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

.expo-desc {
    font-size: 15px;
    color: #444;
    line-height: 1.6;
}

.expo-btn-wrap {
    margin-top: auto;
    text-align: right;
}

.expo-btn {
    background-color: #0073aa;
    color: white;
    padding: 8px 14px;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
}

.expo-btn:hover {
    background-color: #005f8c;
}

/* 반응형 대응 */
@media (max-width: 768px) {
    .expo-card.expo-horizontal {
        flex-direction: column;
    }

    .expo-thumb,
    .thumb-placeholder {
        width: 100%;
    }

    .expo-info {
        padding: 16px;
    }

    .expo-btn-wrap {
        text-align: left;
        margin-top: 12px;
    }
}


/* 메인용 */

.expo-main-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto 60px;
    padding: 0 16px;
    box-sizing: border-box;
}

.expo-card-vertical {
    width: 320px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
	flex-basis: 20%;
    align-items: center;
    text-align: center;
    padding: 20px 12px;
}

.expo-card-vertical:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

.expo-title {
    font-size: 16px;
    font-weight: 700;
    color: #222;
    margin: 10px 0 6px;
}

.expo-date {
    font-size: 13px;
    color: #ff4d4d;
    margin-bottom: 10px;
	font-weight: bold;
}

.expo-thumb-vertical {
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: contain; /* 잘리지 않게 */
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    background-color: #f8f8f8;
}

.thumb-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
    font-size: 14px;
}

.expo-location {
    font-size: 13px;
    color: #444;
    margin: 8px 0;
}

.expo-desc {
    font-size: 13px;
    color: #555;
    line-height: 1.5;
    margin: 0 0 12px;
    padding: 0 6px;
}

.expo-status {
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    width: fit-content;
    color: #ffffff !important;
}

.expo-status.진행중 {
    background-color: #28a745;
}

.expo-status.예정 {
    background-color: #f0ad4e;
}

.expo-status.마감 {
    background-color: #6c757d;
}


.expo-btn-vertical {
    background-color: #20b9ff;
    color: white;
    text-decoration: none;
    padding: 8px 14px;
    font-size: 16px;
	font-weight: bold;
    display: inline-block;
    border-radius: 6px;
    margin-top: 8px;
    transition: background 0.2s;
}

.expo-btn-vertical:hover {
    background-color: #005f8c;
}

.custom-top-menu ul {
  list-style: none;
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.custom-top-menu ul li {
  position: relative;
}

.custom-top-menu ul li a {
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  display: block;
  background-color: #2c3e50;
  border-radius: 4px;
}

.custom-top-menu ul li ul {
  display: none;
  position: absolute;
  top: 36px;
  left: 0;
  background-color: #34495e;
  padding: 10px;
  border-radius: 4px;
  z-index: 9999;
}

.custom-top-menu ul li:hover ul {
  display: block;
}

/* 기본 메뉴 줄바꿈 제거 및 가로 정렬 */
.wed-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.wed-nav li {
  position: relative;
}

.wed-nav li a {
  text-decoration: none;
  background-color: #2c3e50;
  color: white;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 14px;
  display: block;
  transition: background 0.2s;
}

.wed-nav li a:hover {
  background-color: #1a252f;
}

@media (max-width: 768px) {
  .expo-main-list {
    flex-direction: column;
    align-items: center;
  }

  .expo-card-vertical {
    width: 90%;
    max-width: 360px;
    flex-basis: unset; /* 기본 비율 무시 */
  }
}


/* 드롭다운 */
.wed-nav li ul {
  display: none;
  position: absolute;
  top: 40px;
  left: 0;
  flex-direction: column;
  background-color: #34495e;
  padding: 10px;
  border-radius: 6px;
  z-index: 1000;
}

.wed-nav li:hover > ul {
  display: block;
}

.wed-nav li ul li {
  margin: 0;
  padding: 0;
}

