        :root {
            --pb11-bg: var(--theme11-bg);
            --pb11-paper: var(--theme11-paper);
            --pb11-line: var(--theme11-line);
            --pb11-text: var(--theme11-text);
            --pb11-soft: var(--theme11-soft);
            --pb11-main: var(--theme11-main);
        }

        #photobook {
            background: var(--theme11-page-bg);
            color: var(--pb11-text);
            padding-bottom: 50px;
        }

        /* 與 news11 / product11 相同：版心 + 不與 inpage container 左右內距疊加 */
        #photobook *,
        #photobook *::before,
        #photobook *::after {
            box-sizing: border-box;
        }

        #photobook .container_inside:not(.page_header) {
            width: min(1320px, 100% - 56px);
            margin-left: auto;
            margin-right: auto;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        #photobook .pd_list_container {
            padding: 0 !important;
        }

        /* 兩段 container：第一段(分類)必須壓在第二段(列表)上方，避免下拉被蓋住 */
        #photobook .pd_list_container:first-of-type {
            position: relative;
            z-index: 20;
            overflow: visible !important;
        }

        #photobook .pd_list_container + .pd_list_container {
            position: relative;
            z-index: 1;
        }

        #photobook .pd_list_body {
            border: 0;
            background: transparent;
            padding: 0;
            box-shadow: none;
            width: 100% !important;
            max-width: none !important;
            display: block !important;
            position: relative;
            z-index: 0;
        }

        /* 相簿分類：橫向膠囊（覆寫 product.css 側欄 / 小螢幕隱藏） */
        #photobook .pd_pool_nav {
            display: flex !important;
            width: 100% !important;
            position: relative !important;
            padding-bottom: 0 !important;
            margin-top: 28px;
            margin-bottom: 18px;
            z-index: 50;
            overflow: visible !important;
        }

        #photobook .left_nested_nav {
            border-radius: 0;
            width: 100% !important;
            position: relative;
            z-index: 51;
            overflow: visible !important;
        }

        #photobook .left_nested_nav>ul {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 10px;
            align-items: flex-start;
            margin: 0;
            padding: 0;
            list-style: none;
            position: relative;
            z-index: 52;
            overflow: visible !important;
        }

        #photobook .left_nested_nav>ul>li {
            width: auto !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            border-bottom: none !important;
            position: relative;
            z-index: 53;
        }

        #photobook .left_nested_nav>ul>li>a {
            border: 1px solid var(--pb11-line);
            border-radius: var(--radius-11);
            padding: 8px 14px !important;
            color: var(--pb11-soft) !important;
            text-decoration: none;
            background: var(--theme11-paper);
            display: inline-block !important;
            transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
        }

        #photobook .left_nested_nav>ul>li>a:hover,
        #photobook .left_nested_nav>ul>li>a.active {
            color: var(--pb11-main) !important;
            border-color: var(--pb11-main);
        }

        #photobook .left_nested_nav>ul>li>a.active {
            font-weight: 600;
        }

        #photobook .left_nested_nav>ul>li.hasdropmenu {
            position: relative;
            display: inline-flex;
            flex-wrap: wrap;
            align-items: stretch;
            gap: 6px;
        }

        /* 子分類為小面板下拉（不推擠整排分類） */

        /* 有下拉的分類：同一顆膠囊內放箭頭（避免額外多出一顆空白按鈕） */
        #photobook .left_nested_nav>ul>li.hasdropmenu>a {
            padding-right: 36px !important;
            position: relative;
        }

        #photobook .left_nested_nav>ul>li.hasdropmenu>.switch {
            position: absolute !important;
            right: 6px;
            top: 50%;
            transform: translateY(-50%);
            width: 28px !important;
            height: 28px !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            display: block !important;
            cursor: pointer;
            z-index: 2;
            pointer-events: auto;
            transition: color 0.2s ease;
        }

        /* 清掉 product.css 可能加上的 + 號線條效果 */
        #photobook .left_nested_nav>ul>li.hasdropmenu>.switch {
            font-size: 0;
        }

        #photobook .left_nested_nav>ul>li.hasdropmenu.active>.switch {
            transform: translateY(-50%);
        }

        /* 極限保險：清掉分類列所有 a/li 的 pseudo icon（避免任何 > / iconset 混入）
           然後再由 .switch:before 重新畫回箭頭 */
        #photobook .left_nested_nav li::before,
        #photobook .left_nested_nav li::after,
        #photobook .left_nested_nav a::before,
        #photobook .left_nested_nav a::after {
            content: none !important;
            display: none !important;
            background: none !important;
            background-image: none !important;
        }

        /* 更強隔離：任何 hasdropmenu 節點的 pseudo 一律禁用 */
        #photobook .left_nested_nav [class*="hasdropmenu"]::before,
        #photobook .left_nested_nav [class*="hasdropmenu"]::after,
        #photobook .left_nested_nav [class*="hasdropmenu"]:before,
        #photobook .left_nested_nav [class*="hasdropmenu"]:after {
            content: none !important;
            display: none !important;
            background: none !important;
            background-image: none !important;
            border: 0 !important;
            box-shadow: none !important;
        }

        /* 清掉 product.css hover 會出現的「>」指示 icon（任何層級 hasdropmenu 的 pseudo-element） */
        #photobook .left_nested_nav li.hasdropmenu::after,
        #photobook .left_nested_nav li.hasdropmenu:after,
        #photobook .left_nested_nav li.hasdropmenu::before,
        #photobook .left_nested_nav li.hasdropmenu:before,
        #photobook .left_nested_nav li.hasdropmenu > a::after,
        #photobook .left_nested_nav li.hasdropmenu > a:after,
        #photobook .left_nested_nav li.hasdropmenu > a::before,
        #photobook .left_nested_nav li.hasdropmenu > a:before,
        #photobook .left_nested_nav li.hasdropmenu:hover::after,
        #photobook .left_nested_nav li.hasdropmenu:hover:after,
        #photobook .left_nested_nav li.hasdropmenu:hover::before,
        #photobook .left_nested_nav li.hasdropmenu:hover:before,
        #photobook .left_nested_nav li.hasdropmenu:hover > a::after,
        #photobook .left_nested_nav li.hasdropmenu:hover > a:after,
        #photobook .left_nested_nav li.hasdropmenu:hover > a::before,
        #photobook .left_nested_nav li.hasdropmenu:hover > a:before,
        #photobook .left_nested_nav li.hasdropmenu.active::after,
        #photobook .left_nested_nav li.hasdropmenu.active:after,
        #photobook .left_nested_nav li.hasdropmenu.active::before,
        #photobook .left_nested_nav li.hasdropmenu.active:before,
        #photobook .left_nested_nav li.hasdropmenu.active > a::after,
        #photobook .left_nested_nav li.hasdropmenu.active > a:after,
        #photobook .left_nested_nav li.hasdropmenu.active > a::before,
        #photobook .left_nested_nav li.hasdropmenu.active > a:before {
            content: none !important;
            display: none !important;
            background: none !important;
            background-image: none !important;
            width: 0 !important;
            height: 0 !important;
            border: 0 !important;
        }

        /* 箭頭使用 switch 的 pseudo-element，保留大點擊區 */
        #photobook .left_nested_nav>ul>li.hasdropmenu>.switch:after {
            content: none !important;
            display: none !important;
        }

        #photobook .left_nested_nav>ul>li.hasdropmenu>.switch:before {
            content: "" !important;
            position: absolute;
            top: 50%;
            left: 50%;
            width: 7px;
            height: 7px;
            border-right: 2px solid var(--pb11-soft) !important;
            border-bottom: 2px solid var(--pb11-soft) !important;
            transform: translate(-50%, -60%) rotate(45deg) !important; /* V */
            transform-origin: center;
            transition: transform 0.2s ease, border-color 0.2s ease;
            display: block !important;
            pointer-events: none;
            background: none !important;
            background-image: none !important;
            box-shadow: none !important;
        }

        #photobook .left_nested_nav>ul>li.hasdropmenu.active>.switch:before {
            transform: translate(-50%, -40%) rotate(-135deg) !important; /* ^ */
        }

        #photobook .left_nested_nav>ul>li.hasdropmenu:hover>.switch:before {
            border-color: var(--pb11-main);
        }

        /* 再保險：移除分類連結本身可能帶入的 icon sprite */
        #photobook .left_nested_nav a,
        #photobook .left_nested_nav a:hover,
        #photobook .left_nested_nav a.active,
        #photobook .left_nested_nav li,
        #photobook .left_nested_nav li:hover {
            background-image: none !important;
        }

        #photobook .left_nested_nav>ul>li>ul {
            margin: 0 !important;
            padding: 12px 12px 10px !important;
            list-style: none;
            display: none;
            position: absolute !important;
            left: 0 !important;
            top: calc(100% + 10px) !important;
            width: max-content !important;
            min-width: 220px;
            max-width: min(560px, 90vw) !important;
            z-index: 10000;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
        }

        /* 子選單：避免 product.css 的右側飛出選單造成破版，改為原地展開 */
        #photobook .left_nested_nav>ul>li.active>ul {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: flex-start;
            justify-content: flex-start;
        }

        /*（上面已集中處理兩段 container 的層級）*/

        #photobook .left_nested_nav>ul>li>ul>li {
            width: auto !important;
            margin: 0 !important;
            border: 0 !important;
            position: static !important;
        }

        /* 面板內項目避免被撐到全寬 */
        #photobook .left_nested_nav>ul>li>ul>li>a {
            display: inline-block !important;
            white-space: nowrap;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        #photobook .left_nested_nav>ul>li>ul>li>a {
            border-radius: var(--radius-11);
            margin-top: 0;
            padding: 7px 12px !important;
            border: 1px solid var(--pb11-line);
            background: color-mix(in srgb, var(--theme11-paper) 90%, transparent);
            color: var(--pb11-soft) !important;
        }

        #photobook .left_nested_nav>ul>li>ul>li>a:hover,
        #photobook .left_nested_nav>ul>li>ul>li>a.hover {
            color: var(--pb11-main) !important;
            border-color: var(--pb11-main);
        }

        /* 第三層（若有）：同樣原地展開，不用絕對定位往右飛 */
        #photobook .left_nested_nav>ul>li>ul>li>ul {
            position: static !important;
            left: auto !important;
            top: auto !important;
            width: 100% !important;
            padding: 6px 0 0 !important;
            margin: 0 !important;
            list-style: none;
            display: none;
            background: transparent !important;
        }

        #photobook .left_nested_nav>ul>li>ul>li.active>ul {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: flex-start;
        }

        #photobook .left_nested_nav>ul>li>ul>li>ul::before,
        #photobook .left_nested_nav>ul>li>ul>li>ul::after {
            content: none !important;
            display: none !important;
        }

        #photobook .left_nested_nav>ul>li>ul>li>ul li {
            background: transparent !important;
        }

        #photobook .left_nested_nav>ul>li>ul>li>ul li a {
            padding: 7px 12px !important;
            border: 1px solid var(--pb11-line);
            border-radius: var(--radius-11);
            background: color-mix(in srgb, var(--theme11-paper) 90%, transparent);
            color: var(--pb11-soft) !important;
        }

        #photobook .left_nested_nav>ul>li>ul>li>ul li a:hover {
            background: var(--theme11-paper);
            color: var(--pb11-main) !important;
            border-color: var(--pb11-main);
        }

        #photobook .photo_list_body.v3 {
            display: grid;
            /* 可控欄數：預設 3 欄，可用 class/變數覆寫 */
            grid-template-columns: repeat(var(--pb-cols, 3), minmax(0, 1fr));
            gap: 30px 26px;
            padding: 0 !important;
            background: transparent !important;
            /* 覆寫 photobook.css：v3 會加 padding-left 造成可視寬度被吃掉 */
            padding-left: 0 !important;
            width: 100% !important;
            max-width: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        /* 覆寫 product.css：避免 .pd_pool_container 在桌機只剩 80%（或被其他規則吃掉） */
        #photobook .pd_pool_container {
            width: 100% !important;
            margin-left: 0 !important;
            min-height: 0 !important;
            flex: 0 0 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            display: block !important;
            clear: both !important;
        }

        /* 覆寫 product.css：pd_list_body 在桌機會變 flex，這裡只需要單欄滿寬 */

        /* 欄數控制（加在 .pd_list_body 上即可）：cols-1 / cols-2 / cols-3 / cols-4 */
        #photobook .pd_list_body.cols-1 {
            --pb-cols: 1;
            --pb-cols-md: 1;
        }

        #photobook .pd_list_body.cols-2 {
            --pb-cols: 2;
            --pb-cols-md: 2;
        }

        #photobook .pd_list_body.cols-3 {
            --pb-cols: 3;
            --pb-cols-md: 2;
        }

        #photobook .pd_list_body.cols-4 {
            --pb-cols: 4;
            --pb-cols-md: 2;
        }

        /* 容錯：若模板帶入的是 col-4（少了 s）也要生效 */
        #photobook .pd_list_body.col-1 {
            --pb-cols: 1;
            --pb-cols-md: 1;
        }

        #photobook .pd_list_body.col-2 {
            --pb-cols: 2;
            --pb-cols-md: 2;
        }

        #photobook .pd_list_body.col-3 {
            --pb-cols: 3;
            --pb-cols-md: 2;
        }

        #photobook .pd_list_body.col-4 {
            --pb-cols: 4;
            --pb-cols-md: 2;
        }

        #photobook .photo_list_body .item {
            margin: 0 !important;
            width: auto !important;
            max-width: none !important;
            border: 1px solid var(--pb11-line);
            border-radius: var(--radius-11);
            background: linear-gradient(180deg, var(--pb11-paper) 0%, var(--theme11-muted-bg) 100%);
            overflow: hidden;
            box-shadow: 0 10px 24px var(--theme11-shadow);
            transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
            text-decoration: none;
            display: block !important;
        }

        #photobook .photo_list_body .item:hover {
            transform: translateY(-6px);
            border-color: var(--pb11-main);
            box-shadow: 0 18px 34px var(--theme11-shadow);
        }

        #photobook .photo_list_body .img_container {
            margin: 0 !important;
            width: 100% !important;
        }

        #photobook .photo_list_body .img_holder {
            position: relative;
            background-size: cover !important;
            background-position: center !important;
            height: auto !important;
            transition: transform 0.45s ease;
        }

        #photobook .photo_list_body .img_holder::after {
            content: "";
            display: block;
            width: 100%;
            padding-bottom: 68%;
        }

        #photobook .photo_list_body .img_holder::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--theme11-text) 18%, transparent) 100%);
            opacity: 0.9;
            pointer-events: none;
        }

        #photobook .photo_list_body .item:hover .img_holder {
            transform: scale(1.035);
        }

        #photobook .photo_list_body .text_container {
            width: 100% !important;
            padding: 14px 16px 16px !important;
            background: var(--pb11-paper);
        }

        #photobook .photo_list_body .text_container .more {
            margin-top: 10px !important;
            padding-top: 10px !important;
            border-top: 1px dashed var(--pb11-line) !important;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 14px;
            color: var(--pb11-soft) !important;
            font-weight: 600;
            letter-spacing: 0.02em;
        }

        #photobook .photo_list_body .text_container .more::after {
            content: "";
            width: 7px;
            height: 7px;
            display: inline-block;
            border-top: 1.5px solid currentColor;
            border-right: 1.5px solid currentColor;
            transform: rotate(45deg) translateY(1px);
            transform-origin: center;
            opacity: 0.8;
            transition: transform 0.2s ease, opacity 0.2s ease;
        }

        #photobook .photo_list_body .item:hover .text_container .more::after {
            transform: rotate(45deg) translate(2px, 1px);
            opacity: 1;
        }

        #photobook .photo_list_body .text_container h3 {
            color: var(--theme11-main-hover) !important;
            letter-spacing: -0.01em;
            font-size: clamp(27px, 1.45vw, 39px) !important;
            line-height: 1.2;
            margin: 0;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        #photobook .p11-pagination {
            margin-top: 34px;
            border-radius: var(--radius-11);
            padding: 12px;
            text-align: center;
        }

        #photobook .p11-pagination .pagination a,
        #photobook .p11-pagination .pagination span {
            min-width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin: 0 3px;
            border: 1px solid var(--pb11-line);
            border-radius: var(--radius-11);
            text-decoration: none;
            color: var(--pb11-soft);
            background: var(--theme11-paper);
        }

        #photobook .p11-pagination .pagination a.active {
            color: var(--theme11-active-text);
            background: var(--pb11-main);
            border-color: var(--pb11-main);
        }

        @media (min-width: 980px) {
            #photobook .v3 .pd_pool_nav .left_nested_nav>ul>li {
                width: auto !important;
                margin-left: 0 !important;
            }

            #photobook .v3 .pd_pool_nav .left_nested_nav>ul>li:nth-of-type(5n + 1) {
                margin-left: 0 !important;
            }

            /* 覆寫 photobook.css：v3 預設為橫向交替卡片，改為與 news 相同的直向卡片 */
            #photobook .photo_list_body.v3 .item,
            #photobook .photo_list_body.v3 .item:nth-of-type(2n + 2) {
                flex-direction: column !important;
                width: auto !important;
                min-width: 0 !important;
                max-width: none !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            #photobook .photo_list_body.v3 .img_container {
                width: 100% !important;
            }

            #photobook .photo_list_body.v3 .text_container {
                display: block !important;
                width: 100% !important;
                padding-left: 18px !important;
                padding-right: 18px !important;
            }

            #photobook .photo_list_body.v3 .text_container .fz-B {
                width: 100% !important;
                padding: 0 !important;
                display: -webkit-box !important;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
            }

            #photobook .photo_list_body.v3 .text_container .more {
                width: 100% !important;
                margin-top: 12px !important;
                padding-top: 12px !important;
            }

            #photobook .photo_list_body.v3 .more:before {
                display: none !important;
            }
        }

        @media (max-width: 1024px) {
            #photobook .container_inside:not(.page_header) {
                width: min(1320px, 100% - 26px);
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            #photobook .photo_list_body.v3 {
                grid-template-columns: repeat(var(--pb-cols-md, 2), minmax(0, 1fr));
                gap: 22px 18px;
            }
        }

        @media (max-width: 640px) {
            #photobook .container_inside:not(.page_header) {
                width: min(1320px, 100% - 18px);
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            #photobook .photo_list_body.v3 {
                grid-template-columns: 1fr;
            }
        }
