/* ===========================================================================
   前端廣告管理樣式 (frontend-style.css) - 最終完整修復版 v5.0
   包含：AdSense 自動隱藏、Width=0 修復、完整酒類警語 RWD、所有 UI 元件
   =========================================================================== */

/* =================================================================== */
/*  1. 全局變數與基礎重設  */
/* =================================================================== */
:root {
--vh: 1vh;
--wp-ad-top-970-reserved-height: clamp(90px, 18vw, 250px);
}

/* 舊瀏覽器支援 */
@supports not (height: var(--vh)) {
    .wp-ad-single[data-ad-placement="bottom"] {
        height: auto !important;
        max-height: 100vh !important;
    }
}

/* ★ 強制置底修復 v5.0.2 ★ */
/* 僅針對「非模板」且「未被強制隱藏」的置底廣告進行固定定位 */
.wp-ad-single[data-ad-placement="bottom"]:not(.ad-force-hide):not([data-is-template="true"]) {
    position: fixed !important;
    bottom: calc(var(--wp-ad-bottom-visual-offset, 0px) + env(safe-area-inset-bottom, 0px)) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    will-change: bottom, transform !important;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.wp-ad-single,
.wp-ad-single *,
.wp-ad-single ::before,
.wp-ad-single ::after {
  box-sizing: border-box;
}

/* =================================================================== */
/*  2. 核心容器與 AdSense 狀態控制 (解決 Width=0 與 空白框)  */
/* =================================================================== */

/* 預設狀態：確保有最小寬度，防止 AdSense 報錯 availableWidth=0 */
.wp-ad-single {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
max-width: 100%;
/* 給予初始最小高度防止 CLS，JS 載入完畢後會自動調整 */
min-height: var(--wp-ad-reserved-height, 250px);
position: relative;
overflow: hidden;
clear: both;
transition: opacity 0.3s ease;
margin: 0 auto;
}

/* 2. 【關鍵修正 v2】平滑隱藏無廣告區塊 (避免閃爍與誤殺) */
.wp-ad-single[data-ad-status="unfilled"],
.wp-ad-single[data-all-unfilled="true"],
.ad-force-hide {
/* 使用多重方法確保完全隱藏 */
display: none !important;
max-height: 0 !important;
min-height: 0 !important;
height: 0 !important;
opacity: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
padding: 0 !important;
border: none !important;
pointer-events: none !important;
overflow: hidden !important;
visibility: hidden !important;

/* 縮短延遲到 0.3 秒，加快隱藏速度 */
transition: all 0.3s ease-in-out;
}

/* 配合上述設定，隱藏內部元素 */
.wp-ad-single[data-ad-status="unfilled"] .wp-ad-fixed-wrapper,
.wp-ad-single[data-ad-status="unfilled"] .wp-ad-label-wrapper {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
max-height: 0 !important;
overflow: hidden !important;
transition: opacity 0.2s;
}

/* 也要處理 data-all-unfilled 的情況 */
.wp-ad-single[data-all-unfilled="true"] .wp-ad-fixed-wrapper,
.wp-ad-single[data-all-unfilled="true"] .wp-ad-label-wrapper {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
max-height: 0 !important;
overflow: hidden !important;
}

.wp-ad-label-wrapper.wp-ad-label-force-hidden,
.wp-ad-label-wrapper.wp-ad-label-force-hidden .wp-ad-label-text {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
max-height: 0 !important;
overflow: hidden !important;
}


/* --- 載入成功狀態 --- */
/* 確保 Google 把廣告設為 display:block */
ins.adsbygoogle[data-ad-status="done"],
ins.adsbygoogle[data-ad-status="filled"] {
opacity: 1 !important;
display: block !important;
visibility: visible !important;
}

.wp-ad-single[data-cls-pending="adsense"] ins.adsbygoogle {
min-height: var(--wp-ad-reserved-height, 250px);
}

/* --- 載入中佔位符 (防止塌陷) --- */
.wp-ad-single:not(.ad-processed) {
background: #f9f9f9; /* 載入時顯示淡灰色背景 */
}

.wp-ad-single.ad-processed {
background: transparent;
min-height: auto; /* 載入完成後釋放高度限制，適應內容 */
}

.wp-ad-single.ad-processed[data-cls-pending="adsense"]:not([data-ad-status]),
.wp-ad-single.ad-processed[data-cls-pending="adsense"][data-ad-status=""] {
min-height: var(--wp-ad-reserved-height, 250px);
}

.wp-ad-single[data-height-type="px"][data-height-value] {
min-height: var(--wp-ad-reserved-height, 250px);
}

.wp-ad-single[data-cls-stable="true"],
.wp-ad-single[data-ad-status="filled"] {
min-height: auto;
}

/* 共享頂部 970 版位的初始幾何，避免內容區在列表 / 搜尋 / 文章模板被晚到的廣告間距推擠。 */
.wp-ad-position-container.ad-pos-content-top-ad-970,
.wp-ad-position-fallback[data-position="content-top-ad-970"] {
display: block;
box-sizing: border-box;
width: 100%;
max-width: min(100%, 970px);
margin: 10px auto 0;
min-height: var(--wp-ad-top-970-reserved-height, clamp(90px, 18vw, 250px));
}

.wp-ad-position-fallback.wp-ad-shell-collapsed,
.wp-ad-position-container.wp-ad-shell-collapsed {
display: none !important;
max-height: 0 !important;
min-height: 0 !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
border: none !important;
}

.wp-ad-shell-wrapper-collapsed {
display: none !important;
max-height: 0 !important;
min-height: 0 !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
border: none !important;
}

.wp-ad-position-container.ad-pos-content-top-ad-970 + .main-layout-wrapper,
.wp-ad-position-container.ad-pos-content-top-ad-970 + .content > .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"] + .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"] + .content > .main-layout-wrapper {
margin-top: var(--hd-top-ad-after-spacing, 10px);
}

.wp-ad-position-container.ad-pos-content-top-ad-970.wp-ad-shell-collapsed + .main-layout-wrapper,
.wp-ad-position-container.ad-pos-content-top-ad-970.wp-ad-shell-collapsed + .content > .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"].wp-ad-shell-collapsed + .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"].wp-ad-shell-collapsed + .content > .main-layout-wrapper {
margin-top: var(--hd-top-ad-after-spacing, 10px) !important;
}

@media (min-width: 769px) and (max-width: 1180px) {
.wp-ad-position-container.ad-pos-content-top-ad-970 + .main-layout-wrapper,
.wp-ad-position-container.ad-pos-content-top-ad-970 + .content > .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"] + .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"] + .content > .main-layout-wrapper {
margin-top: var(--hd-top-ad-after-spacing-tablet, var(--hd-top-ad-after-spacing, 10px));
}

.wp-ad-position-container.ad-pos-content-top-ad-970.wp-ad-shell-collapsed + .main-layout-wrapper,
.wp-ad-position-container.ad-pos-content-top-ad-970.wp-ad-shell-collapsed + .content > .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"].wp-ad-shell-collapsed + .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"].wp-ad-shell-collapsed + .content > .main-layout-wrapper {
margin-top: var(--hd-top-ad-after-spacing-tablet, var(--hd-top-ad-after-spacing, 10px)) !important;
}
}

@media (max-width: 768px) {
.wp-ad-position-container.ad-pos-content-top-ad-970 + .main-layout-wrapper,
.wp-ad-position-container.ad-pos-content-top-ad-970 + .content > .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"] + .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"] + .content > .main-layout-wrapper {
margin-top: var(--hd-top-ad-after-spacing-mobile, var(--hd-top-ad-after-spacing-tablet, var(--hd-top-ad-after-spacing, 10px)));
}

.wp-ad-position-container.ad-pos-content-top-ad-970.wp-ad-shell-collapsed + .main-layout-wrapper,
.wp-ad-position-container.ad-pos-content-top-ad-970.wp-ad-shell-collapsed + .content > .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"].wp-ad-shell-collapsed + .main-layout-wrapper,
.wp-ad-position-fallback[data-position="content-top-ad-970"].wp-ad-shell-collapsed + .content > .main-layout-wrapper {
margin-top: var(--hd-top-ad-after-spacing-mobile, var(--hd-top-ad-after-spacing-tablet, var(--hd-top-ad-after-spacing, 10px))) !important;
}
}

@media (min-width: 992px) {
.wp-ad-position-container.ad-pos-content-top-ad-970,
.wp-ad-position-fallback[data-position="content-top-ad-970"] {
min-height: var(--wp-ad-top-970-reserved-height, clamp(90px, 18vw, 250px));
}
}

/* --- 固定包裝器 (AdSense 的直接父層) --- */
.wp-ad-fixed-wrapper {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
min-height: inherit;
overflow: hidden;
/* 確保內部 iframe 不會超出 */
max-width: 100%; 
}

.wp-ad-content-wrapper {
position: relative;
width: 100%;
height: 100%;
}

.wp-ad-content-wrapper--bottom {
width: auto;
}

/* 解決 iframe 有時會帶有額外 margin 的問題 */
.wp-ad-single .adsbygoogle iframe {
margin: 0 auto !important;
max-width: 100%;
}

/* =================================================================== */
/*  3. UI 元件樣式 (標籤、關閉按鈕、連結)  */
/* =================================================================== */

/* 連結包裹 */
.wp-ad-single > a.wp-ad-link,
.wp-ad-content-wrapper > a.wp-ad-link {
display: flex;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
text-decoration: none;
color: inherit;
}

/* 圖片與 Iframe 自適應 */
.wp-ad-single .wp-ad-fixed-wrapper img,
.wp-ad-single .wp-ad-fixed-wrapper iframe {
display: block;
max-width: 100%;
height: auto;
margin: 0 auto;
border: none !important;
}

/* --- 關閉按鈕 --- */
.wp-ad-single .wp-ad-close {
position: absolute;
width: 28px;
height: 28px;
padding: 0;
background-color: rgba(204, 204, 204, 0.8);
color: #333;
border: none;
cursor: pointer;
font-family: Arial, sans-serif;
font-size: 18px;
font-weight: 700;
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 28px;
text-align: center;
box-shadow: 0 1px 2px rgba(0,0,0,0.2);
transition: background-color 0.2s ease;
z-index: 10; /* 確保在標籤之上 */
}

.wp-ad-single .wp-ad-close:hover {
background-color: rgba(100, 100, 100, 0.9);
}

.wp-ad-single .wp-ad-close[disabled],
.wp-ad-single .wp-ad-close--countdown {
cursor: not-allowed;
background-color: rgba(248, 250, 252, 0.92);
color: #64748b;
box-shadow: 0 1px 2px rgba(15, 23, 42, 0.14);
}

.wp-ad-single .wp-ad-close--ready {
cursor: pointer;
}

.wp-ad-single .wp-ad-close--countdown-soft {
cursor: pointer;
}

.wp-ad-single .wp-ad-close__label {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1em;
line-height: 1;
}

.wp-ad-format-disclosure {
display: inline-flex;
align-items: center;
gap: 6px;
width: fit-content;
max-width: 100%;
margin: 0 0 6px;
padding: 3px 9px;
border: 1px solid rgba(148, 163, 184, 0.38);
border-radius: 999px;
background: rgba(248, 250, 252, 0.94);
color: #475569;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.02em;
line-height: 1.35;
}

.wp-ad-format-disclosure span {
color: #64748b;
font-weight: 600;
}

.wp-ad-format--reserve-cls .wp-ad-content-wrapper {
contain: layout paint;
}

.wp-ad-single .wp-ad-close--left-top {
top: 5px;
left: 5px;
}

.wp-ad-single .wp-ad-close--right-top {
top: 5px;
right: 5px;
}

.wp-ad-single .wp-ad-close--left-bottom {
bottom: 5px;
left: 5px;
}

.wp-ad-single .wp-ad-close--right-bottom {
right: 5px;
bottom: 5px;
}

.wp-ad-single .wp-ad-close--circle {
border-radius: 50%;
}

.wp-ad-single .wp-ad-close--square {
border-radius: 3px;
}

/* 使用者手動關閉後的狀態 */
.wp-ad-single.wp-ad-closed-by-user {
display: none !important;
}

/* --- 廣告標籤 --- */
.wp-ad-label-wrapper {
width: 100%;
line-height: 1;
pointer-events: none; /* 防止遮擋點擊 */
}

/* 外部標籤位置 */
.wp-ad-label-wrapper.label-pos-top { 
order: -1; 
margin-bottom: 5px; 
}
.wp-ad-label-wrapper.label-pos-bottom { 
order: 1; 
margin-top: 5px; 
}

/* 對齊 */
.wp-ad-label-wrapper.label-align-left { text-align: left; }
.wp-ad-label-wrapper.label-align-center { text-align: center; }
.wp-ad-label-wrapper.label-align-right { text-align: right; }

/* 標籤文字本體 */
.wp-ad-label-text {
display: inline-block;
padding: 2px 6px;
font-size: 10px; /* 稍微縮小以顯精緻 */
color: #999;
background-color: #f0f0f0;
border-radius: 2px;
pointer-events: auto; /* 恢復文字可選取 */
}

/* 內嵌覆蓋式標籤 */
.wp-ad-label-wrapper[class*="label-pos-embed-"] {
position: absolute !important;
z-index: 5;
width: auto;
margin: 0;
}
.wp-ad-label-wrapper.label-pos-embed-top-left { top: 0; left: 0; }
.wp-ad-label-wrapper.label-pos-embed-top-right { top: 0; right: 0; }
.wp-ad-label-wrapper.label-pos-embed-bottom-left { bottom: 0; left: 0; }
.wp-ad-label-wrapper.label-pos-embed-bottom-right { bottom: 0; right: 0; }

.wp-ad-label-wrapper[class*="label-pos-embed-"] .wp-ad-label-text {
background-color: rgba(0, 0, 0, 0.6);
color: #fff;
}

/* =================================================================== */
/*  4. 特殊廣告模式 (Sticky / Overlay / Text Ad)   */
/* =================================================================== */

/* --- Text Ad (文字廣告卡片) --- */
.wam-text-ad {
border: 1px solid #e0e0e0;
padding: 12px;
background: #fff;
display: flex;
flex-direction: column;
gap: 8px;
font-size: 14px;
text-align: left;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.wam-text-ad .wam-h { font-weight: 700; color: #005e9b; font-size: 16px; margin: 0; }
.wam-text-ad .wam-cta {
align-self: flex-start;
background: #005e9b;
color: #fff;
border-radius: 4px;
padding: 4px 12px;
font-size: 12px;
text-transform: uppercase;
}

/* --- Overlay (彈窗覆蓋) --- */
.wp-ad-single[data-ad-placement="overlay"] {
position: fixed !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
z-index: 99999 !important;
max-width: 90vw;
max-height: 90vh;
width: auto !important; /* 覆蓋原本的 width:100% */
min-height: auto !important;
background: transparent;
box-shadow: 0 5px 25px rgba(0,0,0,0.3);
}

/* --- Bottom Fixed (置底) --- */
#wp-ad-bottom-active {
position: fixed !important;
bottom: calc(var(--wp-ad-bottom-visual-offset, 0px) + env(safe-area-inset-bottom, 0px)) !important;
left: 0 !important;
right: 0 !important;
z-index: 99998 !important;
width: 100% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
background: #fff;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
transform: translate3d(0, 0, 0) !important;
will-change: bottom, transform !important;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}

/* --- Sticky Sidebar (側邊欄固定) --- */
#sticky-anchor { display: block; height: 1px; margin-top: -1px; visibility: hidden; }
#sidebar-fixed { margin: 0 auto; position: relative; width: 100%; }
#sidebar-fixed.sidebar-fixed-open { position: fixed !important; z-index: 999; }
.sticky-ad-wrapper.wp-ad-sticky-disabled { display: none !important; }

/* =================================================================== */
/*  5. 酒類警語與 RWD 邏輯 (完整保留您的設定)  */
/* =================================================================== */

/* 基礎樣式 */
.model {
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-family: Arial, 'Noto Sans TC', sans-serif;
text-align: center;
white-space: nowrap;
width: 100vw;
height: calc(var(--vh, 1vh) * 10);
min-height: calc(var(--vh, 1vh) * 10);
box-sizing: border-box;
padding: 0.1rem;
font-size: clamp(1.2rem, 2.5vw + 2vh, 4.5rem);
background-color: #000; /* 預設背景色，確保可見 */
}

.model img {
width: 1em !important;
height: 1em !important;
margin: 0 0.3rem !important;
object-fit: contain;
}

.model span {
text-align: center;
}

/* =================================================================== */
/*  廣告 RWD 裝置切換 (使用 class 選擇器) - 強化版 v2.0  */
/* =================================================================== */

/* 廣告裝置區塊：預設全部隱藏 */
.rwd-device-block {
display: none !important;
visibility: hidden !important;
width: 100%;
justify-content: center;
}
.addesktop, .adtablet, .admobile {
display: none !important;
visibility: hidden !important;
width: 100%;
justify-content: center;
}

/* 酒類警語：保留 ID 選擇器向下兼容 */
#addesktop, #adtablet, #admobile {
display: none !important;
visibility: hidden !important;
width: 100%;
justify-content: center;
}

/* --- RWD Breakpoints (廣告 + 酒類警語共用) --- */

/* 1. 手機版：≤768px */
@media (max-width: 768px) {
/* 顯示手機版廣告 */
.admobile, #admobile { 
display: block !important; 
visibility: visible !important;
}
/* 隱藏桌機和平板版廣告 */
.addesktop, .adtablet, #addesktop, #adtablet { 
display: none !important; 
visibility: hidden !important;
}

/* 防止 AdSense 強制顯示隱藏的裝置區塊 */
.addesktop ins.adsbygoogle,
.adtablet ins.adsbygoogle,
#addesktop ins.adsbygoogle,
#adtablet ins.adsbygoogle {
display: none !important;
visibility: hidden !important;
max-height: 0 !important;
overflow: hidden !important;
}

.model {
white-space: normal;
flex-wrap: wrap;
padding: 0.05rem;
font-size: clamp(1.1rem, 2.5vw + 1.8vh, 2.5rem);
}
.model img { margin: 0 0.2rem !important; }
}

/* 2. 平板：768.02px - 1024px */
@media (min-width: 768.02px) and (max-width: 1024px) {
/* 顯示平板版廣告 */
.adtablet, #adtablet { 
display: block !important; 
visibility: visible !important;
}
/* 隱藏桌機和手機版廣告 */
.addesktop, .admobile, #addesktop, #admobile { 
display: none !important; 
visibility: hidden !important;
}

/* 防止 AdSense 強制顯示隱藏的裝置區塊 */
.addesktop ins.adsbygoogle,
.admobile ins.adsbygoogle,
#addesktop ins.adsbygoogle,
#admobile ins.adsbygoogle {
display: none !important;
visibility: hidden !important;
max-height: 0 !important;
overflow: hidden !important;
}

.model {
padding: 0.1rem;
font-size: clamp(1.3rem, 2.2vw + 1.8vh, 4rem);
}
.model img { margin: 0 0.3rem !important; }
}

/* 3. 桌機版：≥1024.02px */
@media (min-width: 1024.02px) {
/* 顯示桌機版廣告 */
.addesktop, #addesktop { 
display: block !important; 
visibility: visible !important;
}
/* 隱藏平板和手機版廣告 */
.adtablet, .admobile, #adtablet, #admobile { 
display: none !important; 
visibility: hidden !important;
}

/* 防止 AdSense 強制顯示隱藏的裝置區塊 */
.adtablet ins.adsbygoogle,
.admobile ins.adsbygoogle,
#adtablet ins.adsbygoogle,
#admobile ins.adsbygoogle {
display: none !important;
visibility: hidden !important;
max-height: 0 !important;
overflow: hidden !important;
}

.model {
padding: 0.15rem;
font-size: clamp(1.3rem, 2vw + 1.5vh, 4.5rem);
}
.model img { margin: 0 0.35rem !important; }
}

/* =================================================================== */
/*  針對 wam-blog-card 的相容性樣式*/
/* =================================================================== */
.wam-blog-card {
width: 100%;
max-width: 100%;
}

/* =================================================================== */
/*  AdSense Unfilled 自動隱藏（外層容器全空時隱藏） */
/* =================================================================== */

/* 
   當所有裝置區塊內的 AdSense 都未填充時，隱藏整個廣告容器
   這個邏輯由 JavaScript 處理，CSS 只提供樣式支援
*/
.wp-ad-single[data-all-unfilled="true"] {
display: none !important;
max-height: 0 !important;
min-height: 0 !important;
height: 0 !important;
opacity: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
pointer-events: none !important;
visibility: hidden !important;
transition: all 0.3s ease-in-out;
}

/* =================================================================== */
/*  混合 RWD 方案：CSS 視窗寬度 Fallback*/
/*  PHP 根據 User-Agent 輸出廣告，CSS 根據視窗寬度作為安全網   */
/* =================================================================== */

/* 
   說明：
   - 當 PHP 根據 User-Agent 判斷為桌機並輸出 device-is-desktop 廣告時
   - 如果用戶縮小視窗到手機尺寸，CSS 會隱藏該廣告
   - 這提供了更好的響應式體驗，同時保持廣告主的 targeting 邏輯
*/

/* 手機視窗 (≤768px)：隱藏標記為桌機或平板的容器 */
@media (max-width: 768px) {
.wp-ad-single.device-is-desktop:not(.device-is-mobile):not(.device-is-all),
.wp-ad-single.device-is-tablet:not(.device-is-mobile):not(.device-is-all) {
display: none !important;
min-height: 0 !important;
max-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
}

/* 平板視窗 (769px - 1024px)：隱藏標記為僅桌機的容器 */
@media (min-width: 769px) and (max-width: 1024px) {
.wp-ad-single.device-is-desktop:not(.device-is-tablet):not(.device-is-all) {
display: none !important;
min-height: 0 !important;
max-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
.wp-ad-single.device-is-mobile:not(.device-is-tablet):not(.device-is-all) {
display: none !important;
min-height: 0 !important;
max-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
}

/* 桌機視窗 (≥1025px)：隱藏標記為僅手機或僅平板的容器 */
@media (min-width: 1025px) {
.wp-ad-single.device-is-mobile:not(.device-is-desktop):not(.device-is-all),
.wp-ad-single.device-is-tablet:not(.device-is-desktop):not(.device-is-all) {
display: none !important;
min-height: 0 !important;
max-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
}

/* =================================================================== */
/*  6. Loading Spinner (Moved from inline styles) */
/* =================================================================== */

@keyframes wp-ad-spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

.wp-ad-loading-spinner {
display: inline-block;
width: 40px;
height: 40px;
border: 3px solid #f3f3f3;
border-top: 3px solid #999;
border-radius: 50%;
animation: wp-ad-spin 1s linear infinite;
}

.wp-ad-loading-text {
margin-top: 10px;
font-size: 14px;
color: #374151;
font-weight: 600;
}

/* ★★★ 修正（正式端）：解決「透明層」或「拉得很高」的問題 ★★★ */
.wp-ad-lazy-placeholder {
  transition: all 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
  margin-inline: auto;
}

.wp-ad-lazy-placeholder__inner {
  text-align: center;
}

/* 如果佔位符內的核心內容載入失敗或被隱藏，則壓縮高度 */
.wp-ad-lazy-placeholder.ad-unfilled,
.wp-ad-lazy-placeholder[data-lazy-state="failed"],
.wp-ad-lazy-placeholder[data-lazy-state="unfilled"],
.wp-ad-lazy-placeholder:empty {
  min-height: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* 確保置底廣告在無限滾動切換時不會產生多餘高度 */
#wp-ad-bottom-active:empty {
  display: none !important;
}

/* 管理員前台 Debug 模式：保留註解資訊可視化，但避免輸出 inline style。 */
.wp-ad-manager-debug-note {
  margin: 8px 0;
  padding: 10px 12px;
  border: 1px solid #d63638;
  border-radius: 6px;
  background: #fff5f5;
  color: #7a1120;
  font-size: 12px;
  line-height: 1.6;
}

.wp-ad-manager-debug-note__title {
  display: block;
  margin-bottom: 4px;
}

.wp-ad-manager-debug-note__list {
  margin: 8px 0 0 18px;
  padding: 0;
}

.wp-ad-manager-debug-note__item {
  margin: 2px 0;
}

.hidden-watermark-attached {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

/* In-content combination layout presets */
.wp-ad-single.wp-ad-single--content-combo {
    min-height: 0;
    overflow: visible;
    background: transparent;
}

.wp-ad-single--content-combo .wp-ad-fixed-wrapper {
    display: block;
    min-height: 0;
    overflow: visible;
}

.wp-ad-content-combo {
    display: grid;
    grid-template-columns: minmax(0, var(--wp-ad-combo-left-width, 50%)) minmax(0, var(--wp-ad-combo-right-width, 50%));
    gap: var(--wp-ad-combo-gap, clamp(14px, 2.4vw, 24px));
    width: 100%;
    align-items: stretch;
}

.wp-ad-content-combo--frame-top_bottom_lines,
.wp-ad-content-combo--frame-top_line,
.wp-ad-content-combo--frame-bottom_line,
.wp-ad-content-combo--frame-soft_box {
    padding-top: clamp(14px, 2vw, 20px);
    padding-bottom: clamp(14px, 2vw, 20px);
}

.wp-ad-content-combo--frame-top_bottom_lines,
.wp-ad-content-combo--frame-top_line {
    border-top: 1px solid rgba(15, 23, 42, 0.14);
}

.wp-ad-content-combo--frame-top_bottom_lines,
.wp-ad-content-combo--frame-bottom_line {
    border-bottom: 1px solid rgba(15, 23, 42, 0.14);
}

.wp-ad-content-combo--frame-soft_box {
    padding-left: clamp(12px, 2vw, 18px);
    padding-right: clamp(12px, 2vw, 18px);
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.84), rgba(255, 255, 255, 0.96));
}

.wp-ad-content-combo--single_ad {
    grid-template-columns: minmax(0, 1fr);
}

.wp-ad-content-combo__cell {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
}

.wp-ad-content-combo__title {
    margin-bottom: 2px;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    overflow-wrap: anywhere;
}

.wp-ad-content-combo__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
}

.wp-ad-content-combo__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf2f7;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
    max-width: 100%;
}

.wp-ad-content-combo__chip--role-ad,
.wp-ad-content-combo__chip--tone-ad {
    background: #ede9fe;
    color: #6d28d9;
}

.wp-ad-content-combo__chip--role-recommend,
.wp-ad-content-combo__chip--tone-recommend {
    background: #dcfce7;
    color: #15803d;
}

.wp-ad-content-combo__chip--role-video,
.wp-ad-content-combo__chip--tone-video {
    background: #fee2e2;
    color: #b91c1c;
}

.wp-ad-content-combo__chip--tone-neutral {
    background: #e2e8f0;
    color: #475569;
}

.wp-ad-combo-current-ad,
.wp-ad-combo-current-ad__link {
    display: block;
    width: 100%;
}

.wp-ad-combo-current-ad--custom-width,
.wp-ad-combo-current-ad--custom-width .wp-ad-combo-current-ad__link {
    width: min(100%, var(--wp-ad-combo-ad-width, 100%));
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.wp-ad-combo-current-ad img,
.wp-ad-combo-current-ad iframe,
.wp-ad-combo-current-ad video,
.wp-ad-combo-current-ad ins,
.wp-ad-combo-current-ad object,
.wp-ad-combo-current-ad embed {
    max-width: 100%;
}

.wp-ad-combo-current-ad--custom-height img,
.wp-ad-combo-current-ad--custom-height iframe,
.wp-ad-combo-current-ad--custom-height video {
    height: var(--wp-ad-combo-ad-height, auto);
    object-fit: contain;
}

.wp-ad-combo-recommendations {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: min(100%, var(--wp-ad-combo-card-width, 300px));
    max-width: var(--wp-ad-combo-card-width, 300px);
    margin-left: auto;
    margin-right: auto;
}

.wp-ad-combo-recommendations--300x250 {
    --wp-ad-combo-card-width: 300px;
    --wp-ad-combo-card-height: 250px;
}

.wp-ad-combo-recommendations--336x280 {
    --wp-ad-combo-card-width: 336px;
    --wp-ad-combo-card-height: 280px;
}

.wp-ad-combo-recommendations--336x250 {
    --wp-ad-combo-card-width: 336px;
    --wp-ad-combo-card-height: 250px;
}

.wp-ad-combo-recommendation-card,
.wp-ad-combo-fallback-card {
    width: 100%;
}

.wp-ad-combo-recommendation-card {
    height: var(--wp-ad-combo-card-height, 250px);
    max-height: var(--wp-ad-combo-card-height, 250px);
    overflow: hidden;
}

.wp-ad-combo-recommendation-card .custom-blog-card-v12-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    line-height: 1.35;
}

.wp-ad-combo-recommendation-card .custom-blog-card-v12 {
    height: 100% !important;
    min-height: 0 !important;
    box-shadow: none;
}

.wp-ad-combo-recommendation-card .custom-blog-card-v12.has-hover-effect:hover {
    transform: none;
}

.wp-ad-combo-recommendation-card .blog-card-v12-link {
    flex-direction: column !important;
    height: 100% !important;
}

.wp-ad-combo-recommendation-card .blog-card-v12-image {
    flex: 0 0 54%;
    width: 100% !important;
    aspect-ratio: auto !important;
    min-height: 0;
}

.wp-ad-combo-recommendation-card .blog-card-v12-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
}

.wp-ad-combo-recommendation-card .blog-card-v12-content {
    flex: 1 1 auto;
    min-height: 0;
    justify-content: flex-start;
    gap: 6px;
    padding: 10px 12px;
}

.wp-ad-combo-recommendation-card .blog-card-v12-title {
    margin-bottom: 4px;
    font-size: var(--card-title-font-size, 0.95rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.wp-ad-combo-recommendation-card .blog-card-v12-label {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    max-width: calc(100% - 16px);
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(239, 246, 255, 0.96);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 700;
    white-space: normal;
    line-height: 1.3;
    overflow-wrap: anywhere;
    word-break: break-word;
    box-sizing: border-box;
}

.wp-ad-combo-recommendation-card .blog-card-v12-excerpt {
    font-size: var(--card-excerpt-font-size, 0.78rem);
    line-height: 1.45;
    flex-grow: 0;
    margin-top: 2px;
    overflow-wrap: anywhere;
}

.wp-ad-combo-recommendation-card .blog-card-v12-footer {
    display: none;
}

.wp-ad-combo-fallback-card {
    display: block;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.wp-ad-combo-fallback-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.wp-ad-combo-fallback-card span {
    display: block;
    padding: 10px 12px;
    font-weight: 700;
    line-height: 1.4;
}

.wp-ad-combo-video__media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 12px;
    background: #111;
}

.wp-ad-combo-video__caption {
    margin: 8px 0 0;
    color: #555;
    font-size: 0.92em;
    line-height: 1.5;
}

.wp-ad-combo-video__link {
    display: block;
    padding: 16px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .wp-ad-content-combo {
        grid-template-columns: 1fr;
    }

    .wp-ad-content-combo--mobile-right-first .wp-ad-content-combo__cell--right {
        order: -1;
    }

    .wp-ad-content-combo--mobile-left-only,
    .wp-ad-content-combo--mobile-right-only {
        grid-template-columns: 1fr;
    }

    .wp-ad-content-combo__cell--mobile-hidden {
        display: none;
    }
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
    .wp-ad-content-combo--tablet-right-first {
        grid-template-columns: minmax(0, var(--wp-ad-combo-right-width, 50%)) minmax(0, var(--wp-ad-combo-left-width, 50%));
    }

    .wp-ad-content-combo--tablet-right-first .wp-ad-content-combo__cell--right {
        order: -1;
    }

    .wp-ad-content-combo--tablet-left-only,
    .wp-ad-content-combo--tablet-right-only {
        grid-template-columns: 1fr;
    }

    .wp-ad-content-combo__cell--tablet-hidden {
        display: none;
    }
}

@media screen and (min-width: 1181px) {
    .wp-ad-content-combo--desktop-right-first {
        grid-template-columns: minmax(0, var(--wp-ad-combo-right-width, 50%)) minmax(0, var(--wp-ad-combo-left-width, 50%));
    }

    .wp-ad-content-combo--desktop-right-first .wp-ad-content-combo__cell--right {
        order: -1;
    }

    .wp-ad-content-combo--desktop-left-only,
    .wp-ad-content-combo--desktop-right-only {
        grid-template-columns: 1fr;
    }

    .wp-ad-content-combo__cell--desktop-hidden {
        display: none;
    }
}
