.elementor-587 .elementor-element.elementor-element-e38b889{--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-587 .elementor-element.elementor-element-614437b{--display:flex;--margin-top:19%;--margin-bottom:15%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-587 .elementor-element.elementor-element-5823de1 .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:60px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:75px;word-spacing:0em;color:var( --e-global-color-secondary );}.elementor-587 .elementor-element.elementor-element-e36aea8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:32px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;word-spacing:0em;color:#FFFFFF;}.elementor-587 .elementor-element.elementor-element-1f67fb3{--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;--border-radius:50px 50px 0px 0px;--margin-top:-80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-1f67fb3:not(.elementor-motion-effects-element-type-background), .elementor-587 .elementor-element.elementor-element-1f67fb3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-587 .elementor-element.elementor-element-ef0734a{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-587 .elementor-element.elementor-element-ef0734a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-587 .elementor-element.elementor-element-cc67a19{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-justify-content:flex-start;--e-filter-item-width:initial;--e-filter-item-flex-grow:0;--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;--e-filter-normal-text-color:var( --e-global-color-text );--e-filter-hover-text-color:var( --e-global-color-secondary );--e-filter-active-text-color:var( --e-global-color-secondary );--e-filter-item-border-radius:20px 20px 20px 20px;}.elementor-587 .elementor-element.elementor-element-cc67a19 .e-filter-item:not( [aria-pressed=true] ):not( :hover ){background-color:#E9E9E9;}.elementor-587 .elementor-element.elementor-element-cc67a19 .e-filter-item:hover:not( [aria-pressed=true] ){background-color:var( --e-global-color-primary );}.elementor-587 .elementor-element.elementor-element-cc67a19 .e-filter-item[aria-pressed="true"]{background-color:var( --e-global-color-primary );}.elementor-587 .elementor-element.elementor-element-cc67a19 .e-filter-item{font-family:"Noto Sans TC", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;word-spacing:0em;padding:9px 18px 10px 18px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-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 );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-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 );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-587 .elementor-element.elementor-element-5e00396{--grid-columns:3;--grid-row-gap:50px;--grid-column-gap:45px;}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-587 .elementor-element.elementor-element-5e00396 .e-loop-item > .elementor-section, .elementor-587 .elementor-element.elementor-element-5e00396 .e-loop-item > .elementor-section > .elementor-container, .elementor-587 .elementor-element.elementor-element-5e00396 .e-loop-item > .e-con, .elementor-587 .elementor-element.elementor-element-5e00396 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination{text-align:center;font-family:"Inter", Sans-serif;font-size:20px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;word-spacing:0em;margin-top:85px;}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination .page-numbers:not(.dots){color:var( --e-global-color-text );}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination a.page-numbers:hover{color:var( --e-global-color-primary );}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination .page-numbers.current{color:var( --e-global-color-primary );}body:not(.rtl) .elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 20px/2 );}body:not(.rtl) .elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 20px/2 );}body.rtl .elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 20px/2 );}body.rtl .elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 20px/2 );}.elementor-587 .elementor-element.elementor-element-f9d1c14{--display:flex;--min-height:900px;--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;--overlay-opacity:0.25;border-style:none;--border-style:none;--margin-top:-600px;--margin-bottom:-300px;--margin-left:0px;--margin-right:0px;--z-index:0;}.elementor-587 .elementor-element.elementor-element-f9d1c14::before, .elementor-587 .elementor-element.elementor-element-f9d1c14 > .elementor-background-video-container::before, .elementor-587 .elementor-element.elementor-element-f9d1c14 > .e-con-inner > .elementor-background-video-container::before, .elementor-587 .elementor-element.elementor-element-f9d1c14 > .elementor-background-slideshow::before, .elementor-587 .elementor-element.elementor-element-f9d1c14 > .e-con-inner > .elementor-background-slideshow::before, .elementor-587 .elementor-element.elementor-element-f9d1c14 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://www.fulldot.com.tw/wp-content/uploads/2025/12/未命名-1.jpg");--background-overlay:'';background-position:center right;background-repeat:no-repeat;background-size:contain;}.elementor-587 .elementor-element.elementor-element-e3d14d8{--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;--margin-top:0px;--margin-bottom:150px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-6b8b8eb{--display:flex;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--border-radius:15px 15px 15px 15px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-587 .elementor-element.elementor-element-7bb759e{text-align:center;}.elementor-587 .elementor-element.elementor-element-7bb759e .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:45px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:62px;word-spacing:0em;color:var( --e-global-color-secondary );}.elementor-587 .elementor-element.elementor-element-84fe212{text-align:center;}.elementor-587 .elementor-element.elementor-element-84fe212 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;word-spacing:0em;color:#524A4A;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-587 .elementor-element.elementor-element-78fdb10 .elementor-button{background-color:#E1EDFF;font-family:"Noto Sans TC", Sans-serif;font-size:22px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-radius:15px 15px 15px 15px;padding:20px 25px 20px 25px;}.elementor-587 .elementor-element.elementor-element-78fdb10 .elementor-button:hover, .elementor-587 .elementor-element.elementor-element-78fdb10 .elementor-button:focus{background-color:transparent;background-image:linear-gradient(260deg, #FFA041 0%, #C66300 100%);}.elementor-587 .elementor-element.elementor-element-78fdb10 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-587 .elementor-element.elementor-element-78fdb10 .elementor-button .elementor-button-content-wrapper{gap:12px;}@media(min-width:768px){.elementor-587 .elementor-element.elementor-element-e38b889{--content-width:75%;}.elementor-587 .elementor-element.elementor-element-1f67fb3{--content-width:75%;}.elementor-587 .elementor-element.elementor-element-e3d14d8{--content-width:85%;}}@media(max-width:1024px) and (min-width:768px){.elementor-587 .elementor-element.elementor-element-ef0734a{--width:100%;}.elementor-587 .elementor-element.elementor-element-e3d14d8{--content-width:100%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-587 .elementor-element.elementor-element-5823de1 .elementor-heading-title{font-size:5.6vw;line-height:52px;}.elementor-587 .elementor-element.elementor-element-e36aea8 .elementor-heading-title{font-size:2vw;}.elementor-587 .elementor-element.elementor-element-1f67fb3{--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;--margin-top:-80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-ef0734a{--padding-top:0px;--padding-bottom:35px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-cc67a19{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-587 .elementor-element.elementor-element-cc67a19 .e-filter-item{font-size:2vw;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );word-spacing:var( --e-global-typography-secondary-word-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 );word-spacing:var( --e-global-typography-accent-word-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 );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-587 .elementor-element.elementor-element-5e00396{--grid-columns:2;--grid-row-gap:50px;--grid-column-gap:45px;}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination{font-size:2.6vw;}.elementor-587 .elementor-element.elementor-element-f9d1c14{--margin-top:-600px;--margin-bottom:-400px;--margin-left:0px;--margin-right:0px;--z-index:0;}.elementor-587 .elementor-element.elementor-element-e3d14d8{--margin-top:100px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;}.elementor-587 .elementor-element.elementor-element-6b8b8eb{--border-radius:0px 0px 0px 0px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-7bb759e .elementor-heading-title{font-size:5.6vw;line-height:55px;}.elementor-587 .elementor-element.elementor-element-84fe212 .elementor-heading-title{font-size:2.6vw;}.elementor-widget-button .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 );word-spacing:var( --e-global-typography-accent-word-spacing );}}@media(max-width:767px){.elementor-587 .elementor-element.elementor-element-e38b889{--content-width:85%;}.elementor-587 .elementor-element.elementor-element-614437b{--gap:5px 5px;--row-gap:5px;--column-gap:5px;--margin-top:120px;--margin-bottom:120px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-587 .elementor-element.elementor-element-5823de1{text-align:start;}.elementor-587 .elementor-element.elementor-element-5823de1 .elementor-heading-title{font-size:46px;line-height:1.3em;}.elementor-587 .elementor-element.elementor-element-e36aea8{text-align:start;}.elementor-587 .elementor-element.elementor-element-e36aea8 .elementor-heading-title{font-size:24px;}.elementor-587 .elementor-element.elementor-element-1f67fb3{--content-width:85%;--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;--border-radius:20px 20px 0px 0px;--padding-top:0px;--padding-bottom:35px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-ef0734a{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:52px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-cc67a19 .e-filter-item{font-size:16px;line-height:1.1em;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );word-spacing:var( --e-global-typography-secondary-word-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 );word-spacing:var( --e-global-typography-accent-word-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 );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-587 .elementor-element.elementor-element-5e00396{--grid-columns:1;--grid-row-gap:41px;}.elementor-587 .elementor-element.elementor-element-5e00396 .elementor-pagination{font-size:22px;margin-top:45px;}.elementor-587 .elementor-element.elementor-element-f9d1c14{--margin-top:-500px;--margin-bottom:-400px;--margin-left:0px;--margin-right:0px;}.elementor-587 .elementor-element.elementor-element-e3d14d8{--margin-top:50px;--margin-bottom:45px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-6b8b8eb{--border-radius:0px 0px 0px 0px;--padding-top:60px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-7bb759e{text-align:center;}.elementor-587 .elementor-element.elementor-element-7bb759e .elementor-heading-title{font-size:28px;line-height:1.3em;}.elementor-587 .elementor-element.elementor-element-84fe212{text-align:center;}.elementor-587 .elementor-element.elementor-element-84fe212 .elementor-heading-title{font-size:16px;}.elementor-widget-button .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 );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-587 .elementor-element.elementor-element-78fdb10 .elementor-button{font-size:16px;padding:15px 18px 15px 20px;}}/* Start custom CSS for loop-grid, class: .elementor-element-5e00396 *//* =========================================
   FD Portfolio Grid - 精緻化作品集系統
   適用於 Elementor Portfolio / Posts Widget
   ========================================= */

/* 0. 局部字體變數定義 (確保不污染全站，但優先使用高級字體) */
.fd-portfolio-grid {
    --fd-font-card: "Inter", "PingFang TC", "Noto Sans TC", sans-serif;
    --fd-color-primary: #2E8BC9;  /* 你的品牌藍 */
    --fd-color-dark: #1E293B;     /* 深色文字 */
    --fd-color-gray: #64748B;     /* 次要文字 */
    --fd-bg-tag: #F1F5F9;         /* 標籤背景 */
    --fd-shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* =========================================
   1. 頂部過濾器按鈕 (Filter Bar)
   ========================================= */
.fd-portfolio-grid .elementor-portfolio__filters,
.fd-portfolio-grid .elementor-portfolio__filter {
    font-family: var(--fd-font-card) !important;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* 按鈕容器微調 */
.fd-portfolio-grid .elementor-portfolio__filters {
    margin-bottom: 40px !important;
    gap: 12px; /* 按鈕之間的間距 */
}

/* 單個按鈕樣式 - 膠囊型態 */
.fd-portfolio-grid .elementor-portfolio__filter {
    padding: 10px 24px !important;
    border-radius: 50px !important; /* 變成圓潤膠囊狀 */
    background-color: #F8FAFC;      /* 平常是淺灰背景 */
    color: var(--fd-color-gray) !important;
    border: 1px solid #E2E8F0;      /* 極細邊框 */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 15px;
}

/* 按鈕懸停 */
.fd-portfolio-grid .elementor-portfolio__filter:hover {
    background-color: #fff;
    color: var(--fd-color-primary) !important;
    box-shadow: 0 4px 12px rgba(46, 139, 201, 0.15); /* 微微藍光 */
    transform: translateY(-1px);
}

/* 按鈕激活狀態 (Active) */
.fd-portfolio-grid .elementor-portfolio__filter.elementor-active {
    background-color: var(--fd-color-primary) !important;
    color: #ffffff !important;
    border-color: var(--fd-color-primary);
    box-shadow: 0 4px 12px rgba(46, 139, 201, 0.4); /* 較強的陰影 */
}

/* =========================================
   2. 卡片本體設計 (Card Container)
   ========================================= */
.fd-portfolio-grid .elementor-portfolio-item,
.fd-portfolio-grid .elementor-post {
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    border-radius: 16px; /* 卡片圓角 */
    overflow: visible;   /* 為了讓陰影不被切掉 */
}

/* 卡片懸停效果 - 上浮 */
.fd-portfolio-grid .elementor-portfolio-item:hover,
.fd-portfolio-grid .elementor-post:hover {
    transform: translateY(-8px); /* 整張卡片優雅上浮 */
}

/* =========================================
   3. 圖片區域 (Thumbnail)
   ========================================= */
.fd-portfolio-grid .elementor-portfolio-item__img,
.fd-portfolio-grid .elementor-post__thumbnail {
    border-radius: 16px !important; /* 圖片圓角 */
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); /* 圖片自帶微陰影 */
    position: relative;
}

/* 圖片本身的縮放特效 */
.fd-portfolio-grid .elementor-portfolio-item__img img,
.fd-portfolio-grid .elementor-post__thumbnail img {
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    width: 100%;
    object-fit: cover;
}

.fd-portfolio-grid .elementor-portfolio-item:hover img,
.fd-portfolio-grid .elementor-post:hover img {
    transform: scale(1.08); /* 圖片微微放大 */
}

/* 圖片遮罩 (Overlay) - 增加高級感 */
.fd-portfolio-grid .elementor-portfolio-item__img::after,
.fd-portfolio-grid .elementor-post__thumbnail::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent 70%, rgba(0,0,0,0.05) 100%); /* 極淡的漸層 */
    pointer-events: none;
}

/* =========================================
   4. 文字內容區域 (Typography)
   ========================================= */
   
/* 日期 (Date) - 放在圖片上方或標題上方 */
.fd-portfolio-grid .elementor-portfolio-item__date,
.fd-portfolio-grid .elementor-post-date {
    font-family: "Inter", monospace !important; /* 數字使用 Inter */
    font-size: 13px !important;
    font-weight: 600;
    color: var(--fd-color-primary) !important; /* 日期用品牌色 */
    margin-bottom: 8px;
    display: block;
    letter-spacing: 0.05em;
    opacity: 0.9;
}

/* 標題 (Title) */
.fd-portfolio-grid .elementor-portfolio-item__title,
.fd-portfolio-grid .elementor-post__title,
.fd-portfolio-grid .elementor-post__title a {
    font-family: var(--fd-font-card) !important;
    font-size: 20px !important; /* 根據需要調整 */
    font-weight: 700 !important;
    color: var(--fd-color-dark) !important;
    line-height: 1.4 !important;
    margin-bottom: 12px;
    letter-spacing: 0.02em; /* 標題字距微調，增加精緻感 */
    transition: color 0.3s ease;
    text-decoration: none;
}

/* 標題懸停變色 */
.fd-portfolio-grid .elementor-portfolio-item:hover .elementor-portfolio-item__title,
.fd-portfolio-grid .elementor-post:hover .elementor-post__title a {
    color: var(--fd-color-primary) !important;
}

/* =========================================
   5. 底部標籤/分類 (Tags / Badges)
   ========================================= */
.fd-portfolio-grid .elementor-portfolio-item__tags,
.fd-portfolio-grid .elementor-post__terms {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

/* 標籤連結樣式 - 線框風格 */
.fd-portfolio-grid .elementor-portfolio-item__tags a,
.fd-portfolio-grid .elementor-post__terms a {
    font-family: var(--fd-font-card);
    font-size: 13px !important;
    color: var(--fd-color-primary) !important;
    background: #fff;
    border: 1px solid var(--fd-color-primary); /* 藍色細邊框 */
    padding: 6px 16px;
    border-radius: 6px; /* 方圓角，更有科技感 */
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 500;
    letter-spacing: 0.03em;
}

/* 標籤懸停 - 填滿顏色 */
.fd-portfolio-grid .elementor-portfolio-item__tags a:hover,
.fd-portfolio-grid .elementor-post__terms a:hover {
    background-color: var(--fd-color-primary);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(46, 139, 201, 0.25);
}

/* 修復 Elementor 預設的間距問題 */
.fd-portfolio-grid .elementor-post__text {
    padding-top: 15px; /*/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1f67fb3 */.elementor-587 .elementor-element.elementor-element-1f67fb3 {
    /* 1. 基底色：稍微帶一點點灰的白，比純白更有質感 */
    background-color: #fcfcfc;

    /* 2. 背景圖層：結合了兩個效果
       - 第一層：微弱的噪點 (Noise)，增加紙張/磨砂質感
       - 第二層：左上與右下的柔和光暈
    */
    background-image: 
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E"),
        radial-gradient(circle at 15% 15%, rgba(0, 174, 239, 0.06) 0%, transparent 45%), /* 左上品牌藍光暈 */
        radial-gradient(circle at 85% 85%, rgba(79, 70, 229, 0.05) 0%, transparent 45%); /* 右下深藍紫光暈 */

    /* 3. 背景設定 */
    background-repeat: repeat, no-repeat, no-repeat;
    background-size: auto, 100% 100%, 100% 100%;
    
    /* 讓內容稍微往內縮，更有空氣感 */
    padding-top: 60px;
    padding-bottom: 80px;
}

/* --- 加碼優化：讓篩選按鈕 (ALL, APP...) 變精緻 --- */
.elementor-587 .elementor-element.elementor-element-1f67fb3 .elementor-portfolio__filter {
    color: #666;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    padding: 8px 20px;
    border-radius: 50px;
    transition: all 0.3s ease;
    border: 1px solid transparent; /* 預留邊框位置 */
}

/* 滑鼠移過去的狀態 */
.elementor-587 .elementor-element.elementor-element-1f67fb3 .elementor-portfolio__filter:hover {
    color: #00AEEF;
    background: rgba(0, 174, 239, 0.05);
}

/* 被選中(Active)的狀態 */
.elementor-587 .elementor-element.elementor-element-1f67fb3 .elementor-portfolio__filter.elementor-active {
    color: #fff;
    background: linear-gradient(135deg, #00AEEF 0%, #0072bc 100%);
    box-shadow: 0 4px 15px rgba(0, 174, 239, 0.3); /* 藍色光暈 */
    border: none;
}/* End custom CSS */