/* =========================================================
   FlowerACC／鳴潮商品展示
   較早正常版篩選器＋目前新版四欄商品
   完整覆蓋版

   本版修正：
   篩選器文字與＋／－分成兩個獨立 Grid 欄位，
   不再使用絕對定位，因此不會互相重疊。
========================================================= */


/* =========================================================
   0. 全站變數
========================================================= */

:root {
    --flower-content-max-width: 1640px;
    --flower-content-edge: 28px;

    --flower-filter-width: 270px;
    --flower-layout-gap: 30px;

    --flower-product-gap-x: 24px;
    --flower-product-gap-y: 34px;

    --flower-filter-radius: 8px;
    --flower-image-radius: 9px;
    --flower-card-radius: 12px;

    --flower-filter-bg: rgba(40, 30, 42, 0.58);
    --flower-filter-open-bg: rgba(47, 36, 49, 0.76);

    --flower-card-bg: rgba(8, 18, 34, 0.82);

    --flower-border: rgba(255, 255, 255, 0.17);
    --flower-border-light: rgba(255, 255, 255, 0.25);

    --flower-text: #ffffff;
    --flower-muted: rgba(255, 255, 255, 0.73);
    --flower-accent: #f6aa1c;
}


/* =========================================================
   1. 全站基礎設定
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    width: 100%;
    min-height: 100%;

    overflow-x: hidden;

    background-color: #07111f;
}

body {
    width: 100%;
    max-width: 100%;
    min-height: 100vh;

    margin: 0;

    overflow-x: hidden;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}

img {
    max-width: 100%;
}


/* =========================================================
   2. 固定背景
========================================================= */

#page,
.site,
#main-container {
    width: 100%;
    min-height: 100vh;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}


/* 內容層保持透明 */

.site-content,
.content-area,
.site-main,
main,
main.site-main,
article,
.entry-content,
.ct-container,
.ct-container-full,
[data-content="normal"],
[data-content="wide"] {
    background-color: transparent !important;
}


/* =========================================================
   3. 清除舊版可能留下的偏移
========================================================= */

body.home .entry-content,
body.woocommerce-page .entry-content,
body.post-type-archive-product .entry-content,
body.tax-product_cat .entry-content,
body.tax-product_tag .entry-content,

body.home article,
body.woocommerce-page article,
body.post-type-archive-product article,
body.tax-product_cat article,
body.tax-product_tag article {
    position: static !important;

    left: auto !important;
    right: auto !important;

    transform: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   4. 主要內容容器
========================================================= */

body.home,
body.woocommerce-page,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    --theme-normal-container-max-width:
        var(--flower-content-max-width);
}


body.home .site-main > .ct-container,
body.home .site-main > .ct-container-full,
body.home main > .ct-container,
body.home main > .ct-container-full,

body.woocommerce-page .site-main > .ct-container,
body.woocommerce-page .site-main > .ct-container-full,
body.woocommerce-page main > .ct-container,
body.woocommerce-page main > .ct-container-full,

body.post-type-archive-product .site-main > .ct-container,
body.tax-product_cat .site-main > .ct-container,
body.tax-product_tag .site-main > .ct-container {
    width: calc(100% - 56px) !important;
    max-width: var(--flower-content-max-width) !important;
    min-width: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


body.home .site-main article,
body.home .site-main .entry-content,

body.woocommerce-page .site-main article,
body.woocommerce-page .site-main .entry-content,

body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}


/* =========================================================
   5. 頁面標題
========================================================= */

body.home .entry-content > h1,
body.home .entry-content > h2,

body.woocommerce-page .entry-content > h1,
body.woocommerce-page .entry-content > h2,

body.post-type-archive-product .page-title,
body.tax-product_cat .page-title,
body.tax-product_tag .page-title {
    width: 100% !important;

    margin-top: 0 !important;
    margin-bottom: 30px !important;
}


/* =========================================================
   6. 左側篩選器＋右側商品結構
========================================================= */

body.home
.entry-content
.wp-block-columns:has(.woof),

body.home
.entry-content
.wp-block-columns:has(.woof_sid),

body.home
.entry-content
.wp-block-columns:has(.woof_redraw_zone),

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof),

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof_sid),

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof_redraw_zone) {
    position: static !important;

    left: auto !important;
    right: auto !important;

    transform: none !important;

    display: grid !important;

    grid-template-columns:
        var(--flower-filter-width)
        minmax(0, 1fr) !important;

    column-gap: var(--flower-layout-gap) !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    align-items: start !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   7. 取消 Gutenberg 原始欄位比例
========================================================= */

body.home
.entry-content
.wp-block-columns:has(.woof)
> .wp-block-column,

body.home
.entry-content
.wp-block-columns:has(.woof_sid)
> .wp-block-column,

body.home
.entry-content
.wp-block-columns:has(.woof_redraw_zone)
> .wp-block-column,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof)
> .wp-block-column,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof_sid)
> .wp-block-column,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof_redraw_zone)
> .wp-block-column {
    flex: none !important;
    flex-basis: auto !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* 左側篩選欄 */

body.home
.entry-content
.wp-block-columns:has(.woof)
> .wp-block-column:first-child,

body.home
.entry-content
.wp-block-columns:has(.woof_sid)
> .wp-block-column:first-child,

body.home
.entry-content
.wp-block-columns:has(.woof_redraw_zone)
> .wp-block-column:first-child,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof)
> .wp-block-column:first-child,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof_sid)
> .wp-block-column:first-child {
    width: var(--flower-filter-width) !important;
    max-width: var(--flower-filter-width) !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* 右側商品欄 */

body.home
.entry-content
.wp-block-columns:has(.woof)
> .wp-block-column:last-child,

body.home
.entry-content
.wp-block-columns:has(.woof_sid)
> .wp-block-column:last-child,

body.home
.entry-content
.wp-block-columns:has(.woof_redraw_zone)
> .wp-block-column:last-child,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof)
> .wp-block-column:last-child,

body.woocommerce-page
.entry-content
.wp-block-columns:has(.woof_sid)
> .wp-block-column:last-child {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}


/* =========================================================
   8. Blocksy 側欄結構備用
========================================================= */

body.woocommerce-page .ct-container[data-sidebar],
body.post-type-archive-product .ct-container[data-sidebar],
body.tax-product_cat .ct-container[data-sidebar],
body.tax-product_tag .ct-container[data-sidebar] {
    display: grid !important;

    grid-template-columns:
        var(--flower-filter-width)
        minmax(0, 1fr) !important;

    column-gap: var(--flower-layout-gap) !important;

    width: 100% !important;
    max-width: var(--flower-content-max-width) !important;
    min-width: 0 !important;

    align-items: start !important;
}


body.woocommerce-page .ct-sidebar,
body.woocommerce-page #secondary,
body.post-type-archive-product .ct-sidebar,
body.post-type-archive-product #secondary,
body.tax-product_cat .ct-sidebar,
body.tax-product_cat #secondary {
    width: var(--flower-filter-width) !important;
    max-width: var(--flower-filter-width) !important;
    min-width: 0 !important;

    margin: 0 !important;
}


body.woocommerce-page #primary,
body.woocommerce-page .content-area,
body.post-type-archive-product #primary,
body.post-type-archive-product .content-area,
body.tax-product_cat #primary,
body.tax-product_cat .content-area {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
}



/* =========================================================
   相容性清理
   隱藏後來版本加入的第二組符號，僅保留舊版 h4::after
========================================================= */

.woof_container .flower-filter-symbol,
.woof_container .woof_front_toggle,
.woof_container .woof_front_toggle_opened,
.woof_container .woof_front_toggle_closed,
.woof_container [class*="woof_front_toggle"],
.woof_container h4 > [title="toggle"],
.woof_container h3 > [title="toggle"] {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;

    overflow: hidden !important;
}

/*
 * 清除後來版本可能留在標題上的 Grid／字體歸零設定，
 * 恢復舊版正常文字排版。
 */
.woof_container h4,
.woof_container h3 {
    display: block !important;
    grid-template-columns: none !important;

    font-size: inherit !important;
    line-height: inherit !important;

    overflow: visible !important;
}

.woof_container h4::before,
.woof_container h3::before {
    content: none !important;
    display: none !important;
}


/* =========================================================
   13. WOOF 篩選器外框
========================================================= */

.woof,
.woof_sid,
.woof_redraw_zone {
    width: 100% !important;
    max-width: 100% !important;
}


/*
 * 每個屬性區塊可以自然變高，
 * 但不會影響整頁背景圖片比例。
 */

.woof_container {
    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    overflow: hidden !important;

    margin-bottom: 10px !important;

    box-sizing: border-box !important;
}


/* 篩選標題 */

.woof_container h4 {
    position: relative !important;

    width: 100% !important;

    cursor: pointer !important;
    user-select: none !important;

    padding-right: 30px !important;
    margin: 0 !important;
}


/* 加號與減號 */

.woof_container h4::after {
    position: absolute !important;

    top: 50% !important;
    right: 4px !important;

    transform: translateY(-50%) !important;

    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

.woof_container.filter-open h4::after {
    content: "−";
}

.woof_container.filter-closed h4::after {
    content: "+";
}


/* =========================================================
   14. WOOF 展開內容
========================================================= */

.woof_container .woof_block_html_items,
.woof_container .woof_container_inner {
    width: 100% !important;
    max-width: 100% !important;

    transition:
        max-height 0.28s ease,
        opacity 0.2s ease,
        visibility 0.2s ease,
        margin 0.2s ease !important;
}


/* 展開 */

.woof_container.filter-open .woof_block_html_items,
.woof_container.filter-open .woof_container_inner {
    max-height: 2000px !important;

    opacity: 1 !important;
    visibility: visible !important;

    overflow: visible !important;
}


/* 收合 */

.woof_container.filter-closed .woof_block_html_items,
.woof_container.filter-closed .woof_container_inner {
    max-height: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;

    overflow: hidden !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* 篩選器清單不要撐出左側欄位 */

.woof_container ul,
.woof_container li,
.woof_list,
.woof_list li {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.woof_container label {
    max-width: calc(100% - 36px) !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* =========================================================
   15. 左側篩選器閱讀性美化
   本區只調整背景、文字、選項與按鈕外觀
========================================================= */

/* 整個篩選器增加深色玻璃面板 */
.woof {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 14px !important;

    background:
        linear-gradient(
            145deg,
            rgba(8, 20, 36, 0.90),
            rgba(18, 31, 48, 0.78)
        ) !important;

    border:
        1px solid rgba(113, 232, 255, 0.18) !important;

    border-radius: 14px !important;

    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;

    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);

    overflow: visible !important;
}


/* 面板頂部細高光 */
.woof::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 18px !important;
    right: 18px !important;

    height: 2px !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(91, 226, 255, 0.68),
            transparent
        ) !important;

    border-radius: 999px !important;

    opacity: 0.72 !important;

    pointer-events: none !important;
}


/* 每個篩選類別改成獨立卡片 */
.woof_container {
    background:
        linear-gradient(
            135deg,
            rgba(22, 42, 63, 0.86),
            rgba(12, 27, 44, 0.82)
        ) !important;

    border:
        1px solid rgba(255, 255, 255, 0.11) !important;

    border-radius: 10px !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 8px 20px rgba(0, 0, 0, 0.14) !important;

    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease !important;
}


.woof_container:hover {
    border-color:
        rgba(113, 232, 255, 0.22) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 10px 24px rgba(0, 0, 0, 0.18) !important;

    filter: brightness(1.035) !important;
}


/* 展開中的區塊加強辨識度 */
.woof_container.filter-open {
    background:
        linear-gradient(
            135deg,
            rgba(23, 51, 74, 0.94),
            rgba(12, 31, 51, 0.90)
        ) !important;

    border-color:
        rgba(91, 226, 255, 0.28) !important;

    box-shadow:
        inset 3px 0 0 rgba(77, 221, 255, 0.66),
        0 10px 26px rgba(0, 0, 0, 0.20) !important;
}


/*
 * 篩選標題只調整左側與垂直留白。
 * 不設定右側留白，保留現有符號配置。
 */
.woof_container h4 {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    padding-left: 15px !important;

    font-size: 15px !important;
    line-height: 1.38 !important;
    font-weight: 800 !important;

    color: #f7b52c !important;

    letter-spacing: 0.01em !important;

    text-shadow:
        0 1px 10px rgba(0, 0, 0, 0.28) !important;
}


/* 展開內容增加分隔線與暗底 */
.woof_container.filter-open
.woof_block_html_items {
    margin:
        0 10px 10px !important;

    padding:
        12px 10px 10px !important;

    background:
        rgba(3, 14, 27, 0.42) !important;

    border-top:
        1px solid rgba(255, 255, 255, 0.09) !important;

    border-radius:
        0 0 8px 8px !important;
}


/* 篩選清單清除預設縮排 */
.woof_container ul,
.woof_container .woof_list {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* 每個選項增加穩定行高與滑過底色 */
.woof_container li,
.woof_container .woof_list li {
    margin: 0 0 5px !important;
    padding: 7px 8px !important;

    border-radius: 7px !important;

    transition:
        background-color 0.16s ease,
        box-shadow 0.16s ease !important;
}


.woof_container li:last-child,
.woof_container .woof_list li:last-child {
    margin-bottom: 0 !important;
}


.woof_container li:hover,
.woof_container .woof_list li:hover {
    background:
        rgba(74, 205, 235, 0.10) !important;

    box-shadow:
        inset 2px 0 0 rgba(91, 226, 255, 0.48) !important;
}


/* 選項文字改成高對比白色 */
.woof_container label {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 650 !important;

    color:
        rgba(255, 255, 255, 0.94) !important;

    cursor: pointer !important;

    text-shadow:
        0 1px 8px rgba(0, 0, 0, 0.22) !important;
}


/* 數量文字使用較柔和的青灰色 */
.woof_container .woof_checkbox_count,
.woof_container .woof_radio_count,
.woof_container .woof_count {
    color:
        rgba(166, 218, 230, 0.78) !important;

    font-weight: 600 !important;
}


/* Checkbox 只改善尺寸與顏色 */
.woof_container input[type="checkbox"],
.woof_container input[type="radio"] {
    width: 19px !important;
    height: 19px !important;

    margin-right: 9px !important;

    vertical-align: middle !important;

    accent-color: #32cce6 !important;

    cursor: pointer !important;

    filter:
        drop-shadow(0 1px 4px rgba(0, 0, 0, 0.28)) !important;
}


/* 篩選按鈕與商品按鈕風格一致 */
.woof_submit_search_form_container,
.woof .woof_submit_search_form_container {
    margin-top: 12px !important;
}


.woof_submit_search_form,
.woof_reset_search_form,
.woof button,
.woof input[type="submit"] {
    min-height: 42px !important;

    padding:
        10px 19px !important;

    background:
        linear-gradient(
            135deg,
            #2d7df5,
            #2567dc
        ) !important;

    border:
        1px solid rgba(255, 255, 255, 0.16) !important;

    border-radius: 7px !important;

    box-shadow:
        0 8px 18px rgba(15, 83, 202, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;

    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    text-shadow:
        0 1px 5px rgba(0, 0, 0, 0.22) !important;

    transition:
        transform 0.16s ease,
        filter 0.16s ease,
        box-shadow 0.16s ease !important;
}


.woof_submit_search_form:hover,
.woof_reset_search_form:hover,
.woof button:hover,
.woof input[type="submit"]:hover {
    transform:
        translateY(-1px) !important;

    filter:
        brightness(1.08) !important;

    box-shadow:
        0 11px 23px rgba(15, 83, 202, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
}


/* 鍵盤操作焦點 */
.woof_container h4:focus-visible,
.woof_container input:focus-visible,
.woof_submit_search_form:focus-visible,
.woof_reset_search_form:focus-visible,
.woof button:focus-visible,
.woof input[type="submit"]:focus-visible {
    outline:
        2px solid rgba(113, 232, 255, 0.84) !important;

    outline-offset:
        3px !important;
}


/* =========================================================
   15A. 小螢幕篩選器調整
========================================================= */

@media screen and (max-width: 900px) {
    .woof {
        padding: 12px !important;

        border-radius: 12px !important;
    }
}


@media screen and (max-width: 640px) {
    .woof {
        padding: 10px !important;

        border-radius: 10px !important;
    }

    .woof_container h4 {
        padding-top: 13px !important;
        padding-bottom: 13px !important;
        padding-left: 13px !important;

        font-size: 14px !important;
    }

    .woof_container.filter-open
    .woof_block_html_items {
        margin:
            0 8px 8px !important;

        padding:
            10px 8px 8px !important;
    }
}


/* =========================================================
   16. 商品輸出區
========================================================= */

.woof_shortcode_output,
.woocommerce,
.woocommerce-notices-wrapper,
[data-products],
.wp-block-column:has(ul.products) {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* =========================================================
   17. 商品結果與排序
========================================================= */

.woocommerce-result-count {
    float: none !important;

    display: inline-flex !important;
    align-items: center !important;

    min-height: 40px !important;

    margin: 0 0 18px !important;

    font-size: 14px !important;
    line-height: 1.4 !important;

    color: var(--flower-text) !important;
}


.woocommerce-ordering {
    float: right !important;

    margin: 0 0 18px 20px !important;
}


.woocommerce-ordering select {
    min-height: 40px !important;

    padding: 8px 36px 8px 12px !important;

    background: rgba(28, 43, 65, 0.88) !important;

    border:
        1px solid var(--flower-border) !important;

    border-radius: 6px !important;

    color: var(--flower-text) !important;
}


/* =========================================================
   18. 商品列表
   桌面每行四個
========================================================= */

body.home ul.products,
body.home [data-products],

body.woocommerce ul.products,
body.woocommerce-page ul.products,

body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,

body .wc-block-grid__products {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    column-gap:
        var(--flower-product-gap-x) !important;

    row-gap:
        var(--flower-product-gap-y) !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    align-items: stretch !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


body ul.products::before,
body ul.products::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   19. 商品卡片
========================================================= */

body ul.products li.product,
body [data-products] .product,
body .wc-block-grid__product {
    position: relative !important;

    float: none !important;
    clear: none !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 12px !important;

    overflow: hidden !important;

    background:
        var(--flower-card-bg) !important;

    border:
        1px solid var(--flower-border) !important;

    border-radius:
        var(--flower-card-radius) !important;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.18) !important;

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}


body ul.products li.product:hover,
body [data-products] .product:hover,
body .wc-block-grid__product:hover {
    transform: translateY(-3px) !important;

    border-color:
        var(--flower-border-light) !important;

    box-shadow:
        0 13px 32px rgba(0, 0, 0, 0.27) !important;
}


body ul.products.columns-2 li.product,
body ul.products.columns-3 li.product,
body ul.products.columns-4 li.product,
body ul.products.columns-5 li.product,
body ul.products.columns-6 li.product {
    float: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* =========================================================
   20. 商品連結
========================================================= */

body ul.products li.product
.woocommerce-loop-product__link,

body [data-products] .product
.woocommerce-loop-product__link,

body .wc-block-grid__product-link {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    text-decoration: none !important;
}


/* =========================================================
   21. 商品縮圖框
========================================================= */

body ul.products li.product > figure,
body [data-products] .product > figure,

body ul.products li.product
> .ct-image-container,

body ul.products li.product
> .ct-media-container,

body ul.products li.product
> .ct-product-thumbnail,

body ul.products li.product
> .product-image,

body ul.products li.product
> .astra-shop-thumbnail-wrap,

body .wc-block-grid__product-image {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    aspect-ratio: 16 / 9 !important;

    margin: 0 0 14px !important;
    padding: 0 !important;

    overflow: hidden !important;

    background-color:
        rgba(0, 0, 0, 0.18) !important;

    border-radius:
        var(--flower-image-radius) !important;
}


/* =========================================================
   22. Blocksy 圖片內層
========================================================= */

body ul.products li.product
> figure
> .ct-media-container,

body ul.products li.product
> figure
> .ct-image-container,

body ul.products li.product
> figure
> .ct-product-thumbnail,

body [data-products] .product
> figure
> .ct-media-container,

body [data-products] .product
> figure
> .ct-image-container,

body [data-products] .product
> figure
> .ct-product-thumbnail {
    position: absolute !important;

    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;

    height: 100% !important;
    max-height: none !important;
    min-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    border-radius: inherit !important;
}


body ul.products li.product
.ct-media-container::before,

body ul.products li.product
.ct-image-container::before,

body ul.products li.product
.ct-product-thumbnail::before,

body [data-products] .product
.ct-media-container::before,

body [data-products] .product
.ct-image-container::before,

body [data-products] .product
.ct-product-thumbnail::before {
    display: none !important;
    content: none !important;

    width: 0 !important;
    height: 0 !important;

    padding: 0 !important;
}


/* =========================================================
   23. 商品圖片
========================================================= */

/* =========================================================
   FlowerACC／鳴潮商品展示 (優化修正版)
   修正：商品圖片 object-fit 由 fill 改為 cover，防止變形
========================================================= */

:root {
    --flower-content-max-width: 1640px;
    --flower-content-edge: 28px;
    --flower-filter-width: 270px;
    --flower-layout-gap: 30px;
    --flower-product-gap-x: 24px;
    --flower-product-gap-y: 34px;
    --flower-filter-radius: 8px;
    --flower-image-radius: 9px;
    --flower-card-radius: 12px;
    --flower-filter-bg: rgba(40, 30, 42, 0.58);
    --flower-filter-open-bg: rgba(47, 36, 49, 0.76);
    --flower-card-bg: rgba(8, 18, 34, 0.82);
    --flower-border: rgba(255, 255, 255, 0.17);
    --flower-border-light: rgba(255, 255, 255, 0.25);
    --flower-text: #ffffff;
    --flower-muted: rgba(255, 255, 255, 0.73);
    --flower-accent: #f6aa1c;
}

*, *::before, *::after { box-sizing: border-box; }

html { width: 100%; min-height: 100%; overflow-x: hidden; background-color: #07111f; }

body { 
    width: 100%; max-width: 100%; min-height: 100vh; margin: 0; overflow-x: hidden;
    background-size: cover !important; background-position: center center !important;
    background-repeat: no-repeat !important; background-attachment: fixed !important;
}

img { max-width: 100%; }

#page, .site, #main-container {
    width: 100%; min-height: 100vh;
    background-size: cover !important; background-position: center center !important;
    background-repeat: no-repeat !important; background-attachment: fixed !important;
}

.site-content, .content-area, .site-main, main, main.site-main, article, .entry-content, .ct-container, .ct-container-full, [data-content="normal"], [data-content="wide"] {
    background-color: transparent !important;
}

body.home .entry-content, body.woocommerce-page .entry-content, body.post-type-archive-product .entry-content, body.tax-product_cat .entry-content, body.tax-product_tag .entry-content,
body.home article, body.woocommerce-page article, body.post-type-archive-product article, body.tax-product_cat article, body.tax-product_tag article {
    position: static !important; left: auto !important; right: auto !important; transform: none !important;
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
}

body.home, body.woocommerce-page, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag { --theme-normal-container-max-width: var(--flower-content-max-width); }

body.home .site-main > .ct-container, body.home .site-main > .ct-container-full, body.home main > .ct-container, body.home main > .ct-container-full,
body.woocommerce-page .site-main > .ct-container, body.woocommerce-page .site-main > .ct-container-full, body.woocommerce-page main > .ct-container, body.woocommerce-page main > .ct-container-full,
body.post-type-archive-product .site-main > .ct-container, body.tax-product_cat .site-main > .ct-container, body.tax-product_tag .site-main > .ct-container {
    width: calc(100% - 56px) !important; max-width: var(--flower-content-max-width) !important; min-width: 0 !important;
    margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important;
}

body.home .site-main article, body.home .site-main .entry-content, body.woocommerce-page .site-main article, body.woocommerce-page .site-main .entry-content, body.post-type-archive-product .site-main, body.tax-product_cat .site-main, body.tax-product_tag .site-main {
    width: 100% !important; max-width: none !important; min-width: 0 !important;
}

body.home .entry-content > h1, body.home .entry-content > h2, body.woocommerce-page .entry-content > h1, body.woocommerce-page .entry-content > h2, body.post-type-archive-product .page-title, body.tax-product_cat .page-title, body.tax-product_tag .page-title {
    width: 100% !important; margin-top: 0 !important; margin-bottom: 30px !important;
}

body.home .entry-content .wp-block-columns:has(.woof), body.home .entry-content .wp-block-columns:has(.woof_sid), body.home .entry-content .wp-block-columns:has(.woof_redraw_zone), body.woocommerce-page .entry-content .wp-block-columns:has(.woof), body.woocommerce-page .entry-content .wp-block-columns:has(.woof_sid), body.woocommerce-page .entry-content .wp-block-columns:has(.woof_redraw_zone) {
    position: static !important; left: auto !important; right: auto !important; transform: none !important; display: grid !important;
    grid-template-columns: var(--flower-filter-width) minmax(0, 1fr) !important; column-gap: var(--flower-layout-gap) !important; row-gap: 0 !important;
    width: 100% !important; max-width: none !important; min-width: 0 !important; align-items: start !important; margin: 0 !important; padding: 0 !important;
}

body.home .entry-content .wp-block-columns:has(.woof) > .wp-block-column, body.home .entry-content .wp-block-columns:has(.woof_sid) > .wp-block-column, body.home .entry-content .wp-block-columns:has(.woof_redraw_zone) > .wp-block-column, body.woocommerce-page .entry-content .wp-block-columns:has(.woof) > .wp-block-column, body.woocommerce-page .entry-content .wp-block-columns:has(.woof_sid) > .wp-block-column, body.woocommerce-page .entry-content .wp-block-columns:has(.woof_redraw_zone) > .wp-block-column {
    flex: none !important; flex-basis: auto !important; width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
}

body.home .entry-content .wp-block-columns:has(.woof) > .wp-block-column:first-child, body.home .entry-content .wp-block-columns:has(.woof_sid) > .wp-block-column:first-child, body.home .entry-content .wp-block-columns:has(.woof_redraw_zone) > .wp-block-column:first-child, body.woocommerce-page .entry-content .wp-block-columns:has(.woof) > .wp-block-column:first-child, body.woocommerce-page .entry-content .wp-block-columns:has(.woof_sid) > .wp-block-column:first-child {
    width: var(--flower-filter-width) !important; max-width: var(--flower-filter-width) !important; min-width: 0 !important; margin: 0 !important;
}

body.home .entry-content .wp-block-columns:has(.woof) > .wp-block-column:last-child, body.home .entry-content .wp-block-columns:has(.woof_sid) > .wp-block-column:last-child, body.home .entry-content .wp-block-columns:has(.woof_redraw_zone) > .wp-block-column:last-child, body.woocommerce-page .entry-content .wp-block-columns:has(.woof) > .wp-block-column:last-child, body.woocommerce-page .entry-content .wp-block-columns:has(.woof_sid) > .wp-block-column:last-child {
    width: 100% !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important;
}

body.woocommerce-page .ct-container[data-sidebar], body.post-type-archive-product .ct-container[data-sidebar], body.tax-product_cat .ct-container[data-sidebar], body.tax-product_tag .ct-container[data-sidebar] {
    display: grid !important; grid-template-columns: var(--flower-filter-width) minmax(0, 1fr) !important; column-gap: var(--flower-layout-gap) !important; width: 100% !important; max-width: var(--flower-content-max-width) !important; min-width: 0 !important; align-items: start !important;
}

body.woocommerce-page .ct-sidebar, body.woocommerce-page #secondary, body.post-type-archive-product .ct-sidebar, body.post-type-archive-product #secondary, body.tax-product_cat .ct-sidebar, body.tax-product_cat #secondary {
    width: var(--flower-filter-width) !important; max-width: var(--flower-filter-width) !important; min-width: 0 !important; margin: 0 !important;
}

body.woocommerce-page #primary, body.woocommerce-page .content-area, body.post-type-archive-product #primary, body.post-type-archive-product .content-area, body.tax-product_cat #primary, body.tax-product_cat .content-area {
    width: 100% !important; max-width: none !important; min-width: 0 !important; margin: 0 !important;
}

.woof_container .flower-filter-symbol, .woof_container .woof_front_toggle, .woof_container .woof_front_toggle_opened, .woof_container .woof_front_toggle_closed, .woof_container [class*="woof_front_toggle"], .woof_container h4 > [title="toggle"], .woof_container h3 > [title="toggle"] {
    display: none !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; opacity: 0 !important; visibility: hidden !important; overflow: hidden !important;
}

.woof_container h4, .woof_container h3 { display: block !important; grid-template-columns: none !important; font-size: inherit !important; line-height: inherit !important; overflow: visible !important; }
.woof_container h4::before, .woof_container h3::before { content: none !important; display: none !important; }

.woof, .woof_sid, .woof_redraw_zone { width: 100% !important; max-width: 100% !important; }
.woof_container { width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 0 !important; overflow: hidden !important; margin-bottom: 10px !important; box-sizing: border-box !important; }
.woof_container h4 { position: relative !important; width: 100% !important; cursor: pointer !important; user-select: none !important; padding-right: 30px !important; margin: 0 !important; }
.woof_container h4::after { position: absolute !important; top: 50% !important; right: 4px !important; transform: translateY(-50%) !important; font-size: 20px !important; line-height: 1 !important; font-weight: 700 !important; }
.woof_container.filter-open h4::after { content: "−"; }
.woof_container.filter-closed h4::after { content: "+"; }

.woof_container .woof_block_html_items, .woof_container .woof_container_inner { width: 100% !important; max-width: 100% !important; transition: max-height 0.28s ease, opacity 0.2s ease, visibility 0.2s ease, margin 0.2s ease !important; }
.woof_container.filter-open .woof_block_html_items, .woof_container.filter-open .woof_container_inner { max-height: 2000px !important; opacity: 1 !important; visibility: visible !important; overflow: visible !important; }
.woof_container.filter-closed .woof_block_html_items, .woof_container.filter-closed .woof_container_inner { max-height: 0 !important; opacity: 0 !important; visibility: hidden !important; overflow: hidden !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.woof_container ul, .woof_container li, .woof_list, .woof_list li { max-width: 100% !important; box-sizing: border-box !important; }
.woof_container label { max-width: calc(100% - 36px) !important; white-space: normal !important; overflow-wrap: anywhere !important; }

.woof {
    position: relative !important; width: 100% !important; max-width: 100% !important; padding: 14px !important;
    background: linear-gradient(145deg, rgba(8, 20, 36, 0.90), rgba(18, 31, 48, 0.78)) !important;
    border: 1px solid rgba(113, 232, 255, 0.18) !important; border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); overflow: visible !important;
}
.woof::before { content: "" !important; position: absolute !important; top: 0 !important; left: 18px !important; right: 18px !important; height: 2px !important; background: linear-gradient(90deg, transparent, rgba(91, 226, 255, 0.68), transparent) !important; border-radius: 999px !important; opacity: 0.72 !important; pointer-events: none !important; }
.woof_container {
    background: linear-gradient(135deg, rgba(22, 42, 63, 0.86), rgba(12, 27, 44, 0.82)) !important; border: 1px solid rgba(255, 255, 255, 0.11) !important; border-radius: 10px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 8px 20px rgba(0, 0, 0, 0.14) !important; transition: border-color 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
}
.woof_container:hover { border-color: rgba(113, 232, 255, 0.22) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 24px rgba(0, 0, 0, 0.18) !important; filter: brightness(1.035) !important; }
.woof_container.filter-open { background: linear-gradient(135deg, rgba(23, 51, 74, 0.94), rgba(12, 31, 51, 0.90)) !important; border-color: rgba(91, 226, 255, 0.28) !important; box-shadow: inset 3px 0 0 rgba(77, 221, 255, 0.66), 0 10px 26px rgba(0, 0, 0, 0.20) !important; }
.woof_container h4 { padding: 14px 15px !important; font-size: 15px !important; line-height: 1.38 !important; font-weight: 800 !important; color: #f7b52c !important; letter-spacing: 0.01em !important; text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28) !important; }
.woof_container.filter-open .woof_block_html_items { margin: 0 10px 10px !important; padding: 12px 10px 10px !important; background: rgba(3, 14, 27, 0.42) !important; border-top: 1px solid rgba(255, 255, 255, 0.09) !important; border-radius: 0 0 8px 8px !important; }
.woof_container ul, .woof_container .woof_list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woof_container li, .woof_container .woof_list li { margin: 0 0 5px !important; padding: 7px 8px !important; border-radius: 7px !important; transition: background-color 0.16s ease, box-shadow 0.16s ease !important; }
.woof_container li:last-child, .woof_container .woof_list li:last-child { margin-bottom: 0 !important; }
.woof_container li:hover, .woof_container .woof_list li:hover { background: rgba(74, 205, 235, 0.10) !important; box-shadow: inset 2px 0 0 rgba(91, 226, 255, 0.48) !important; }
.woof_container label { font-size: 14px !important; line-height: 1.5 !important; font-weight: 650 !important; color: rgba(255, 255, 255, 0.94) !important; cursor: pointer !important; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.22) !important; }
.woof_container .woof_checkbox_count, .woof_container .woof_radio_count, .woof_container .woof_count { color: rgba(166, 218, 230, 0.78) !important; font-weight: 600 !important; }
.woof_container input[type="checkbox"], .woof_container input[type="radio"] { width: 19px !important; height: 19px !important; margin-right: 9px !important; vertical-align: middle !important; accent-color: #32cce6 !important; cursor: pointer !important; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.28)) !important; }

.woof_submit_search_form_container, .woof .woof_submit_search_form_container { margin-top: 12px !important; }
.woof_submit_search_form, .woof_reset_search_form, .woof button, .woof input[type="submit"] {
    min-height: 42px !important; padding: 10px 19px !important; background: linear-gradient(135deg, #2d7df5, #2567dc) !important; border: 1px solid rgba(255, 255, 255, 0.16) !important; border-radius: 7px !important;
    box-shadow: 0 8px 18px rgba(15, 83, 202, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important; color: #ffffff !important; font-size: 14px !important; line-height: 1.2 !important; font-weight: 800 !important; text-shadow: 0 1px 5px rgba(0, 0, 0, 0.22) !important;
    transition: transform 0.16s ease, filter 0.16s ease, box-shadow 0.16s ease !important;
}
.woof_submit_search_form:hover, .woof_reset_search_form:hover, .woof button:hover, .woof input[type="submit"]:hover { transform: translateY(-1px) !important; filter: brightness(1.08) !important; box-shadow: 0 11px 23px rgba(15, 83, 202, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.20) !important; }
.woof_container h4:focus-visible, .woof_container input:focus-visible, .woof_submit_search_form:focus-visible, .woof_reset_search_form:focus-visible, .woof button:focus-visible, .woof input[type="submit"]:focus-visible { outline: 2px solid rgba(113, 232, 255, 0.84) !important; outline-offset: 3px !important; }

@media screen and (max-width: 900px) { .woof { padding: 12px !important; border-radius: 12px !important; } }
@media screen and (max-width: 640px) {
    .woof { padding: 10px !important; border-radius: 10px !important; }
    .woof_container h4 { padding-top: 13px !important; padding-bottom: 13px !important; padding-left: 13px !important; font-size: 14px !important; }
    .woof_container.filter-open .woof_block_html_items { margin: 0 8px 8px !important; padding: 10px 8px 8px !important; }
}

.woof_shortcode_output, .woocommerce, .woocommerce-notices-wrapper, [data-products], .wp-block-column:has(ul.products) { display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

.woocommerce-result-count { float: none !important; display: inline-flex !important; align-items: center !important; min-height: 40px !important; margin: 0 0 18px !important; font-size: 14px !important; line-height: 1.4 !important; color: var(--flower-text) !important; }
.woocommerce-ordering { float: right !important; margin: 0 0 18px 20px !important; }
.woocommerce-ordering select { min-height: 40px !important; padding: 8px 36px 8px 12px !important; background: rgba(28, 43, 65, 0.88) !important; border: 1px solid var(--flower-border) !important; border-radius: 6px !important; color: var(--flower-text) !important; }

body.home ul.products, body.home [data-products], body.woocommerce ul.products, body.woocommerce-page ul.products, body.post-type-archive-product ul.products, body.tax-product_cat ul.products, body.tax-product_tag ul.products, body .wc-block-grid__products {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: var(--flower-product-gap-x) !important; row-gap: var(--flower-product-gap-y) !important;
    width: 100% !important; max-width: none !important; min-width: 0 !important; align-items: stretch !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
body ul.products::before, body ul.products::after { display: none !important; content: none !important; }

body ul.products li.product, body [data-products] .product, body .wc-block-grid__product {
    position: relative !important; float: none !important; clear: none !important; display: flex !important; flex-direction: column !important;
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 12px !important;
    overflow: hidden !important; background: var(--flower-card-bg) !important; border: 1px solid var(--flower-border) !important; border-radius: var(--flower-card-radius) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}
body ul.products li.product:hover, body [data-products] .product:hover, body .wc-block-grid__product:hover { transform: translateY(-3px) !important; border-color: var(--flower-border-light) !important; box-shadow: 0 13px 32px rgba(0, 0, 0, 0.27) !important; }

body ul.products li.product .woocommerce-loop-product__link, body [data-products] .product .woocommerce-loop-product__link, body .wc-block-grid__product-link { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; text-decoration: none !important; }

body ul.products li.product > figure, body [data-products] .product > figure, body ul.products li.product > .ct-image-container, body ul.products li.product > .ct-media-container, body ul.products li.product > .ct-product-thumbnail, body ul.products li.product > .product-image, body ul.products li.product > .astra-shop-thumbnail-wrap, body .wc-block-grid__product-image {
    position: relative !important; display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; aspect-ratio: 16 / 9 !important; margin: 0 0 14px !important; padding: 0 !important; overflow: hidden !important; background-color: rgba(0, 0, 0, 0.18) !important; border-radius: var(--flower-image-radius) !important;
}

body ul.products li.product > figure > .ct-media-container, body ul.products li.product > figure > .ct-image-container, body ul.products li.product > figure > .ct-product-thumbnail, body [data-products] .product > figure > .ct-media-container, body [data-products] .product > figure > .ct-image-container, body [data-products] .product > figure > .ct-product-thumbnail {
    position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; max-width: none !important; min-width: 100% !important; height: 100% !important; max-height: none !important; min-height: 100% !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; border-radius: inherit !important;
}

body ul.products li.product figure img, body ul.products li.product .ct-media-container img, body ul.products li.product .ct-image-container img, body ul.products li.product .ct-product-thumbnail img, body ul.products li.product .product-image img, body ul.products li.product .astra-shop-thumbnail-wrap img, body [data-products] .product figure img, body [data-products] .product .ct-media-container img, body [data-products] .product .ct-image-container img, body [data-products] .product .ct-product-thumbnail img, body .wc-block-grid__product-image img {
    position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; max-width: none !important; min-width: 100% !important; height: 100% !important; max-height: none !important; min-height: 100% !important; aspect-ratio: auto !important;
    object-fit: cover !important; object-position: center center !important; /* 核心修正 */
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; transform: none !important; scale: 1 !important;
}

body ul.products li.product .woocommerce-loop-product__link > img:first-child, body [data-products] .product .woocommerce-loop-product__link > img:first-child {
    position: relative !important; inset: auto !important; display: block !important; width: 100% !important; max-width: none !important; min-width: 100% !important; height: auto !important; aspect-ratio: 16 / 9 !important;
    object-fit: cover !important; object-position: center center !important; /* 核心修正 */
    margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; border-radius: var(--flower-image-radius) !important; transform: none !important; scale: 1 !important;
}

body ul.products li.product .woocommerce-loop-product__title, body [data-products] .product .woocommerce-loop-product__title, body [data-products] .product h2, body [data-products] .product h3, body .wc-block-grid__product-title {
    display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 0 7px !important; padding: 0 !important; font-size: 21px !important; line-height: 1.32 !important; font-weight: 750 !important; color: var(--flower-text) !important; white-space: normal !important; word-break: keep-all !important; overflow-wrap: anywhere !important;
}




/* =========================================================
   24. 商品標題
========================================================= */

body ul.products li.product
.woocommerce-loop-product__title,

body [data-products] .product
.woocommerce-loop-product__title,

body [data-products] .product h2,
body [data-products] .product h3,

body .wc-block-grid__product-title {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

    font-size: 21px !important;
    line-height: 1.32 !important;
    font-weight: 750 !important;

    color: var(--flower-text) !important;

    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
}


/* =========================================================
   25. 商品分類文字
========================================================= */

body ul.products li.product
.ast-woo-product-category,

body ul.products li.product
.posted_in,

body ul.products li.product
.product-category,

body ul.products li.product
.category,

body [data-products] .product
.entry-meta,

body [data-products] .product
.ct-woo-card-extra {
    display: block !important;

    width: 100% !important;

    margin: 0 0 13px !important;

    font-size: 14px !important;
    line-height: 1.45 !important;

    color: var(--flower-muted) !important;
}


/* =========================================================
   26. 商品按鈕
========================================================= */

body ul.products li.product .button,
body [data-products] .product .button,
body .wc-block-grid__product .button,
body.woocommerce a.button {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;

    margin-top: auto !important;
    margin-bottom: 0 !important;

    padding: 10px 17px !important;

    border-radius: 6px !important;

    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}


/* =========================================================
   27. 單一商品頁
   修正白色空白區、重複圖片與比例失真
========================================================= */

/*
 * 版面：
 * 左側使用原本「圖片＋summary」的空間顯示大圖，
 * 右側保留額外資訊／評價。
 */
body.single-product div.product {
    display: grid !important;

    grid-template-columns:
        minmax(0, 2fr)
        minmax(360px, 1fr) !important;

    grid-template-areas:
        "gallery tabs"
        "related related" !important;

    column-gap: 38px !important;
    row-gap: 38px !important;

    align-items: start !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}


/* =========================================================
   27-1. 移除中間商品編號與分類區
========================================================= */

body.single-product div.product > .summary,
body.single-product div.product > .entry-summary,
body.single-product div.product .summary.entry-summary {
    display: none !important;
}


/* 額外保險 */
body.single-product .product_title,
body.single-product .product_meta,
body.single-product .summary .product_title,
body.single-product .summary .product_meta {
    display: none !important;
}


/* =========================================================
   27-2. 商品圖區
========================================================= */

body.single-product
.woocommerce-product-gallery,

body.single-product
div.product
.woocommerce-product-gallery {
    grid-area: gallery !important;

    float: none !important;

    position: relative !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: start !important;

    overflow: hidden !important;

    background: transparent !important;
}


/*
 * 保留 WooCommerce FlexSlider 的正常內部結構。
 * 只修正高度與背景，不再把所有內層強制 position:static。
 */
body.single-product
.woocommerce-product-gallery
.flex-viewport {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    overflow: hidden !important;

    background: transparent !important;
}


body.single-product
.woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
}


/*
 * 每張主圖容器不強制 16:9，
 * 讓圖片依原始比例自然撐開。
 */
body.single-product
.woocommerce-product-gallery__image {
    height: auto !important;
    min-height: 0 !important;

    background: transparent !important;
}


body.single-product
.woocommerce-product-gallery__image > a {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    overflow: hidden !important;

    border-radius:
        var(--flower-image-radius) !important;
}


/*
 * 只處理真正的商品主圖。
 * 不再使用「.woocommerce-product-gallery img」這種過寬選擇器，
 * 避免同時放大 zoomImg 與縮圖。
 */
body.single-product
.woocommerce-product-gallery__image
> a
> img:not(.zoomImg),

body.single-product
.woocommerce-product-gallery__image
> a
> picture
> img {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    aspect-ratio: auto !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    border-radius:
        var(--flower-image-radius) !important;

    transform: none !important;
}


/*
 * 白色大區塊的來源：
 * WooCommerce Zoom 會額外插入 .zoomImg。
 * 前一版的廣泛 img 規則把它也放大了。
 */
body.single-product
.woocommerce-product-gallery
img.zoomImg,

body.single-product
.woocommerce-product-gallery
.zoomImg {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;
}


/*
 * 下方重複的大圖其實是 FlexSlider 縮圖列被放大。
 * 目前不需要縮圖導覽，直接隱藏。
 */
body.single-product
.woocommerce-product-gallery
.flex-control-thumbs,

body.single-product
.woocommerce-product-gallery
ol.flex-control-thumbs {
    display: none !important;
}


/*
 * 放大鏡按鈕一併移除，避免使用者點擊已停用的 Zoom。
 */
body.single-product
.woocommerce-product-gallery__trigger {
    display: none !important;
}


/* =========================================================
   27-2A. 商品大圖閱讀舒適性美化
   深色玻璃外框＋內層聚焦框，不改變圖片比例
========================================================= */

/*
 * 商品圖外層改成獨立展示面板。
 * 作用是把高亮圖片從複雜背景中分離出來，
 * 但不會裁切、拉伸或改變原圖比例。
 */
body.single-product
.woocommerce-product-gallery,

body.single-product
div.product
.woocommerce-product-gallery {
    position: relative !important;

    padding: 14px !important;

    background:
        linear-gradient(
            145deg,
            rgba(8, 20, 36, 0.92),
            rgba(15, 31, 50, 0.82)
        ) !important;

    border:
        1px solid rgba(113, 232, 255, 0.20) !important;

    border-radius: 16px !important;

    box-shadow:
        0 20px 52px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


/*
 * 上方細緻高光線，讓圖片面板與右側資訊面板語言一致。
 */
body.single-product
.woocommerce-product-gallery::before,

body.single-product
div.product
.woocommerce-product-gallery::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 18px !important;
    right: 18px !important;

    height: 2px !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(91, 226, 255, 0.72),
            transparent
        ) !important;

    border-radius: 999px !important;

    opacity: 0.78 !important;

    pointer-events: none !important;

    z-index: 3 !important;
}


/*
 * 主圖本身放進較深的內框，
 * 避免圖片邊緣直接黏在背景上。
 */
body.single-product
.woocommerce-product-gallery__image
> a {
    position: relative !important;

    padding: 5px !important;

    background:
        linear-gradient(
            145deg,
            rgba(3, 12, 23, 0.98),
            rgba(9, 22, 38, 0.94)
        ) !important;

    border:
        1px solid rgba(255, 255, 255, 0.10) !important;

    border-radius: 12px !important;

    box-shadow:
        inset 0 0 0 1px rgba(113, 232, 255, 0.04),
        0 10px 28px rgba(0, 0, 0, 0.22) !important;

    overflow: hidden !important;

    transition:
        border-color 0.20s ease,
        box-shadow 0.20s ease,
        filter 0.20s ease !important;
}


/*
 * 滑過時只提升邊框與亮度，
 * 不放大圖片，避免閱讀時畫面晃動。
 */
body.single-product
.woocommerce-product-gallery__image
> a:hover {
    border-color:
        rgba(113, 232, 255, 0.30) !important;

    box-shadow:
        inset 0 0 0 1px rgba(113, 232, 255, 0.07),
        0 14px 34px rgba(0, 0, 0, 0.28) !important;

    filter: brightness(1.025) !important;
}


/*
 * 鍵盤操作時提供清楚的焦點狀態。
 */
body.single-product
.woocommerce-product-gallery__image
> a:focus-visible {
    outline:
        2px solid rgba(113, 232, 255, 0.82) !important;

    outline-offset: 4px !important;
}


/*
 * 圖片本體維持原始比例與完整內容。
 * 只加柔和陰影及更一致的圓角。
 */
body.single-product
.woocommerce-product-gallery__image
> a
> img:not(.zoomImg),

body.single-product
.woocommerce-product-gallery__image
> a
> picture
> img {
    border-radius: 8px !important;

    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.20) !important;

    transition:
        filter 0.20s ease !important;
}


/*
 * 商品圖區底部增加一點呼吸空間，
 * 與下方「相關商品」標題保持舒服距離。
 */
body.single-product
.woocommerce-product-gallery {
    margin-bottom: 8px !important;
}


/* =========================================================
   27-2B. 小螢幕商品圖面板
========================================================= */

@media screen and (max-width: 980px) {
    body.single-product
    .woocommerce-product-gallery,

    body.single-product
    div.product
    .woocommerce-product-gallery {
        padding: 11px !important;

        border-radius: 13px !important;
    }

    body.single-product
    .woocommerce-product-gallery__image
    > a {
        padding: 4px !important;

        border-radius: 10px !important;
    }
}


@media screen and (max-width: 620px) {
    body.single-product
    .woocommerce-product-gallery,

    body.single-product
    div.product
    .woocommerce-product-gallery {
        padding: 8px !important;

        border-radius: 11px !important;
    }

    body.single-product
    .woocommerce-product-gallery::before,

    body.single-product
    div.product
    .woocommerce-product-gallery::before {
        left: 12px !important;
        right: 12px !important;
    }

    body.single-product
    .woocommerce-product-gallery__image
    > a {
        padding: 3px !important;

        border-radius: 8px !important;
    }
}


/* =========================================================
   27-3. 額外資訊／評價
   深色玻璃面板＋高對比資訊表
========================================================= */

body.single-product
div.product
> .woocommerce-tabs,

body.single-product
.woocommerce-tabs {
    grid-area: tabs !important;

    float: none !important;

    position: relative !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 18px !important;

    align-self: start !important;

    background:
        linear-gradient(
            145deg,
            rgba(8, 20, 36, 0.92),
            rgba(15, 31, 50, 0.84)
        ) !important;

    border:
        1px solid rgba(113, 232, 255, 0.20) !important;

    border-radius: 14px !important;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    overflow: hidden !important;
}


/*
 * 上方頁籤列
 */
body.single-product
.woocommerce-tabs
ul.tabs {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 8px !important;

    width: 100% !important;

    margin: 0 0 18px !important;
    padding: 5px !important;

    background:
        rgba(0, 0, 0, 0.24) !important;

    border:
        1px solid rgba(255, 255, 255, 0.08) !important;

    border-radius: 10px !important;

    list-style: none !important;
}


body.single-product
.woocommerce-tabs
ul.tabs::before,

body.single-product
.woocommerce-tabs
ul.tabs::after {
    display: none !important;
    content: none !important;
}


body.single-product
.woocommerce-tabs
ul.tabs
li {
    position: relative !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 7px !important;

    box-shadow: none !important;
}


body.single-product
.woocommerce-tabs
ul.tabs
li::before,

body.single-product
.woocommerce-tabs
ul.tabs
li::after {
    display: none !important;
    content: none !important;
}


body.single-product
.woocommerce-tabs
ul.tabs
li
a {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 43px !important;

    margin: 0 !important;
    padding: 10px 12px !important;

    border-radius: 7px !important;

    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;

    color:
        rgba(255, 255, 255, 0.68) !important;

    text-align: center !important;
    text-decoration: none !important;

    transition:
        color 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease !important;
}


body.single-product
.woocommerce-tabs
ul.tabs
li
a:hover {
    color: #ffffff !important;

    background:
        rgba(31, 170, 210, 0.14) !important;
}


/* 目前選取的頁籤 */
body.single-product
.woocommerce-tabs
ul.tabs
li.active {
    background:
        linear-gradient(
            135deg,
            rgba(0, 199, 229, 0.24),
            rgba(32, 117, 255, 0.16)
        ) !important;

    box-shadow:
        inset 0 0 0 1px rgba(75, 227, 255, 0.28),
        0 6px 18px rgba(0, 173, 217, 0.12) !important;
}


body.single-product
.woocommerce-tabs
ul.tabs
li.active
a {
    color: #71e8ff !important;

    text-shadow:
        0 0 16px rgba(79, 226, 255, 0.30) !important;
}


/*
 * 頁籤內容面板
 */
body.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel,

body.single-product
.woocommerce-tabs
.panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.90) !important;

    background: transparent !important;
}


/*
 * 移除 WooCommerce 預設面板標題，
 * 保留頁籤名稱即可，畫面更乾淨。
 */
body.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel
> h2:first-child,

body.single-product
.woocommerce-tabs
.panel
> h2:first-child {
    display: none !important;
}


/* =========================================================
   27-3A. 額外資訊表格
========================================================= */

body.single-product
.woocommerce-tabs
table.shop_attributes {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;

    background: transparent !important;
}


body.single-product
.woocommerce-tabs
table.shop_attributes
tbody,

body.single-product
.woocommerce-tabs
table.shop_attributes
tr {
    width: 100% !important;
}


body.single-product
.woocommerce-tabs
table.shop_attributes
tr {
    position: relative !important;

    transition:
        transform 0.18s ease,
        filter 0.18s ease !important;
}


body.single-product
.woocommerce-tabs
table.shop_attributes
tr:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
}


/* 左側屬性名稱 */
body.single-product
.woocommerce-tabs
table.shop_attributes
th {
    width: 34% !important;
    min-width: 118px !important;

    margin: 0 !important;
    padding: 15px 16px !important;

    vertical-align: middle !important;

    background:
        linear-gradient(
            135deg,
            rgba(31, 57, 82, 0.98),
            rgba(23, 43, 65, 0.94)
        ) !important;

    border:
        1px solid rgba(255, 255, 255, 0.11) !important;
    border-right: 0 !important;

    border-radius:
        9px 0 0 9px !important;

    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;

    color: #ffffff !important;

    text-align: left !important;

    box-shadow:
        inset 3px 0 0 rgba(68, 222, 255, 0.72) !important;
}


/* 右側屬性內容 */
body.single-product
.woocommerce-tabs
table.shop_attributes
td {
    width: 66% !important;

    margin: 0 !important;
    padding: 15px 17px !important;

    vertical-align: middle !important;

    background:
        linear-gradient(
            135deg,
            rgba(14, 29, 48, 0.96),
            rgba(10, 23, 39, 0.92)
        ) !important;

    border:
        1px solid rgba(255, 255, 255, 0.11) !important;
    border-left:
        1px solid rgba(113, 232, 255, 0.14) !important;

    border-radius:
        0 9px 9px 0 !important;

    font-size: 15px !important;
    line-height: 1.65 !important;
    font-weight: 650 !important;

    color:
        rgba(255, 255, 255, 0.94) !important;

    text-align: left !important;
}


/* 移除 WooCommerce 斑馬紋 */
body.single-product
.woocommerce-tabs
table.shop_attributes
tr:nth-child(even)
th,

body.single-product
.woocommerce-tabs
table.shop_attributes
tr:nth-child(even)
td {
    background-color: transparent !important;
}


/* 清理儲存格內文字 */
body.single-product
.woocommerce-tabs
table.shop_attributes
th
p,

body.single-product
.woocommerce-tabs
table.shop_attributes
td
p {
    margin: 0 !important;
    padding: 0 !important;

    font: inherit !important;
    color: inherit !important;
}


/* 屬性內容連結 */
body.single-product
.woocommerce-tabs
table.shop_attributes
td
a {
    color: #55e3f2 !important;

    font-weight: 750 !important;

    text-decoration:
        underline rgba(85, 227, 242, 0.34) !important;
    text-underline-offset: 3px !important;

    transition:
        color 0.18s ease,
        text-shadow 0.18s ease !important;
}


body.single-product
.woocommerce-tabs
table.shop_attributes
td
a:hover {
    color: #b4f8ff !important;

    text-shadow:
        0 0 14px rgba(85, 227, 242, 0.38) !important;
}


/* =========================================================
   27-3A-1. 額外資訊文字取消超連結
========================================================= */

/*
 * 右側「額外資訊」表格內所有連結：
 * 1. 不可點擊
 * 2. 不顯示底線
 * 3. 不使用連結游標
 * 4. 顏色改成一般高對比文字
 */
body.single-product
.woocommerce-tabs
table.shop_attributes
td
a,

body.single-product
.woocommerce-tabs
table.shop_attributes
th
a {
    color:
        rgba(255, 255, 255, 0.94) !important;

    font-weight: inherit !important;

    text-decoration: none !important;
    text-underline-offset: 0 !important;

    cursor: default !important;

    pointer-events: none !important;

    text-shadow: none !important;

    outline: none !important;
}


/* 清除滑過、焦點、已造訪狀態 */
body.single-product
.woocommerce-tabs
table.shop_attributes
td
a:hover,

body.single-product
.woocommerce-tabs
table.shop_attributes
td
a:focus,

body.single-product
.woocommerce-tabs
table.shop_attributes
td
a:active,

body.single-product
.woocommerce-tabs
table.shop_attributes
td
a:visited,

body.single-product
.woocommerce-tabs
table.shop_attributes
th
a:hover,

body.single-product
.woocommerce-tabs
table.shop_attributes
th
a:focus,

body.single-product
.woocommerce-tabs
table.shop_attributes
th
a:active,

body.single-product
.woocommerce-tabs
table.shop_attributes
th
a:visited {
    color:
        rgba(255, 255, 255, 0.94) !important;

    text-decoration: none !important;

    cursor: default !important;

    pointer-events: none !important;

    text-shadow: none !important;

    outline: none !important;
}


/* =========================================================
   27-3B. 評價區
========================================================= */

body.single-product
.woocommerce-tabs
#reviews,

body.single-product
.woocommerce-tabs
#comments,

body.single-product
.woocommerce-tabs
#review_form_wrapper {
    color:
        rgba(255, 255, 255, 0.90) !important;
}


body.single-product
.woocommerce-tabs
#reviews
h2,

body.single-product
.woocommerce-tabs
#comments
h2,

body.single-product
.woocommerce-tabs
#review_form_wrapper
h3 {
    color: #ffffff !important;

    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}


body.single-product
.woocommerce-tabs
#reviews
.commentlist
li {
    margin-bottom: 14px !important;
    padding: 15px !important;

    background:
        rgba(8, 21, 37, 0.72) !important;

    border:
        1px solid rgba(255, 255, 255, 0.10) !important;

    border-radius: 10px !important;
}


body.single-product
.woocommerce-tabs
#reviews
.comment-text {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


body.single-product
.woocommerce-tabs
input[type="text"],

body.single-product
.woocommerce-tabs
input[type="email"],

body.single-product
.woocommerce-tabs
textarea {
    width: 100% !important;

    background:
        rgba(4, 15, 29, 0.86) !important;

    border:
        1px solid rgba(255, 255, 255, 0.14) !important;

    border-radius: 8px !important;

    color: #ffffff !important;

    padding: 11px 13px !important;
}


body.single-product
.woocommerce-tabs
input[type="text"]:focus,

body.single-product
.woocommerce-tabs
input[type="email"]:focus,

body.single-product
.woocommerce-tabs
textarea:focus {
    outline: none !important;

    border-color:
        rgba(76, 225, 255, 0.72) !important;

    box-shadow:
        0 0 0 3px rgba(34, 191, 226, 0.12) !important;
}


/* =========================================================
   27-3C. 小螢幕資訊表改為上下排列
========================================================= */

@media screen and (max-width: 620px) {
    body.single-product
    .woocommerce-tabs {
        padding: 14px !important;
    }

    body.single-product
    .woocommerce-tabs
    table.shop_attributes {
        display: block !important;

        border-spacing: 0 !important;
    }

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    tbody,

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    tr,

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    th,

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    td {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    tr {
        margin-bottom: 12px !important;
    }

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    th {
        padding: 12px 14px !important;

        border-right:
            1px solid rgba(255, 255, 255, 0.11) !important;
        border-bottom: 0 !important;

        border-radius:
            9px 9px 0 0 !important;

        box-shadow:
            inset 3px 0 0 rgba(68, 222, 255, 0.72) !important;
    }

    body.single-product
    .woocommerce-tabs
    table.shop_attributes
    td {
        padding: 13px 14px !important;

        border-left:
            1px solid rgba(255, 255, 255, 0.11) !important;

        border-radius:
            0 0 9px 9px !important;
    }
}


/* =========================================================
   27-4. 相關商品
========================================================= */

body.single-product
div.product
> .related,

body.single-product
div.product
> .upsells,

body.single-product
.related.products,

body.single-product
.upsells.products {
    grid-area: related !important;
    grid-column: 1 / -1 !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin-top: 8px !important;
}


/* =========================================================
   27-5. 平板與手機
========================================================= */

@media screen and (max-width: 980px) {
    body.single-product div.product {
        display: block !important;
    }

    body.single-product
    .woocommerce-product-gallery,

    body.single-product
    div.product
    .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;

        margin-bottom: 28px !important;
    }

    body.single-product
    .woocommerce-tabs {
        width: 100% !important;
        max-width: 100% !important;

        margin-bottom: 32px !important;
    }

    body.single-product
    .related.products,

    body.single-product
    .upsells.products {
        width: 100% !important;
    }
}


/* =========================================================
   28. Header 與導覽列
========================================================= */

.site-title,
.site-title a,
.site-branding .site-title,
.site-branding .site-title a,
.ct-logo .site-title,
.ct-header-text {
    font-size: 32px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}


.main-navigation a,
.site-navigation a,
.primary-menu a,
.wp-block-navigation a,
.ct-header-menu a,
.ct-menu-link,
.ast-builder-menu-1 .menu-item > .menu-link,
.site-header .menu-item > a,
#masthead .menu-item > a,
.ct-header .menu-item > a,
.ast-primary-header-bar .menu-item > a {
    font-size: 18px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}


.woocommerce-breadcrumb,
.woocommerce-breadcrumb a,
.rank-math-breadcrumb,
.rank-math-breadcrumb a,
.breadcrumb,
.breadcrumb a,
.ct-breadcrumbs,
.ct-breadcrumbs a,
nav.woocommerce-breadcrumb {
    font-size: 17px !important;
    line-height: 1.7 !important;
    font-weight: 700 !important;
}


.ct-search-trigger,
.ast-search-menu-icon,
.site-header .search-icon {
    font-size: 22px !important;
}


.ct-search-trigger svg,
.ast-search-menu-icon svg,
.site-header .search-icon svg {
    width: 22px !important;
    height: 22px !important;
}


.site-header,
#masthead,
.ct-header,
.ct-header [data-row],
.ast-primary-header-bar {
    background-color: transparent !important;

    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}


/* =========================================================
   29. 固定品牌 Logo
========================================================= */

.fixed-brand-logo {
    position: fixed !important;

    top: 28px !important;
    left: 36px !important;

    z-index: 99999 !important;

    display: block !important;
}


.fixed-brand-logo img {
    position: static !important;

    display: block !important;

    width: 150px !important;
    max-width: 150px !important;

    height: auto !important;

    object-fit: contain !important;

    margin: 0 !important;
    padding: 0 !important;
}


.site-title,
.site-title a,
.site-branding .site-title,
.site-branding .site-title a,
.ct-logo .site-title,
.ct-header-text {
    visibility: hidden !important;
}


/* =========================================================
   30. 1300px 以下：商品三欄
========================================================= */

@media screen and (max-width: 1300px) {
    :root {
        --flower-filter-width: 245px;
        --flower-layout-gap: 24px;

        --flower-product-gap-x: 19px;
        --flower-product-gap-y: 30px;
    }


    body.home ul.products,
    body.home [data-products],

    body.woocommerce ul.products,
    body.woocommerce-page ul.products,

    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,

    body .wc-block-grid__products {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }


    body ul.products li.product
    .woocommerce-loop-product__title {
        font-size: 20px !important;
    }
}


/* =========================================================
   31. 900px 以下：篩選器上方、商品兩欄
========================================================= */

@media screen and (max-width: 900px) {
    :root {
        --flower-product-gap-x: 16px;
        --flower-product-gap-y: 26px;
    }


    body.home
    .entry-content
    .wp-block-columns:has(.woof),

    body.home
    .entry-content
    .wp-block-columns:has(.woof_sid),

    body.home
    .entry-content
    .wp-block-columns:has(.woof_redraw_zone),

    body.woocommerce-page
    .entry-content
    .wp-block-columns:has(.woof),

    body.woocommerce-page
    .ct-container[data-sidebar] {
        display: block !important;
    }


    body.home
    .entry-content
    .wp-block-columns:has(.woof)
    > .wp-block-column:first-child,

    body.home
    .entry-content
    .wp-block-columns:has(.woof_sid)
    > .wp-block-column:first-child,

    body.woocommerce-page
    .entry-content
    .wp-block-columns:has(.woof)
    > .wp-block-column:first-child,

    body.woocommerce-page .ct-sidebar,
    body.woocommerce-page #secondary {
        width: 100% !important;
        max-width: 100% !important;

        margin-bottom: 28px !important;
    }


    body.home ul.products,
    body.home [data-products],

    body.woocommerce ul.products,
    body.woocommerce-page ul.products,

    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,

    body .wc-block-grid__products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   32. 640px 以下：商品一欄
========================================================= */

@media screen and (max-width: 640px) {
    body,
    #page,
    .site,
    #main-container {
        background-attachment: scroll !important;
        background-position: center top !important;
    }


    body.home .site-main > .ct-container,
    body.home .site-main > .ct-container-full,
    body.home main > .ct-container,
    body.home main > .ct-container-full,

    body.woocommerce-page .site-main > .ct-container,
    body.woocommerce-page .site-main > .ct-container-full {
        width: calc(100% - 28px) !important;
    }


    body.home ul.products,
    body.home [data-products],

    body.woocommerce ul.products,
    body.woocommerce-page ul.products,

    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,

    body .wc-block-grid__products {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    .woof_submit_search_form_container,
    .woof .woof_submit_search_form_container {
        flex-direction: column !important;
        align-items: stretch !important;
    }


    .woof_submit_search_form,
    .woof_reset_search_form,
    .woof button,
    .woof input[type="submit"] {
        width: 100% !important;
    }



    .fixed-brand-logo {
        top: 18px !important;
        left: 18px !important;
    }


    .fixed-brand-logo img {
        width: 110px !important;
        max-width: 110px !important;
    }


    .main-navigation a,
    .site-navigation a,
    .primary-menu a,
    .wp-block-navigation a,
    .ct-header-menu a,
    .ct-menu-link,
    .site-header .menu-item > a,
    #masthead .menu-item > a,
    .ct-header .menu-item > a {
        font-size: 16px !important;
    }
}
