/*@import url('https://fonts.googleapis.com/earlyaccess/cwtexyen.css');
@import url('https://fonts.googleapis.com/css2?family=Chiron+GoRound+TC:wght@200..900&family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');*/

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Noto+Sans+JP:wght@100..900&display=swap');

/*.chiron-goround-tc-<uniquifier> {
  font-family: "Chiron GoRound TC", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}*/


body {
    /*font-family: 'cwTeXYen', 'Microsoft JhengHei', sans-serif;
	font-family: "Zen Maru Gothic", sans-serif;
	font-family: "M PLUS Rounded 1c", sans-serif;*/
	font-family:"Noto Sans JP", sans-serif;
    font-weight: 500;
    background-color: #f4f4f4;
    margin: 0;
    padding: 0;
}

h2{ font-weight: 400;
	}
.w-80{
	width:80vw;
	margin: auto;
}
.grid-container {
    display: grid;
    /* 這裡設定每格最小 280px，畫面變寬會自動增加格數 */
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.2s;
	padding: 20px 0;
}

.card:hover {
    transform: translateY(-5px); /* 滑鼠移過去會有浮起效果 */
}

.card-img img {
	margin: auto;
    width: 90%;
    height: 155px;
    object-fit: cover;
    display: block;
	border: 1px solid #ccc;
}

.card-body {
    padding: 15px;
}
.card-body badge{
    width:70px;
	height:20px;
	font-size: 0.7em;
	padding-top: 3px;
	margin: 10px 0;
	text-align: center;
	display:inline-block;
	border-radius: 10px;
	background-color:royalblue;
	color:#fff;
}
.card-body h5 {
    margin: 10px 0 10px 0;
    font-size: 0.8rem;
	line-height: 1em;
    color: #333;
	text-decoration: underline;
}
.card-body h3 {
    margin: 0 0 10px 0;
    font-size: 1.2rem;
    color: #333;
}

.card-body p {
    margin: 0;
    color: #666;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* --- 以下為新增的 Modal 樣式 --- */

/* 1. 讓原本卡片裡的圖片游標變成「放大鏡」，提示可點擊 */
.card-img img {
    cursor: zoom-in; 
}

/* 2. 彈跳視窗的背景 (預設隱藏 display: none) */
.modal {
    display: none; 
    position: fixed; 
    z-index: 1000; /* 確保在最上層 */
    padding-top: 60px; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgb(0,0,0); /* 純黑備用 */
    background-color: rgba(0,0,0,0.9); /* 黑色半透明 */
}

/* 3. 放大後的圖片樣式 */
.modal-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 800px; /* 最大寬度限制 */
    max-height: 80vh; /* 高度不超過視窗 80% */
    object-fit: contain;
    animation-name: zoom;
    animation-duration: 0.3s;
}

/* 4. 圖片標題 (Caption) */
#caption {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: 150px;
}

/* 5. 放大動畫效果 */
@keyframes zoom {
    from {transform:scale(0)} 
    to {transform:scale(1)}
}

/* 6. 關閉按鈕 (X) */
.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* 手機版調整：圖片寬度佔滿 */
@media only screen and (max-width: 700px){
    .modal-content {
        width: 100%;
    }
}
/* 卡片淡入動畫 */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(15px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .card {
            /* 套用動畫，時間 0.4 秒 */
            animation: fadeInUp 0.4s ease-out forwards;
        }