.elementor-46 .elementor-element.elementor-element-20dca89{--display:flex;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--margin-top:120px;--margin-bottom:120px;--margin-left:0px;--margin-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Serif;font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-46 .elementor-element.elementor-element-1fe8f66{--grid-columns:3;}.elementor-46 .elementor-element.elementor-element-bad88a3{--grid-columns:3;}@media(max-width:1024px){.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-46 .elementor-element.elementor-element-1fe8f66{--grid-columns:2;}.elementor-46 .elementor-element.elementor-element-bad88a3{--grid-columns:2;}}@media(max-width:767px){.elementor-46 .elementor-element.elementor-element-20dca89{--margin-top:40px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-46 .elementor-element.elementor-element-1fe8f66{--grid-columns:1;}.elementor-46 .elementor-element.elementor-element-bad88a3{--grid-columns:1;}}/* Start custom CSS *//* ========================= */
/* Case：Loop Grid 包覆修正   */
/* ========================= */
.elementor-widget-loop-grid,
.elementor-widget-loop-grid .elementor-widget-container {
  position: relative;
  overflow: hidden;
  contain: layout paint;
}

.elementor-section .elementor-widget-loop-grid,
.e-con .elementor-widget-loop-grid {
  position: relative;
}

/* ========================= */
/* Case：Loop Item 卡片基礎   */
/* ========================= */
.e-loop-item {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: 1px;
}

/* ========================= */
/* Case：Loop Grid 與 Footer 安全間距 */
/* ========================= */
.elementor-widget-loop-grid { 
  margin-bottom: 48px;
}

/* ========================= */
/* Case：Footer 層級修正      */
/* ========================= */
.site-footer,
.ast-footer-wrap,
.elementor-location-footer {
  position: relative;
  z-index: 10;
  background-color: inherit;
}

/* ========================= */
/* Case：移除舊 has() 副作用  */
/* ========================= */
.elementor-element:has(> .loop-1x1 + .elementor-widget-theme-post-title) {
  display: block !important;
  position: static !important;
  overflow: visible !important;
}

/* ========================= */
/* Case：圖片固定 1:1 方形     */
/* ========================= */
.loop-1x1 {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;    /* 直接由瀏覽器算高度 */
  overflow: hidden;
}

.loop-1x1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  max-width: none !important; /* 避免 Elementor/主題限制 */
}

/* ========================= */
/* Case：手機版標題顯示（常駐）*/
/* ========================= */
@media (max-width: 767.98px) {
  .e-loop-item .loop-1x1 + .elementor-widget-theme-post-title {
    position: static !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    margin-top: 8px;
  }
}

/* ========================= */
/* Case：桌機 Hover 標題浮動  */
/* ========================= */
@media (min-width: 768px) {
  .e-loop-item .loop-1x1 + .elementor-widget-theme-post-title {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    text-align: center;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    will-change: opacity;
  }

  .e-loop-item:hover .loop-1x1 + .elementor-widget-theme-post-title,
  a:focus-visible .loop-1x1 + .elementor-widget-theme-post-title {
    opacity: 1;
    visibility: visible;
  }
}/* End custom CSS */