﻿@font-face {
    font-family: 'Noto Sans TC';
    src: url('../../common/fonts/NotoSansTC-VariableFont_wght.ttf') format('truetype');
    font-weight: 400 500 700; /* 定義字重範圍 */
    font-style: normal; /* 正常樣式 */
}

.policy_body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
    background: #FFF;
    width: 100%;
    font-family:Noto Sans TC, 微軟正黑體, sans-serif;
}

.policy_container {
    display: flex;
    width: 100%;
    max-width: 1280px; /* 保持最大寬度限制 */
    flex-direction: column;
    align-items: center;
    border-radius: 20px;
    border: 1px solid var(--scale-e-8-e-8-e-8, #E8E8E8);
    background: var(--scale-ffffff, #FFF);
}

.policy_content {
    display: flex;
    width: 100%;
    max-width: 1024px; /* 保持最大寬度限制 */
    padding: 50px 0; /* 上下 50px，左右 0 */
    flex-direction: column;
    align-items: flex-start;
    gap: 50px;
}

.policy_container ul {
    list-style-type: disc;
    padding-left: 14px;
    margin: 10px 0;
    list-style-position: inside;
}

    .policy_container ul li {
        margin-bottom: 5px;
        line-height: 1.5;
        text-indent: -24px;
        margin-left: 20px;
    }

        .policy_container ul li::marker {
            color: var(--scale-4-f-4-f-4-f, #4F4F4F);
        }

        .policy_container ul li h4 {
            display: inline; /* 將 h4 設為行內元素 */
            margin: 0; /* 移除多餘的外邊距 */
        }

.policy_container ol {
    list-style-type: decimal; /* 顯示數字編號 */
    list-style-position: inside; /* 編號在 <td> 內部 */
}

    .policy_container ol.no-number {
        list-style-type: none; /* 移除數字編號 */
        padding-left: 0; /* 移除左側內邊距 */
        margin-left: 0; /* 移除左側外邊距 */
    }

    .policy_container ol li {
        text-indent: -20px; /* 懸掛縮排，負值表示向左縮排 */
        margin-left: 20px; /* 確保文字與編號對齊 */
        line-height: 1.5; /* 增加行高以提升可讀性 */
    }

   .policy_container ol.no-number li {
        text-indent: 0; /* 移除懸掛縮排 */
        margin-left: 0; /* 移除左側間距 */
    }

/*PC*/
.policy_title {
    align-self: stretch;
    color: var(--scale-4-f-4-f-4-f, #4F4F4F);
    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.policy_tab {
    display: flex;
    width:100%;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
}

    /*險種tab-bar-險種未被點擊時的樣式*/
    .policy_tab .tab {
        display: flex;
        width: 180px;
        height: 100px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-radius: 20px;
        border: 1px solid var(--tertiary-key-color-e-8-e-8-e-8, #E8E8E8);
        background: var(--secondary-key-color-ffffff, #FFF);
        /* card shadow */
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    }

        /*險種tab-bar-險種被點擊時的樣式*/
        .policy_tab .tab.active {
            border: 1px solid var(--primary-key-color-005-bac, #005BAC);
            background: var(--primary-key-color-005-bac, #005BAC);
        }

        .policy_tab .tab .icon {
            width: 100px;
            height: 50px;
            flex-shrink: 0;
        }

        /*險種tab-bar-險種未被點擊時，險種名稱得樣式*/
        .policy_tab .tab .title {
            align-self: stretch;
            color: var(--primary-key-color-005-bac, #005BAC);
            text-align: center;
            font-size: 18px;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
        }

        /*險種tab-bar-險種被點擊時，險種名稱得樣式*/
        .policy_tab .tab.active .title {
            color: var(--secondary-key-color-ffffff, #FFF);
        }

.policy_menu {
    display: flex;
    flex-direction: column; /* 垂直排列 */
    align-items: flex-start;
    gap: 30px; /* 每個 menu_tag 間的間距 */
    align-self: stretch;
}

.menu_tag {
    display: flex;
    align-items: center; /* 圖標與文字垂直置中 */
    gap: 5px; /* 圖標與文字之間的間距 */
    align-self: stretch;
}

    .menu_tag .icon {
        display: flex;
        width: 18px;
        height: 18px;
        padding: 1px 0px 0px 1px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 100px;
        background: var(--primary-key-color-005-bac, #005BAC);
    }

        .menu_tag .icon svg {
            width: 11px;
            height: 11px;
            flex-shrink: 0;
            fill: #FFF; /* SVG 填充顏色 */
        }

.menu_tagtitle {
    flex: 1 0 0; /* 文字占據剩餘空間 */
    color: var(--scale-4-f-4-f-4-f, #4F4F4F);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

    .menu_tagtitle a {
        flex: 1 0 0; /* 文字占據剩餘空間 */
        color: var(--scale-4-f-4-f-4-f, #4F4F4F);
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        text-decoration: none; /* 移除超連結的底線 */
    }

.policy_area {
    display: flex;
    padding: 50px 30px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    align-self: stretch;
    border-radius: 20px;
    border: 1px solid var(--scale-e-8-e-8-e-8, #E8E8E8);
    background: var(--scale-ffffff, #FFF);
}

.policy_area_category {
    display: flex;
    width: 100px;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

    .policy_area_category .icon {
        width: 100px;
        height: 50px;
    }

.policycategoryname {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    align-self: stretch;
}

    .policycategoryname .policy_category_label {
        display: flex;
        width: 75px;
        padding: 0px 10px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 30px;
        border: 1px solid var(--tertiary-key-color-4-f-4-f-4-f, #4F4F4F);
        background: var(--secondary-key-color-ffffff, #FFF);
    }

        .policycategoryname .policy_category_label h2 {
            color: var(--tertiary-key-color-4-f-4-f-4-f, #4F4F4F);
            text-align: center;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
        }

.policy_list_area {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    align-self: stretch;
}

        .policy_list_area .policylist {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 20px;
            flex: 1 0 0;
        }

        .policyname {
            display: flex;
            gap: 5px;
            align-self: stretch;
        }


        .policyname .icon {
            flex-shrink: 0;
            position: relative;
            top: 0.2em;
        }

            .policyname .icon img {
                width: 18px;
                height: 18px;
                display: block;
            }

    .policyname .policy_label {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 1 0 0;
        align-self: stretch;
    }

.policy_area_category a, .additionalpolicy_list a, .policy_tab a, .policyname a {
    color: inherit; /* 繼承父層的文字顏色 */
    text-decoration: none; /* 移除超連結的底線 */
}

.menu_tagtitle a {
    flex: 1 0 0; /* 文字占據剩餘空間 */
    color: var(--scale-4-f-4-f-4-f, #4F4F4F);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none; /* 移除超連結的底線 */
}

.additionalpolicy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.additionalpolicyname {
    display: flex;
    padding-left: 15px;
    align-items: flex-start;
    align-self: stretch;
}

.additionalpolicyname ul {
    margin-top: 0; /* 移除上邊距 */
}

    .additionalpolicyname ul li {
        margin-bottom: 2px;
    }

.policy_label a{
    color: var(--primary-key-color-005-bac, #005BAC);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.additionalpolicyname li a {
    color: var(--scale-4-f-4-f-4-f, #4F4F4F);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.red-text {
    color: var(--primary-key-color-ee-5-b-6-e, #EE5B6E);
}

.blue-text {
    color: var(--primary-key-color-005-bac, #005BAC);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.aligned-text {
    margin: 0; /* 移除預設外邊距 */
    padding: 0; /* 移除預設內邊距 */
    color: var(--scale-4-f-4-f-4-f, #4F4F4F); /* 字體顏色 */
    font-size: 16px; /* 字體大小 */
    font-style: normal;
    font-weight: 400; /* 字體粗細 */
    line-height: normal; /* 行高 */
}

.policy_footer {
    width: 100vw; /* 設定寬度為瀏覽器寬度 */
    margin: 0; /* 確保沒有外邊距 */
    padding: 0; /* 確保沒有內邊距 */
}

/*各險種介紹頁CSS*/
.policy_tips_area {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.policy_tips {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    align-self: stretch;
}

    .policy_tips .icon {
        width: 16.007px;
        height: 21.33px;
        flex-shrink: 0; /* 防止被壓縮 */
    }

    .policy_tips .tips {
        color: var(--scale-4-f-4-f-4-f, #4F4F4F);
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        text-align: justify;
    }

    .tips a {
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

.policy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    align-self: stretch;
}

.policy_banner {
    display: flex;
    width: 100%;
    padding: 15px 0px;
    align-items: center;
    gap: 272px;
    align-self: stretch;
    border-left: 12px solid var(--primary-key-color-005-bac, #005BAC);
    background: var(--secondary-key-color-cee-4-f-2, #CEE4F2);
}

.policy_banner_title {
    flex: 1 0 0;
    color: var(--primary-key-color-005-bac, #005BAC);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.policy_intorduce {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    align-self: stretch;
}

.intordcue_section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    align-self: stretch;
    border-radius: 20px;
    background: var(--scale-ffffff, #FFF);
}

.intordcue_content {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    align-self: stretch;
}

.policy_img {
    width: 240px;
    height: 182px;
}

    .policy_img img {
        border-radius: 20px 20px 20px 20px;
    }

    .policy_description_content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex: 1 0 0;
    }

.policy_description_title {
    display: flex;
    padding: 13px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 20px 20px 0px 0px;
    background: var(--primary-key-color-005-bac, #005BAC);
}

    .policy_description_title h5 {
        display: flex;
        height: 24px;
        flex-direction: column;
        justify-content: center;
        flex: 1 0 0;
        color: var(--scale-ffffff, #FFF);
        text-align: center;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

.policy_description_field {
    display: flex;
    padding: 20px 20px 30px 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    align-self: stretch;
    border-radius: 0px 0px 20px 20px;
    border: 1px solid var(--primary-key-color-005-bac, #005BAC);
    background: var(--scale-ffffff, #FFF);
}

.policy_description_item {
    display: flex;
    align-items: center;
    gap: 20px;
    align-self: stretch;
}

.policy_item {
    display: flex;
    width: 140px;
    padding: 20px 0px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 10px;
    background: var(--secondary-key-color-e-5-effa, #E5EFFA);
}

    .policy_item h6 {
        display: flex;
        height: 30px;
        flex-direction: column;
        justify-content: center;
        flex: 1 0 0;
        color: var(--primary-key-color-005-bac, #005BAC);
        text-align: center;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

.policy_item_label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    flex: 1 0 0;
}



    .policy_item_label p, .policy_item_label li {
        align-self: stretch;
        color: var(--tertiary-key-color-4-f-4-f-4-f, #4F4F4F);
        text-align: justify;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

        .policy_item_label_li ul {
            margin: 0px 0px;
        }

    .policy_item_label_li ul li {
        margin-bottom: 0px;
    }

.policy_term {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.policy_terms_row {
    display: flex;
    gap: 20px; /* 調整兩個 policy_term 之間的間距 */
    align-items: center; /* 垂直置中 */
    justify-content: flex-start; /* 水平排列 */
}

.policy_term .icon {
    display: flex;
    width: 20px;
    height: 20px;
    padding: 3.333px 1.667px 1.652px 0.833px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0; /* 防止被壓縮 */
}

.policy_term a {
    color: var(--secondary-key-color-3197-fa, #3197FA);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}



       /* 預設隱藏 mobile table，顯示 desktop table */
        .mobile-table {
            display: none;
        }

        .desktop-table {
            display: table;
        }

.table-container {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #005BAC; /* 表格邊框 */
    border-radius: 20px; /* 直接給表格加圓角 */
    overflow: hidden; /* 隱藏超出部分 */
    border: 1px solid var(--primary-key-color-005-bac, #005BAC);
}

table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

th {
    background-color: #005BAC;
    color: white;
    padding: 8px;
    height: 50px
}

td {
    text-align: justify;
    color: var(--scale-4-f-4-f-4-f, #4F4F4F); /* 字體顏色 */
    font-size: 16px; /* 字體大小 */
    font-style: normal; /* 字體樣式 */
    font-weight: 400; /* 字體粗細 */
    line-height: normal; /* 行高 */
    padding: 20px; /* 單元格內邊距 */
    vertical-align: top;
}

td.policy-text-blue {
        flex: 1 0 0;
        color: var(--primary-key-color-005-bac, #005BAC);
        text-align: center;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        text-align: center; /* 文字置中 */
}

    td.policy-center {
        text-align: center; /* 文字置中 */
    }

    td.policy-text-left {
        text-align: left; 
    }
    td.verticalcenter {
        vertical-align: middle; /* 垂直置中 */
    }

    td:not(:last-child) {
        border-right: 1px solid #e8e8e8; /* 虛線分割 */
    }

    tr:not(:last-child) td {
        border-bottom: 1px solid #e8e8e8; /* 設定下邊框 */
    }

    .rowspan-cell {
        border-right: 1px solid #e8e8e8; /* 強制顯示右框線 */
    }

.note-text {
    font-size: 14px;
}
.centered-text {
    display: inline-block;
    text-align: left; /* 內文對齊左側（但整段被置中） */
    max-width: 100%; /* 保證不溢出 td */
}

.bottom-button {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    margin-top: 60px; /* 與上方物件的間距 */
}

.button_gotopolicy {
    display: flex;
    width: 214px;
    height: 50px;
    padding: 17px 0px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    background: var(--primary-key-color-ee-5-b-6-e, #EE5B6E);
    border: 1px solid var(--primary-key-color-ee-5-b-6-e, #EE5B6E);
    color: var(--primary-key-color-ee-5-b-6-e, #ffffff);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none; /* 移除超連結底線 */
}

.button_knowmore {
    display: flex;
    width: 214px;
    height: 50px;
    padding: 17px 0px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    background: var(--primary-key-color-ee-5-b-6-e, #ffffff);
    border: 1px solid var(--primary-key-color-ee-5-b-6-e, #EE5B6E);
    color: var(--primary-key-color-ee-5-b-6-e, #EE5B6E);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none; /* 移除超連結底線 */
}

.text_gray_note {
    color: var(--scale-b-2-b-2-b-2, #B2B2B2);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.tick_icon {
    display: flex;
    width: 30px;
    height: 30px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.question {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    align-self: stretch;
    color: var(--primary-key-color-005-bac, #005BAC);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.question_item {
    color: var(--scale-4-f-4-f-4-f, #4F4F4F);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    display: flex;
}

/*RWD*/
/* 瀏覽器 1280px 以下 */
@media (max-width: 1280px) {
    .policy_container {
        max-width: 1240px; /* 保持最大寬度限制 */
    }

    .policy_content {
        max-width: 1024px; /* 保持最大寬度限制 */
    }
}
/* 瀏覽器 1024px 以下 */
@media (max-width: 1024px) {
    .policy_body {
        gap: 40px;
    }

    .policy-warp-width {
      /*  align-items: flex-start;*/
    }

    .policy_container {
        max-width: 984px; /* 保持最大寬度限制 */
    }

    .policy_content {
        max-width: 768px; /* 保持最大寬度限制 */
    }
    .policy_footer {
        margin-top: 80px; /* 確保 footer 與 policy_content 間距為80*/
    }

    .policy_terms_row {
        flex-wrap: wrap;
        gap: 10px; /* 調整兩個 policy_term 之間的間距 */
        justify-content: flex-start; /* 水平靠左對齊 */
    }

    .policy_tab .tab {
        width: 128.8px;
        height: 100px;
    }

        .policy_tab .tab .icon {
            width: 80px;
            height: 40px;
        }
}

@media (max-width: 768px) {
        .policy_content {
            max-width: 100%; /* 設定最大寬度為 100% */
            padding: 50px 10px;
            align-items: stretch;
        }

        .policy_area {
            padding: 50px 20px;
        }

        .policy_description_content {
            width: 100%;
        }

        .policy_container {
            border: none; /* 移除框線 */
            max-width: 100%;
        }

            .policy_tab {
                flex-wrap: wrap;
                width: 100%
            }

        .policy_title {
            font-size: 24px;
            width: 100%;
        }

        .policy_img {
            width: 100%;
            height: auto; /* 高度自動調整，保持比例 */
        }

        .policy_img img {
            max-width: 100%; /* 圖片寬度填滿容器 */
            height: auto; /* 高度自動調整，保持比例 */
        }

        .policy_list_area {
            flex-direction: column;
        }

        .policy_menu, .policy_area, .policy_list_area {
            width: 100%;
        }

        .intordcue_content, .policy_description_item {
            flex-direction: column;
        }

        .policy {
            width: 100%;
        }

        .policy_item {
            width: 100%;
            height: 30px;
        }

        .button_gotopolicy, .button_knowmore {
            width: 140px;
            padding: 14px 0px;
        }

        td {
            padding: 10px; /* 單元格內邊距 */
        }


    .mobile-table {
        display: table;
    }

    .desktop-table {
        display: none;
    }

    .blue-background {
        background: var(--secondary-key-color-e-5-effa, #E5EFFA);
    }
}

@media (max-width: 700px) {
    .policy_tab .tab {
        width: 90px;
        height: 70px;
        margin-bottom: 10px;
    }

    .policy_tab .tab .icon {
        width: 60px;
        height: 30px;
    }
}

@media (max-width: 400px) {
            .policy_tab {
                width: 100%;
                display: grid;
                justify-content: space-around;
                grid-template-columns: repeat(auto-fill, 100px);
                margin: 0; /* 移除外邊距 */
                padding: 0; /* 移除內邊距 */
                box-sizing: border-box; /* 包含邊框和內邊距 */
            }

            .policy_tab .tab {
                width: 90px;
                height: 70px;
                margin: 10px auto; /* 讓grid內元素置中 */
            }
}

@media (max-width: 360px) {
        .policy_content {
            align-items: stretch; /* 確保子元素寬度填滿父元素 */
        }

        .policy_img {
            width: 100%;
            max-width: 330px;
            height: 100%;
            max-height: 250px;
        }

        .policy_img img {
            max-width: 330px;
            max-height: 250px;
        }
 }

@media (max-width: 334px) {
    .policy_tab {
        grid-template-columns: repeat(auto-fill, 90px);
    }
}
