/* 
 * 無障礙焦點樣式
 * Accessibility Focus Styles for WCAG 1.4.1
 * 使用網站主題色 #9a815c
 */

/* 全域焦點樣式 - 確保所有可聚焦元素都有明顯的焦點指示器 */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
}

/* 頂部導覽列（.navs）的連結焦點樣式 - 使用白框 */
.navs a:focus {
    outline: 3px solid #FFFFFF !important;
    outline-offset: 2px !important;
}

/* 按鈕焦點樣式 */
.genric-btn:focus,
.go-feature-btn:focus,
.primary-btn:focus,
.btn:focus,
.button:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
    background-color: #faf8f5 !important;
}

/* 導航選單焦點樣式 */
.navbar a:focus,
.nav-link:focus,
.menu-item a:focus,
#main-nav a:focus,
#cssmenu a:focus,
#cssmenu li a:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
    background-color: #faf8f5 !important;
    z-index: 9999;
}

/* 主選單項目焦點時確保框線可見 */
#cssmenu > ul > li > a:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
    background-color: #faf8f5 !important;
}

/* 次選單焦點樣式 - 確保線框完整在連結四周 */
.dropdown-menu a:focus,
.sub-menu a:focus,
#cssmenu ul ul a:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: -2px !important;
    box-shadow: inset 0 0 0 2px #9a815c !important;
    background-color: #faf8f5 !important;
    position: relative !important;
    z-index: 10000 !important;
}

/* 輪播控制項焦點樣式 */
.owl-prev:focus,
.owl-next:focus,
.owl-dot:focus,
.carousel-control-prev:focus,
.carousel-control-next:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
    background-color: rgba(154, 129, 92, 0.15) !important;
}

/* 輪播項目增加 padding 讓框線有空間顯示 */
#seminar_list .owl-item,
#common-1.owl-carousel .owl-item,
#common-2.owl-carousel .owl-item {
    padding: 5px !important;
}

/* 首頁輪播內容焦點樣式 - 活動報報和線上課程 */
#seminar_list .owl-item.active a:focus,
#common-1.owl-carousel .owl-item.active a:focus,
#common-2.owl-carousel .owl-item.active a:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    display: block !important;
    box-shadow: 0 0 0 5px rgba(154, 129, 92, 0.3) !important;
}

/* 確保輪播內的圖片和文字區塊在焦點時正常顯示 */
#seminar_list .owl-item.active a:focus .blog-item,
#common-1.owl-carousel .owl-item.active a:focus .single-feature,
#common-2.owl-carousel .owl-item.active a:focus .single-feature {
    transform: scale(1.01) !important;
    transition: transform 0.2s ease !important;
}

/* 圖示按鈕焦點樣式 */
.fa:focus,
.icon:focus,
em:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
}

/* 確保重要連結始終可互動 */
a[href*="reg_url"],
a:has(.up-circle),
a:has(.down-circle),
a[href*="accessibility.moda.gov.tw"],
.accessibility_style {
    pointer-events: auto !important;
    user-select: auto !important;
}

/* 移除可能被 JavaScript 設定的禁用屬性（透過 CSS 覆蓋） */
a[href*="reg_url"][tabindex="-1"],
a[href*="reg_url"][aria-hidden="true"],
a[href*="accessibility.moda.gov.tw"][tabindex="-1"],
.accessibility_style[tabindex="-1"] {
    pointer-events: auto !important;
}

/* 註冊按鈕的焦點樣式 - 加強顯示（白框+系統色框） */
a:has(.up-circle):focus,
a:has(.down-circle):focus,
a:has(.up-circle):focus .up-circle,
a:has(.down-circle):focus .down-circle {
    outline: 5px solid #9a815c !important;
    outline-offset: 5px !important;
    box-shadow: 0 0 0 3px #FFFFFF,                    /* 最外層白框 */
                0 0 0 11px #9a815c,                   /* 中層系統色框 */
                0 0 0 15px rgba(154, 129, 92, 0.4),   /* 外層光暈 */
                0 0 25px rgba(154, 129, 92, 0.6),     /* 發光效果 */
                inset 0 0 0 3px rgba(154, 129, 92, 0.2) !important;
    border-radius: 50% !important;
    background-color: rgba(250, 248, 245, 0.3) !important;
}

/* 註冊按鈕圖片的焦點狀態 */
a:has(.up-circle):focus img,
a:has(.down-circle):focus img {
    transform: scale(1.05) !important;
    transition: transform 0.2s ease !important;
}

.down-circle:focus,
.up-circle:focus {
    outline: 5px solid #9a815c !important;
    outline-offset: 5px !important;
    box-shadow: 0 0 0 3px #FFFFFF,                    /* 最外層白框 */
                0 0 0 11px #9a815c,                   /* 中層系統色框 */
                0 0 0 15px rgba(154, 129, 92, 0.4),   /* 外層光暈 */
                0 0 25px rgba(154, 129, 92, 0.6) !important; /* 發光效果 */
    border-radius: 50% !important;
}

/* 回到上一頁、回首頁按鈕焦點樣式 */
.go-back:focus,
.back-to-top:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
}

/* 隱藏元素不應獲得焦點 */
.owl-carousel .owl-item:not(.active) a,
.owl-carousel .owl-item:not(.active) button,
.owl-carousel .owl-item.cloned a,
.owl-carousel .owl-item.cloned button,
[aria-hidden="true"] a,
[aria-hidden="true"] button,
.hide_me a,
.hide_me button,
.display-none a,
.display-none button {
    pointer-events: none !important;
    visibility: hidden !important;
}

/* 確保非活動的輪播項目完全不可互動 */
.owl-carousel .owl-item:not(.active),
.owl-carousel .owl-item.cloned {
    pointer-events: none !important;
}

.owl-carousel .owl-item.active {
    pointer-events: auto !important;
}

/* 確保非活動輪播項目內的所有元素不可聚焦 */
.owl-carousel .owl-item:not(.active) *,
.owl-carousel .owl-item.cloned * {
    pointer-events: none !important;
}

.owl-carousel .owl-item.active * {
    pointer-events: auto !important;
}

/* 確保隱藏的定位點不獲得焦點 */
.sr-only:not(:focus),
.sr-only-focusable:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* 跳過連結在獲得焦點時顯示 */
.skip-link:focus {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10000;
    padding: 1rem;
    background: #9a815c;
    color: white;
    text-decoration: none;
    outline: 3px solid white !important;
    outline-offset: -3px !important;
}

/* More 連結焦點樣式 */
a[href*="more"]:focus,
.more-link:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
}

/* 確保主要內容區連結有明顯焦點 */
main a:focus,
section a:focus,
article a:focus,
.content a:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
    background-color: #faf8f5 !important;
    position: relative;
    z-index: 1;
}

/* 表單元素焦點樣式 */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 0 !important;
    border-color: #9a815c !important;
}

/* 確保焦點樣式在高對比模式下也可見 */
@media (prefers-contrast: high) {
    a:focus,
    button:focus,
    input:focus,
    select:focus,
    textarea:focus {
        outline: 4px solid currentColor !important;
        outline-offset: 3px !important;
    }
}

/* 確保在縮放模式下焦點仍然可見 */
@media (min-width: 1280px) {
    html[data-zoom="200"] a:focus,
    html[data-zoom="200"] button:focus,
    html[data-zoom="300"] a:focus,
    html[data-zoom="300"] button:focus,
    html[data-zoom="400"] a:focus,
    html[data-zoom="400"] button:focus {
        outline-width: 4px !important;
        outline-offset: 3px !important;
    }
}

/* 修正：使用 :focus-within 確保子選單在鍵盤操作時保持顯示 */
#cssmenu li.has-sub:focus-within > ul {
    left: auto !important;
}

#cssmenu.align-right li.has-sub:focus-within > ul {
    right: 0 !important;
}

/* 桌面版：當 li 內任何元素有焦點時，顯示子選單 */
@media (min-width: 1025px) {
    #cssmenu > ul > li.has-sub:focus-within > ul {
        left: auto !important;
        display: block !important;
    }
    
    #cssmenu ul ul li.has-sub:focus-within > ul {
        left: auto !important;
        display: block !important;
    }
}

/* 為了支援舊瀏覽器，使用 JavaScript 配合的 class */
#cssmenu li.has-sub.focus-within > ul {
    left: auto !important;
}

@media (min-width: 1025px) {
    #cssmenu li.has-sub.focus-within > ul {
        display: block !important;
    }
}

/* 漢堡選單按鈕調整 - 縮小按鈕區域到只有漢堡圖示大小 */
@media (max-width: 1024px) {
    #cssmenu #menu-button {
        /* 縮小按鈕：寬度少 40%，高度少 20% */
        padding: 0.4em !important;
        width: 2.1em !important;
        height: 2.4em !important;
        /* 位置調整：往左下移動 */
        float: right !important;
        text-align: right !important;
        margin-top: -2.2em !important;
        margin-right: 1.2em !important;
    }
    
    /* 調整漢堡圖示位置，放在縮小後的按鈕中央 */
    #cssmenu #menu-button::after {
        top: 0.6em !important;
        right: 0.3em !important;
    }
    
    #cssmenu #menu-button::before {
        top: 0.95em !important;
        right: 0.3em !important;
    }
    
    /* 焦點樣式 - 現在按鈕小了，焦點框正常了 */
    #cssmenu #menu-button:focus {
        outline: 3px solid #9a815c !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
        background-color: rgba(154, 129, 92, 0.08) !important;
    }
}

/* 子選單按鈕焦點樣式 */
#cssmenu .submenu-button:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: -2px !important;
    box-shadow: inset 0 0 0 2px rgba(154, 129, 92, 0.2) !important;
}

/* 確保在放大模式下選單仍可訪問 */
@media (min-width: 1025px) and (min-resolution: 2dppx),
       (min-width: 1025px) and (-webkit-min-device-pixel-ratio: 2) {
    /* 高解析度螢幕下的調整 */
    #cssmenu > ul > li > a {
        padding: 1.25em 1em;
    }
}

/* 確保功能按鈕（最新、熱門、歡迎等）可鍵盤訪問 */
.btn-common,
.order_newest_to_page,
.order_popular_to_page,
.order_likes_to_page {
    cursor: pointer;
    display: inline-block;
}

.btn-common:focus,
.order_newest_to_page:focus,
.order_popular_to_page:focus,
.order_likes_to_page:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(154, 129, 92, 0.25) !important;
    background-color: #faf8f5 !important;
}

/* 確保搜尋按鈕可見且可聚焦 */
.search_course_btn {
    cursor: pointer;
}

.search_course_btn:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: -2px !important;
    box-shadow: inset 0 0 0 2px #9a815c !important;
    background-color: #faf8f5 !important;
}

/* Footer 區域焦點樣式 - 覆蓋 main.css 的 outline: none */
.footer-area a:focus,
.footer-area button:focus,
footer a:focus,
footer button:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    border: 2px solid #9a815c !important;
    box-shadow: 0 0 0 4px rgba(154, 129, 92, 0.3), 
                0 0 8px rgba(154, 129, 92, 0.4) !important;
    background-color: rgba(250, 248, 245, 0.95) !important;
    color: #000000 !important;
    text-shadow: none !important;
    padding: 0.3em 0.5em !important;
    border-radius: 3px !important;
}

/* Footer 的 primary-btn 焦點樣式 */
.footer-area .primary-btn:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
    border: 2px solid #9a815c !important;
    box-shadow: 0 0 0 4px rgba(154, 129, 92, 0.3), 
                0 0 8px rgba(154, 129, 92, 0.4) !important;
    background-color: #faf8f5 !important;
    color: #000000 !important;
    text-shadow: none !important;
}

/* 覆蓋 main.css 的 a:focus { outline: 0; } */
a:focus {
    outline: 3px solid #9a815c !important;
    outline-offset: 2px !important;
}

/* 無障礙標章連結焦點樣式 - 移除 <a> 的焦點框和背景 */
a[href*="accessibility.moda.gov.tw"]:focus,
.accessibility_style:focus {
    outline: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* 無障礙標章圖片焦點樣式 - 只在 img 上顯示白框 */
a[href*="accessibility.moda.gov.tw"]:focus img,
.accessibility_style:focus img {
    outline: 3px solid #FFFFFF !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.5) !important;
    background-color: transparent !important;
}


