.no-title { padding-right: 5px; padding-left: 5px; }
.portfolio-item a.popup { right: 10px; }
.no-title .portfolio-item .portfolio-overlay { padding: 10px; }
.tp-caption.NotGeneric-Title, .NotGeneric-Title { font-family: 'Noto Serif TC', 'Microsoft JhengHei', '微軟正黑體', 'Montserrat', sans-serif; }
.tp-caption.NotGeneric-SubTitle, .NotGeneric-SubTitle { font-family: 'Microsoft JhengHei', '微軟正黑體', 'Montserrat', sans-serif; }
.tp-carousel-wrapper { cursor: pointer; }

/* Dots */
.owl-carousel .owl-item img {    /*width: auto;*/ }
.owl-carousel .owl-nav { z-index: 999; width: 100%; cursor: pointer; }
.owl-carousel .owl-nav .owl-prev { position: absolute; top: 50%; left: -.75rem; display: inline-block; width: auto; margin: 0 !important; cursor: pointer; transition: all .2s ease; transform: translateY(-50%); text-indent: inherit; }
.owl-carousel .owl-nav .owl-next { position: absolute; top: 50%; right: -.75rem; display: inline-block; width: auto; margin: 0 !important; cursor: pointer; transition: all .2s ease; transform: translateY(-50%); text-indent: inherit; }
.owl-carousel .owl-nav i { font-size: 20px; font-weight: normal; line-height: 36px; display: inline-block; width: 36px; height: 36px; transition: all .25s ease; text-align: center; color: #fff; border: 0 solid #3d3d3d; border-radius: 50%; background: #0079fc; }
.owl-carousel .owl-nav i:hover { color: #fff; background: #333; }
.owl-carousel .owl-controls .owl-dot { display: inline-block; margin: 0; }
.owl-carousel .owl-dots { display: inline-block; width: 100%; margin-top: 20px; cursor: pointer; text-align: center; text-indent: inherit; }
.owl-carousel .owl-dots .owl-dot span { display: inline-block; width: 12px; min-height: 12px; margin-top: 5px; cursor: pointer; transition: all .5s ease; border-radius: 3px; background: #ddd; }
.owl-carousel .owl-dots .owl-dot:hover span { min-height: 17px; margin-top: 0; background: #0079fc; }
.owl-carousel .owl-dots .owl-dot.active span { min-height: 17px; margin-top: 0; background: #0079fc; }
.owl-carousel .owl-dot { display: inline-block; margin: 14px 2px 0; }
.fast-banner img { max-width: 180px; }
.fast-banner .text { font-size: 1rem; font-weight: bold; text-align: center; }
.owl-item a { color: #666; }
.owl-item a:hover { color: #0079fc; }

/* 外層容器 */
.career-category-section { box-sizing: border-box; width: 100%; padding: 40px 15px; background-color: #f7f7f7; /* 背景淺灰底色，若直接放入現有區塊可視情況移除 */ }
.career-container { display: flex; flex-direction: column; max-width: 1140px; margin: 0 auto; gap: 22px; /* 每一大類間距 */ }

/* 單一大類橫列 */
.category-row { display: flex; align-items: center; gap: 24px; }

/* 左側大類標題卡片 */
.category-header { display: flex; box-sizing: border-box; padding: 16px 20px; border-radius: 6px; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .04); flex: 0 0 240px; /* 固定寬度，與右側按鈕整齊切齊 */ align-items: center; justify-content: center; gap: 12px; }
.category-icon { font-size: 2rem; line-height: 1; }
.category-icon-img { width: 46px; height: 46px; object-fit: contain; }
.category-title { font-size: 1.35rem; font-weight: 600; margin: 0; letter-spacing: 2px; color: #333; }

/* 右側項目網格排版 (預設三欄排列，與原圖對齊) */
.category-items { display: grid; flex: 1; grid-template-columns: repeat(3, 1fr); gap: 14px 18px; }

/* 黃色子項目按鈕 (預設連結樣式) */
.item-badge { font-size: 1.05rem; font-weight: 500; display: flex; box-sizing: border-box; padding: 12px 14px; transition: all .2s ease-in-out; text-align: center; text-decoration: none; color: #2c2c2c; border-radius: 6px; background-color: #f6c84c; /* 與原圖相符之金黃色 */ box-shadow: 0 2px 4px rgba(0, 0, 0, .05); align-items: center; justify-content: center; }

/* 滑鼠懸停與點擊反饋效果 */
.item-badge:hover { transform: translateY(-1.5px); color: #111; background-color: #eab832; box-shadow: 0 4px 8px rgba(0, 0, 0, .12); }
.item-badge:active { transform: translateY(0); }

/* 響應式：平板與手機螢幕調整 */
@media (max-width:992px) {
  .category-row { flex-direction: column; align-items: stretch; gap: 12px; }
  .category-header { width: 100%; flex: none; }
  .category-items { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width:576px) {
  .category-items { grid-template-columns: 1fr; /* 小螢幕單欄直式排列 */ }
}
