/* Roamer 檢驗報告圖庫 */
.elementor-widget.cy-rg-holder{display:none!important}
html.cyrg-lock{overflow:hidden}

/* ── 觸發區塊（白色資訊框） ── */
body .elementor .e-con.cyrg-trigger{cursor:pointer;transition:transform .28s ease,box-shadow .28s ease;-webkit-tap-highlight-color:transparent}
body .elementor .e-con.cyrg-trigger:hover{transform:translateY(-5px);box-shadow:0 32px 60px rgba(0,0,0,.34),0 0 0 3px rgba(140,193,82,.65)}
body .elementor .e-con.cyrg-trigger:active{transform:translateY(-2px)}
body .elementor .e-con.cyrg-trigger:focus{outline:none}
body .elementor .e-con.cyrg-trigger:focus-visible{outline:3px solid #CFE8A6;outline-offset:4px}
body .elementor .cyrg-trigger .cyrg-cue{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:14px;min-height:44px;padding:0 22px;border-radius:999px;background:#2F6E35;color:#fff;font:700 15px/1 "Noto Sans TC",sans-serif;letter-spacing:.06em;transition:background-color .25s ease}
body .elementor .cyrg-trigger .cyrg-cue::after{content:"→";font-family:"DM Mono",monospace;transition:transform .25s ease}
body .elementor .cyrg-trigger:hover .cyrg-cue,body .elementor .cyrg-trigger:focus-visible .cyrg-cue{background:#1F3B24}
body .elementor .cyrg-trigger:hover .cyrg-cue::after{transform:translateX(4px)}

/* ── 彈出視窗 ── */
dialog.cyrg{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;width:min(1080px,calc(100vw - 32px));max-width:none;height:fit-content;max-height:calc(100dvh - 32px);overflow:visible;color:#1F2A21;font-family:"Noto Sans TC",sans-serif}
dialog.cyrg::backdrop{background:rgba(12,26,15,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog.cyrg .cyrg__panel{position:relative;background:#fff;border-radius:10px;border-top:6px solid #8CC152;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog.cyrg[open] .cyrg__panel{animation:cyrg-in .28s ease both}
@keyframes cyrg-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}

dialog.cyrg .cyrg__head{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;padding:24px 84px 18px 32px;background:#fff;border-bottom:1px solid #E3F0D3}
dialog.cyrg .cyrg__title{margin:0;padding:0;font:900 clamp(21px,2.4vw,28px)/1.3 "Noto Sans TC",sans-serif;letter-spacing:.05em;color:#1F3B24;text-transform:none}
dialog.cyrg .cyrg__meta{margin:0;font-size:14px;line-height:1.5;color:#556657}

dialog.cyrg button{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;-webkit-tap-highlight-color:transparent}
dialog.cyrg .cyrg__close,dialog.cyrg .cyrg__vclose{position:absolute;top:14px;right:16px;display:grid;place-items:center;width:48px;height:48px;padding:0;margin:0;border:0;border-radius:50%;background:#2F6E35;color:#fff;font-size:32px;line-height:1;cursor:pointer;transition:background-color .2s ease,transform .2s ease}
dialog.cyrg .cyrg__close:hover,dialog.cyrg .cyrg__close:focus-visible{background:#1F3B24;color:#fff;transform:rotate(90deg)}
dialog.cyrg .cyrg__close:focus-visible,dialog.cyrg .cyrg__vclose:focus-visible,dialog.cyrg .cyrg__nav:focus-visible,dialog.cyrg .cyrg__thumb:focus-visible{outline:3px solid #8CC152;outline-offset:3px}

/* 縮圖網格：只顯示報告本身 */
dialog.cyrg .cyrg__grid{list-style:none;margin:0;padding:28px 32px 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
dialog.cyrg .cyrg__item{margin:0;padding:0;list-style:none}
dialog.cyrg .cyrg__item::before{content:none}
dialog.cyrg .cyrg__thumb{position:relative;display:block;width:100%;height:auto;padding:0;margin:0;border:1px solid #DCE8D2;border-radius:8px;background:#fff;color:#1F2A21;overflow:hidden;cursor:zoom-in;line-height:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
dialog.cyrg .cyrg__thumb:hover,dialog.cyrg .cyrg__thumb:focus-visible{transform:translateY(-4px);border-color:#8CC152;background:#fff;color:#1F2A21;box-shadow:0 16px 32px rgba(31,59,36,.18)}
dialog.cyrg .cyrg__thumb img{display:block;width:100%;height:auto;aspect-ratio:1810/2560;object-fit:cover;object-position:top center;background:#fff;border:0;margin:0}

/* 放大檢視 */
dialog.cyrg .cyrg__viewer{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;background:rgba(10,20,12,.95)}
dialog.cyrg .cyrg__viewer[hidden]{display:none}
dialog.cyrg .cyrg__bar{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:18px;min-height:76px;padding:0 84px 0 24px;color:#fff}
dialog.cyrg .cyrg__count{font:500 16px/1 "DM Mono",monospace;letter-spacing:.1em;color:#fff}
dialog.cyrg .cyrg__hint{font-size:14px;color:#CFE8A6}
dialog.cyrg .cyrg__vclose{background:#fff;color:#1F3B24}
dialog.cyrg .cyrg__vclose:hover{background:#E3F0D3;color:#1F3B24}
dialog.cyrg .cyrg__stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 88px 24px;overflow:hidden;touch-action:pan-y pinch-zoom}
dialog.cyrg .cyrg__img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 100px);background:#fff;border-radius:2px;box-shadow:0 20px 50px rgba(0,0,0,.5);cursor:zoom-in;transition:opacity .2s ease}
dialog.cyrg .cyrg__img.is-loading{opacity:.35}
dialog.cyrg .cyrg__viewer.is-zoomed .cyrg__stage{display:block;overflow:auto;touch-action:auto;padding:0 16px 24px;-webkit-overflow-scrolling:touch}
dialog.cyrg .cyrg__viewer.is-zoomed .cyrg__img{max-width:none;max-height:none;width:min(1810px,max(100%,1100px));margin:0 auto;cursor:zoom-out}
dialog.cyrg .cyrg__nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:56px;height:56px;margin-top:-28px;padding:0 0 4px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#1F3B24;font-size:40px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.35);transition:background-color .2s ease,transform .2s ease}
dialog.cyrg .cyrg__nav:hover{background:#E3F0D3;color:#1F3B24}
dialog.cyrg .cyrg__nav--prev{left:16px}
dialog.cyrg .cyrg__nav--next{right:16px}

@media (max-width:1024px){
	dialog.cyrg .cyrg__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px}
}
@media (max-width:767px){
	dialog.cyrg{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
	dialog.cyrg .cyrg__panel{max-height:calc(100dvh - 20px)}
	dialog.cyrg .cyrg__head{padding:18px 72px 14px 18px}
	dialog.cyrg .cyrg__close,dialog.cyrg .cyrg__vclose{top:10px;right:10px;width:46px;height:46px}
	dialog.cyrg .cyrg__grid{gap:12px;padding:16px}
	dialog.cyrg .cyrg__bar{min-height:66px;padding:0 66px 0 16px;gap:12px}
	dialog.cyrg .cyrg__stage{padding:0 10px 92px}
	dialog.cyrg .cyrg__img{max-height:calc(100dvh - 170px)}
	dialog.cyrg .cyrg__nav{top:auto;bottom:18px;margin-top:0;width:54px;height:54px}
	dialog.cyrg .cyrg__nav--prev{left:calc(50% - 70px)}
	dialog.cyrg .cyrg__nav--next{right:calc(50% - 70px)}
	dialog.cyrg .cyrg__viewer.is-zoomed .cyrg__stage{padding:0 0 92px}
	body .elementor .cyrg-trigger .cyrg-cue{align-self:stretch;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
	dialog.cyrg[open] .cyrg__panel{animation:none}
	body .elementor .e-con.cyrg-trigger,body .elementor .cyrg-trigger .cyrg-cue,body .elementor .cyrg-trigger .cyrg-cue::after,dialog.cyrg .cyrg__thumb,dialog.cyrg .cyrg__close,dialog.cyrg .cyrg__nav,dialog.cyrg .cyrg__img{transition:none}
	body .elementor .e-con.cyrg-trigger:hover,dialog.cyrg .cyrg__thumb:hover{transform:none}
}