/* =========================================
   全局變數與重置 (Variables & Reset)
========================================= */
:root {
    --bg-color: #F7DABA;
    --text-color-default: #AF8054; /* 預設深咖啡色 */
    --text-color-active: #B6513E;   /* 懸停/選取深磚紅色 */
    --hamburger-color: #4A4A4A; /* 深灰色漢堡條 */
    --mobile-menu-overlay: rgba(0, 0, 0, 0.4);
    --mobile-menu-bg: rgba(250, 231, 213);
    
    --transition-speed: 0.3s;
    --paw-bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--bg-color);
    font-family: sans-serif;
}
/* =========================================
   全局背景裝飾圖 (Block: page-decor)
========================================= */
.page-decor {
    position: absolute; /* 絕對定位：相對於整個網頁，滾動時會跟著移走 */
    top: 16px;
    left: 0;
    z-index: -1;        /* 設定負數：確保它墊在所有內容的「最底層」 */
    width: 250px;       /* 桌機版預設大小，請依據實際視覺比例調整 */
    height: auto;
    pointer-events: none; /* 【關鍵】避免圖形蓋住 Logo 或按鈕導致無法點擊 */
    
}

/* =========================================
   Header 區塊 (Block: cat-header)
========================================= */
.cat-header {
    display: flex;
    justify-content: space-evenly; /* 桌機居中佈局 */
    align-items: center;
    padding: 20px;
    width: 100%;
    /* max-width: 1980px; */
    margin: 0 auto;
}

.cat-header__logo-container {
    margin-right: auto; /* 桌機靠左 */
    margin-left:48px;
}

.cat-header__logo-link {
    display: block;
}

.cat-header__logo-img {
    height: auto;
    width: 280px; /* 桌機 Logo 寬度 */
    display: block;
}

.cat-header__nav {
    display: block;
    margin-right:32px;
}

.cat-header__hamburger {
    display: none; /* 桌機隱藏漢堡 */
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 10px;
    -webkit-tap-highlight-color: transparent;
}

/* =========================================
   桌機導航列 (cat-nav) - 保持原樣但包裹在 Header
========================================= */
.cat-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    gap: 15px;
}

.cat-nav__item {
    position: relative;
    display: flex;
    justify-content: center;
}

.cat-nav__link {
    display: block;
    position: relative;
    height: 35px;
    text-decoration: none;
}

.cat-nav__img {
    height: 100%;
    width: auto;
    display: block;
    transition: opacity var(--transition-speed) ease;
}

.cat-nav__img--hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.cat-nav__paw {
    position: absolute;
    top: -26px;
    height: 28px;
    z-index: 10;
    opacity: 0;
    transform: translateY(10px) rotate(-30deg) scale(0.8);
    pointer-events: none;
    transition: all 0.4s var(--paw-bounce);
}

/* 桌機 Hover & Active (上方貓掌) */
.cat-nav__item:hover .cat-nav__img--default,
.cat-nav__item--active .cat-nav__img--default {
    opacity: 0;
}

.cat-nav__item:hover .cat-nav__img--hover,
.cat-nav__item--active .cat-nav__img--hover {
    opacity: 1;
}

.cat-nav__item:hover .cat-nav__paw,
.cat-nav__item--active .cat-nav__paw {
    opacity: 1;
    transform: translateY(0) rotate(-15deg) scale(1);
}

.cat-nav__item--active {
    pointer-events: none;
    cursor: default;
}

.cat-nav__separator img {
    height: 22px;
    width: auto;
    display: block;
}

/* =========================================
   漢堡圖標 (cat-hamburger) - 純 CSS 製作
========================================= */
.cat-hamburger__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 18px;
    width: 25px;
}

.cat-hamburger__bars {
    height: 2px;
    width: 100%;
    background-color: var(--hamburger-color);
    border-radius: 1px;
}

/* =========================================
   手機彈窗選單 (cat-mobile-menu) - 全套 RWD
========================================= */
.cat-mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    visibility: hidden;
    pointer-events: none;
    transition: visibility var(--transition-speed);
}

.cat-mobile-menu__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--mobile-menu-overlay);
    opacity: 0;
    transition: opacity var(--transition-speed);
}

.cat-mobile-menu__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    width: calc(100% - 40px);
    max-width: 350px;
    height: auto;
    max-height: calc(100% - 40px);
    background-color: var(--mobile-menu-bg);
    border-radius: 20px;
    padding: 30px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    transition: opacity var(--transition-speed), transform var(--transition-speed);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* 彈窗顯示狀態 */
.cat-mobile-menu--visible {
    visibility: visible;
    pointer-events: auto;
}

.cat-mobile-menu--visible .cat-mobile-menu__overlay {
    opacity: 1;
}

.cat-mobile-menu--visible .cat-mobile-menu__content {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* X 關閉按鈕 (純 CSS) */
.cat-mobile-menu__close {
    position: absolute;
    top: 20px;
    right: 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 10px;
    -webkit-tap-highlight-color: transparent;
}

.cat-mobile-menu__close-icon {
    display: block;
    height: 2px;
    width: 25px;
    background-color: var(--text-color-default);
    position: relative;
    transform: rotate(45deg);
}

.cat-mobile-menu__close-icon::before {
    content: '';
    display: block;
    height: 2px;
    width: 25px;
    background-color: var(--text-color-default);
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(90deg);
}

/* 手機選單 Logo */
.cat-mobile-menu__logo {
    height: auto;
    width: 120px;
    margin-bottom: 25px;
}

/* =========================================
   手機選單列表與圖片切換邏輯
========================================= */
.cat-mobile-menu__list {
    list-style: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cat-mobile-menu__item {
    position: relative;
    display: flex;
    justify-content: center;
}

.cat-mobile-menu__link {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

/* 圖片容器：確保兩張圖能完美重疊 */
.cat-mobile-menu__img-wrapper {
    position: relative;
    height: 32px; /* 手機版按鈕高度，可依視覺微調 */
    display: flex;
}

.cat-mobile-menu__img {
    height: 100%;
    width: auto;
    display: block;
    transition: opacity var(--transition-speed) ease;
}

/* Hover 圖片覆蓋於上方 */
.cat-mobile-menu__img--hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

/* 手機版選取/Hover 狀態的圖片切換 */
.cat-mobile-menu__item:hover .cat-mobile-menu__img--default,
.cat-mobile-menu__item--active .cat-mobile-menu__img--default {
    opacity: 0;
}

.cat-mobile-menu__item:hover .cat-mobile-menu__img--hover,
.cat-mobile-menu__item--active .cat-mobile-menu__img--hover {
    opacity: 1;
}

/* 紅色貓掌 (手機版 active，保持在右側) */
.cat-mobile-menu__paw {
    height: 24px;
    width: auto;
    display: none; 
    margin-left: 12px; /* 與左側圖片的間距 */
}

.cat-mobile-menu__item--active .cat-mobile-menu__paw {
    display: block;
    animation: pawBounceMobile 0.4s var(--paw-bounce);
}

/* 手機貓掌彈跳動畫 */
@keyframes pawBounceMobile {
    0% { transform: scale(0.8) rotate(-15deg); opacity: 0; }
    100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

/* 阻斷重複點擊 */
.cat-mobile-menu__item--active {
    pointer-events: none;
    cursor: default;
}

/* =========================================
   RWD 手機版佈局設定 (< 768px)
========================================= */
@media screen and (max-width: 768px) {
    .page-decor {
        width: 120px; /* 手機版時將背景圖等比例縮小 */
        
        /* 如果覺得手機版圖片太靠右下，可以用負數稍微往外推 */
        /* top: -20px; */
        /* left: -20px; */
    }
    .cat-header {
        justify-content: center; /* 讓 Logo 和漢堡排列在 Header 內 */
        padding: 15px 10px;
    }

    .cat-header__logo-container {
        margin-right: auto; /* Logo 靠左 */
        margin-left:20px;
    }

    .cat-header__logo-img {
        width: 160px; /* 手機 Logo 寬度微調 */
    }

    .cat-header__nav {
        display: none; /* 手機版隱藏桌機導航 */
    }

    .cat-header__hamburger {
        display: flex; /* 手機版顯示漢堡 */
        align-items: center;
        justify-content: center;
        margin-left: auto; /* 漢堡靠右 */
    }
}