.elementor-773 .elementor-element.elementor-element-78162db{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-773 .elementor-element.elementor-element-016aecb{--display:flex;--min-height:600px;--justify-content:flex-end;--overlay-opacity:0.39;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-773 .elementor-element.elementor-element-016aecb:not(.elementor-motion-effects-element-type-background), .elementor-773 .elementor-element.elementor-element-016aecb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.jostan.com.tw/wp-content/uploads/2025/03/case-bn.jpg");background-position:center center;background-size:cover;}.elementor-773 .elementor-element.elementor-element-016aecb::before, .elementor-773 .elementor-element.elementor-element-016aecb > .elementor-background-video-container::before, .elementor-773 .elementor-element.elementor-element-016aecb > .e-con-inner > .elementor-background-video-container::before, .elementor-773 .elementor-element.elementor-element-016aecb > .elementor-background-slideshow::before, .elementor-773 .elementor-element.elementor-element-016aecb > .e-con-inner > .elementor-background-slideshow::before, .elementor-773 .elementor-element.elementor-element-016aecb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#111111;--background-overlay:'';}.elementor-773 .elementor-element.elementor-element-33083ed{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:-6%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:2%;--padding-bottom:0%;--padding-left:12%;--padding-right:0%;}.elementor-773 .elementor-element.elementor-element-33083ed:not(.elementor-motion-effects-element-type-background), .elementor-773 .elementor-element.elementor-element-33083ed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-773 .elementor-element.elementor-element-692aa5e{font-family:"Cinzel", Sans-serif;font-weight:400;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-773 .elementor-element.elementor-element-20fce6a{--display:flex;--margin-top:-3%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:12%;--padding-right:12%;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-773 .elementor-element.elementor-element-cc4ac2d > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0% 0% 04% 0%;}.elementor-773 .elementor-element.elementor-element-cc4ac2d.elementor-element{--align-self:flex-end;}.elementor-773 .elementor-element.elementor-element-cc4ac2d{color:#FFFFFFA3;}.elementor-773 .elementor-element.elementor-element-cc4ac2d a{color:#FFFFFFD6;}.elementor-773 .elementor-element.elementor-element-cc4ac2d a:hover{color:#FFFFFF;}.elementor-773 .elementor-element.elementor-element-45b37ac{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:8%;--padding-bottom:08%;--padding-left:12%;--padding-right:12%;}.elementor-773 .elementor-element.elementor-element-45b37ac:not(.elementor-motion-effects-element-type-background), .elementor-773 .elementor-element.elementor-element-45b37ac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#151515;}.elementor-773 .elementor-element.elementor-element-25585fe{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:600px){.elementor-773 .elementor-element.elementor-element-33083ed{--width:46%;}}@media(max-width:1520px) and (min-width:600px){.elementor-773 .elementor-element.elementor-element-33083ed{--width:52%;}}@media(max-width:880px) and (min-width:600px){.elementor-773 .elementor-element.elementor-element-33083ed{--width:60%;}}@media(max-width:1520px){.elementor-773 .elementor-element.elementor-element-016aecb{--min-height:420px;}.elementor-773 .elementor-element.elementor-element-20fce6a{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-end;}.elementor-773 .elementor-element.elementor-element-cc4ac2d > .elementor-widget-container{padding:0% 0% 04% 0%;}}@media(max-width:1200px){.elementor-773 .elementor-element.elementor-element-016aecb{--min-height:360px;}.elementor-773 .elementor-element.elementor-element-cc4ac2d > .elementor-widget-container{padding:0% 0% 5% 0%;}}@media(max-width:1024px){.elementor-773 .elementor-element.elementor-element-016aecb{--min-height:300px;}.elementor-773 .elementor-element.elementor-element-33083ed{--margin-top:-10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}}@media(max-width:880px){.elementor-773 .elementor-element.elementor-element-33083ed{--padding-top:04%;--padding-bottom:0%;--padding-left:4%;--padding-right:0%;}.elementor-773 .elementor-element.elementor-element-20fce6a{--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:04%;}.elementor-773 .elementor-element.elementor-element-cc4ac2d > .elementor-widget-container{padding:0% 0% 0% 0%;}.elementor-773 .elementor-element.elementor-element-45b37ac{--padding-top:0%;--padding-bottom:0%;--padding-left:8%;--padding-right:08%;}}@media(max-width:599px){.elementor-773 .elementor-element.elementor-element-33083ed{--width:73%;--gap:26px 26px;--row-gap:26px;--column-gap:26px;--margin-top:-19%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:0%;--padding-left:04%;--padding-right:4%;}.elementor-773 .elementor-element.elementor-element-20fce6a{--justify-content:flex-start;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-773 .elementor-element.elementor-element-cc4ac2d > .elementor-widget-container{padding:0% 0% 0% 0%;}.elementor-773 .elementor-element.elementor-element-cc4ac2d.elementor-element{--align-self:flex-start;}.elementor-773 .elementor-element.elementor-element-45b37ac{--padding-top:6%;--padding-bottom:0%;--padding-left:4%;--padding-right:04%;}}/* Start custom CSS for html, class: .elementor-element-170ccb7 *//* 篩選器樣式 (可選，與之前版本相同) */
.case-filters-wrapper {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    justify-content:flex-start;
}

.filter-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.filter-group label {
    font-weight: bold;
    margin-bottom: 8px;
    color: #333;
    font-size: 1em;
}

.filter-group select,
.filter-group button {
    border-radius: 0!important;
  padding: 10px 40px 10px 15px;
    border: 1px solid #ddd;
    font-size: 1em;
    background: #111;
    color: #fff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
}

.filter-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 6.757 7.586 5.343 9l4.95 4.95z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

#clear-filters-btn {
    background: transparent;
    color: #fff;
    border: none;
    transition: background-color 0.2s ease;
    padding: 10px 20px;
}
#clear-filters-btn:before {
  content: "✕"; /* 或 "×" */
  display: inline-block;
  margin-right: 6px;
  font-size: 14px;
  color: #fff; /* 可改顏色 */
}
/* 圖片網格容器和項目樣式 */
.waterfall-container {
    /* 使用 CSS Grid 實現網格佈局 */
    display: grid;
    /* 預設為一排四個，每個等寬 */
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 15px; /* 圖片間距 */
    padding: 0;
}

/* 瀑布流項目樣式，已調整為固定高度的網格項目 */
.waterfall-item {
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    /* 確保所有圖片容器高度一致，以實現整齊排列 */
    aspect-ratio: 1 / 1; /* 這裡可以調整為你希望的長寬比，例如 4/3 或 16/9 */
}

.waterfall-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

.waterfall-item img {
    width: 100%;
    height: 100%; /* 圖片填滿容器 */
    object-fit: cover; /* 圖片等比例縮放以填滿容器，裁切多餘部分 */
    display: block;
}
.no-results-found{
    color: #fff;
}
.case-lightbox, .case-lightbox img{
      height: 100%!important;  
}
@media(max-width:768px){
    .filter-group{
        width:47%;
    }
    .filter-group select,
.filter-group button {
        min-width: 100%;
        padding: 10px;
}
}
@media (min-width: 600px) and (max-width: 1024px) {
    .waterfall-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 螢幕寬度小於 600px，一排顯示兩個 */
@media (max-width: 599px) {
    .waterfall-container {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ===========================
   Lightbox 核心樣式
   =========================== */

/* 讓縮圖有放大指標（可選） */
.waterfall-container .waterfall-item a {
  display: block;
  cursor: zoom-in;
}

/* 外層遮罩 */
.simple-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.85);
  display: none;                /* 透過 .open 切換 */
  align-items: center;
  justify-content: center;
  z-index: 9999;                /* 蓋過 Elementor */
  backdrop-filter: blur(2px);   /* 視覺更柔和（支援則生效） */
}
.simple-lightbox.open { display: flex; }

/* 內容容器（限制最大顯示尺寸） */
.simple-lightbox__inner {
  position: relative;
  max-width: 92vw;
  max-height: 92vh;
  animation: lb-zoom-in .18s ease-out;
}

/* 顯示的大圖 */
.simple-lightbox__img {
  max-width: 92vw;
  max-height: 92vh;
  width: auto;
  height: auto;
  display: block;
  box-shadow: 0 12px 32px rgba(0,0,0,.5);
  border-radius: 2px;
  image-rendering: auto;
}

/* 關閉 / 上一張 / 下一張 */
.simple-lightbox__close,
.simple-lightbox__prev,
.simple-lightbox__next {
  position: absolute;
  color: #fff;
  cursor: pointer;
  user-select: none;
  font-size: 24px;
  line-height: 1;
  padding: 12px 14px;
  min-width: 40px;              /* 觸控友善 */
  min-height: 40px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  transition: background .15s ease, transform .15s ease;
}

/* hover/active 狀態 */
.simple-lightbox__close:hover,
.simple-lightbox__prev:hover,
.simple-lightbox__next:hover {
  background: rgba(0,0,0,.55);
  transform: translateY(-1px);
}
.simple-lightbox__close:active,
.simple-lightbox__prev:active,
.simple-lightbox__next:active {
  transform: translateY(0);
}

/* 位置 */
.simple-lightbox__close { top: 10px; right: 10px; }
.simple-lightbox__prev  { top: 50%; left: -56px; transform: translateY(-50%); }
.simple-lightbox__next  { top: 50%; right: -56px; transform: translateY(-50%); }

/* 以符號顯示圖示（不依賴字型） */
.simple-lightbox__close::before { content: "✕"; font-size: 20px; }
.simple-lightbox__prev::before  { content: "‹"; font-size: 26px; }
.simple-lightbox__next::before  { content: "›"; font-size: 26px; }

/* 標題（若之後要顯示，可用這個 class） */
.simple-lightbox__caption {
  margin-top: 10px;
  color: #eee;
  font-size: 14px;
  text-align: center;
}


@media (max-width: 1024px) {
  .simple-lightbox__prev { left: 8px; }
  .simple-lightbox__next { right: 8px; }
}

/* 進場動畫 */
@keyframes lb-zoom-in {
  from { transform: scale(.98); opacity: .8; }
  to   { transform: scale(1);   opacity: 1; }
}


.simple-lightbox__img,
.waterfall-container .waterfall-item img {
  -webkit-user-drag: none;
  user-select: none;
}/* End custom CSS */