
/* --------------------------------------------------------------------------
   本页（how-to-buy.php）专用覆盖。trial.css 只有本页 link，所以下规则天然只生效于本页。
   2026-10-08 用户给的规格里有 4 条落在公共文件上
   （neo.article.css 的 .neo-banner.thing-banner；neo.css 的 .neo-banner .btn-group a
   与 .text-collapse h4），那两处还被 how-to-video.php、
   white-papers 两页和 12 个 FAQ 页使用，所以写成本页覆盖，
   公共文件一行未改。
   -------------------------------------------------------------------------- */
.neo-banner.thing-banner h1, .neo-banner.thing-banner .h1 {
    /* 必须 !important：neo.article.css 里的同名规则也是 !important，靠加载顺序取胜 */
    font-size: 44px !important;
    font-weight: 600;
}

/* 不再写 font-family：原条那行是冗余的
   （style.css 的 body 已 !important 定死 IBMPlexSans，算出来一样） */
.neo-banner.thing-banner p {
    margin-bottom: 40px;
}

.neo-banner .btn-group a {
    gap: 10px;
}

.text-collapse h4 {
    font-size: 19px !important;
    margin-top: 22px;
}

.tabs-def__title {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-bottom: 4px solid transparent;
    padding: 17px 3px 15px;
    font-size: 19px;
    color: #3D3D3D;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: .3s ease;
}

.tabs-def__title.active {
    color: #4AD1CD;
    border-color: #4AD1CD;
}

.tabs-def__version {
    background-color: #FFFFFF;
    box-shadow: 0 4px 10px 0 rgba(26, 83, 85, 0.2);
    border-radius: 40px;
    width: fit-content;
    margin: 0 auto;
    padding: 0 50px;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 120px;
}

.tabs-def__title--lg {
    height: 80px;
    font-size: 19px;
    line-height: 1;
    padding: 20px 0;
    color: #3D3D3D;
    border-bottom: 4px solid transparent;
}

.tabs-def__title--lg.active, .tabs-def__title--lg:hover {
    color: #4AD1CD;
    z-index: 2;
    border-color: #4AD1CD;
}

.tabs-def__title--pr {
    font-size: 19px;
    text-transform: none;
}

.h-align-center {
    line-height: 30px;
    background-color: #02E0DC;
    color: white;
    position: relative;
    text-align: center;
    margin: 0 15px 20px;
    padding: 20px 30px;
    border-radius: 16px;
}

.price__head {
    font-size: 24px;
    height: 100px;
    line-height: 30px;
    padding: 35px 30px;

    background-color: #F7F7F7;
    color: #3D3D3D;
    position: relative;
    text-align: center;
    border-radius: 20px 20px 0 0;
    font-weight: bolder;
}

.price__title {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    line-height: initial;
    margin: 0;
}

.price__title-s {
    margin-bottom: 10px;
    font-size: 19px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: 0.02em;
    color: #3D3D3D;
}

.price__content {
    padding: 20px 70px;
}

/* Enterprise Edition 卡片的内容区渐变底。
   .price 没有 overflow: hidden，所以底部圆角要自己补，
   与 .price__head 的 border-radius: 20px 20px 0 0 对应。 */
.price__content--enterprise {
    background-image: linear-gradient(180deg, #4ad1cd4d 0%, #eafdf84d 64%, #eafdf800 100%);
    border-radius: 0 0 20px 20px;
}

.price__content-main {
    color: #171717;
}

.price__sm-t {
    font-size: 19px;
    font-weight: normal;
    line-height: 22px;
    letter-spacing: 0.02em;
    color: #3D3D3D;
    margin-bottom: 30px;
}

.price__list {
    font-size: 19px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: 0.02em;
    color: #3D3D3D;
    margin-bottom: 30px;
}

.price__list li {
    line-height: 30px;
    position: relative;
    display: flex;

    background-image: url("../img/library/icon/check.webp");
    background-position: left 10px;
    background-repeat: no-repeat;
    padding-left: 18px;
}

.price__list li.hot {
    color: #23ABB3;
}

.h-bold {
    font-weight: bolder
}

.tabs-def--sec .tabs-def__title {
    padding: 15px 0;
    margin-right: 50px;
    border: 0
}

.tabs-def--sec .tabs-def__title:last-child {
    margin-right: 0
}

.tabs-def--tert .tabs-def__head {
    margin-bottom: 50px;
    box-shadow: none
}

.tabs-def--tert .tabs-def__title {
    padding: 10px 20px;
    margin-right: 5px;
    border-radius: 8px;
    border: 0
}

.tabs-def--tert .tabs-def__title:last-of-type {
    margin-right: 0
}

.tabs-def--tert .tabs-def__title.active, .tabs-def--tert .tabs-def__title:focus, .tabs-def--tert .tabs-def__title:hover {
    background-color: #f2f8ff
}

.tabs-def__head-in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 50px;
}

/* 本页规格：标题块与下方 tab 条的间距。
   规格里写的是 `.tabs-def .title-component`，但那条 (0,2,0) 会被
   neo.css 的 `.main-page .container > .title-component{margin-bottom:70px}`(0,3,0) 盖掉，
   所以这里写成带 `.container` 的同抗衡写法。 */
.tabs-def .container > .title-component {
    margin-bottom: 40px;
}

.tabs-def__head--lg {
    margin-bottom: 40px;
}

.tabs-def__head-in--center {
    justify-content: center
}

.tabs-def__panel {
    display: none;
    color: #373737;
    animation: fadeEffect .5s
}

.tabs-def__panel.active {
    display: block
}

.neo-layer .btn-group {
    display: flex;
    justify-content: center;
}

.neo-layer a {
    min-width: 300px;
    height: 60px;
    line-height: 60px;
    font-size: 22px;
    text-align: center;
    padding: 0 20px;
}

.h-image-center img {
    max-width: 100%;
    height: auto;
    max-height: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.price {
    height: 100%;
    border-radius: 20px;
    box-shadow: 0 4px 10px 0 rgba(26, 83, 85, 0.3);
}

.h-z-index {
    border-radius: 20px;
    background-color: #FFFFFF;
    backdrop-filter: blur(20px);
    box-shadow: 0 0 24px 0 rgba(117, 117, 117, 0.08);
    margin-bottom: 40px;
    /* neo.css 的 `.main-page div > .container` 给了 88px 下内边距，要按规格归零只能 !important */
    padding-bottom: 0 !important;
}

.h-z-index + .container {
    padding-top: 0 !important;
}

.h-z-index .title-component {
    margin-bottom: 40px !important;
}

.h-sticky {
    background-color: white;
    z-index: 1;
    position: sticky;
    top: 70px;
    display: none;
}

.h-sticky.active {
    display: block;
}

.link-arr {
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.01em;
    color: #23ABB3;
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}

@media (max-width: 991px) {
    .tabs-def__title--pr {
        margin: 0 15px;
    }
}

@media (min-width: 768px) {
    .neo-layer a:first-child {
        margin-right: 45px;
    }

    .neo-layer a:last-child {
        margin-left: 45px;
    }
}

@media (max-width: 767px) {
    .tabs-def__title--lg {
        width: 50%;
    }

    .neo-comparison .item .item-td {
        width: 100px
    }

    .neo-layer .btn-group {
        flex-direction: column;
        align-items: center;
        margin-bottom: -15px;
    }

    .neo-layer a:first-child {
        margin-bottom: 20px;
    }
}

.neo-submit.form-trial {
    background-image: url(../img/trial/illustration/background.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.neo-submit.form-trial .explain, .neo-submit.form-trial .explain li {
    color: #ffffff;
}

.neo-submit .form {
    box-shadow: unset;
}

.trial-background {
    background-color: #eaeff2;
}

/** Trial Carousel **/
.neo-trial-carousel {
    position: relative;
    overflow: hidden;
}

.neo-trial-carousel .brand-title {
    width: 100%;
    position: absolute;
    top: 70px;
    left: 0;
    z-index: 2;
}

.neo-trial-carousel .brand-title .container {
    width: 100%;
    text-align: center;
    padding: 0;
}

.neo-trial-carousel .item {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: white;
    position: relative;
    padding: 120px 0 40px;
    text-align: center;
}

.neo-trial-carousel .item p {
    font-size: 16px;
    margin-bottom: 20px;
}

.neo-trial-carousel .item .addr {
    font-size: 16px;
    font-weight: bolder;
    margin-bottom: 40px;
}

.neo-trial-carousel .swiper-pagination {
    width: 100%;
    text-align: center;
    overflow: hidden;
    position: absolute;
    bottom: 20px;
}

.neo-trial-carousel .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #FFFFFF;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
}

.banners-def {
    width: 100%;
    overflow: unset;
}

.banners-def .swiper-slide {
    width: unset;
    text-align: center;
}

.banners-def .swiper-slide img {
    height: 40px;
}

/** 版本对比 **/
.neo-comparison .item {
    padding: 0;
    background-color: white;
}

.neo-comparison .item.item-sticky {
    position: sticky;
    top: 70px;
    z-index: 1;
    background-color: #F7F7F7;
}

.neo-comparison .item .item-tr {
    width: 100%;
    display: flex;
    align-items: center;
}

.neo-comparison .item .item-th {
    width: unset;
    flex: auto;
    text-align: left;
}

.neo-comparison .item .item-thead {
    height: 68px;
    line-height: 40px;
    font-size: 19px;
    font-weight: bolder;
    cursor: pointer;
    transition: none;
    padding: 15px 30px;
}

/* 第一行（Get a Quote / Standard / Enterprise）字号更大 */
.neo-comparison .item.item-sticky > .item-thead {
    letter-spacing: 0.02em;
    font-size: 24px;
}

.neo-comparison .item:not(.item-sticky) .item-thead {
    letter-spacing: 0.02em;
    font-size: 19px;
}

.neo-comparison__box > .item:nth-child(even) .item-thead {
    background-color: #FFFFFF;
}

.neo-comparison__box > .item:nth-child(odd) .item-thead {
    background-color: #F7F7F7;
}

.neo-comparison .item .item-thead .item-th {
    color: #3D3D3D;
}

.neo-comparison .item .item-td-plus {
    font-size: 24px;
    flex: none;
}

.neo-comparison .item .item-thead .item-td-plus i {
    color: #3D3D3D;
    transition: .3s ease;
}

.neo-comparison .item.active .item-thead .item-td-plus i {
    transform: rotate(180deg);
}

.neo-comparison .item a.btn-normal {
    font-size: 16px;
    color: white;
    background-color: var(--default-color);
    padding: 0 10px;
    border-radius: 5px;
    border: 1px solid var(--default-color);

    display: inline-block;
}

.neo-comparison .item a.btn-normal:hover {
    color: var(--default-color);
    background-color: white;
}

.neo-comparison .item .item-rowspan {
    width: 510px;
}

.neo-comparison .item.active > .item-tr > .item-td, .neo-comparison .item-child.active > .item-tr > .item-td {
    display: block;
}

.neo-comparison .item > .item-tbody {
    border-bottom: 1px solid #D3D3D3;
}

.neo-comparison .item-tbody {
    background-color: white;
    display: none;
}

.neo-comparison .item-tbody .item-title {
    height: 58px;
    line-height: 58px;
    font-size: 18px;
    font-weight: bolder;
    cursor: pointer;
    transition: none;
    padding: 0 30px;
}

.neo-comparison .item-child > .item-title .item-th {
    color: #171717;
}

.neo-comparison .item-child > .item-title .item-td-plus {
    color: #3D3D3D;
}

.neo-comparison .item-child > .item-title .item-td-plus i {
    transition: .3s ease;
}

.neo-comparison .item-child.active > .item-title .item-td-plus i {
    transform: rotate(180deg);
}

.neo-comparison .item-child.active .item-child.active .item-title {
    background-color: #42bbc9;
    color: white;
}

/* 二级标题行 */
.neo-comparison__box .item-child:nth-child(even) > .item-tr.item-title {
    background-color: #F7F7F7;
}

.neo-comparison__box .item-child:nth-child(odd) > .item-tr.item-title {
    background-color: #FFFFFF;
}

.neo-comparison .item-feature {
    position: relative;
    line-height: 40px;
    font-size: 16px;
    font-weight: bolder;
    color: #666666;
}

/* 第三列（Enterprise）在每个功能组内走一整条渐变。
   逐格按累计高度切片在纯 CSS 里算不出来（行高不固定），所以改成在 .item-feature
   的右侧三分之一整块铺一层渐变：三级行是 item-th + 两个 flex: 1 的 item-td，
   宽度正好三等分，覆盖层和第三列严格对齐；每组各自从顶 30% 青淡到底部全透明。
   末端 #eafdf800 完全透明，所以不会盖住表格底部的圆角，也不会在组交界处留下硬边。
   pointer-events: none 是为了不影响行的 hover。 */
.neo-comparison .item-feature::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 33.3333%;
    background-image: linear-gradient(180deg, #4ad1cd4d 0%, #eafdf84d 87%, #eafdf800 100%);
    pointer-events: none;
}

/* 三级内容行 */
.neo-comparison .item-feature .item-tr:nth-child(odd) {
    background-color: #FFFFFF;
}

.neo-comparison .item-feature .item-tr:nth-child(even) > .item-td:nth-child(2) {
    background-image: linear-gradient(90deg, #f7f7f7 23%, #ffffff00 100%);;
}

.neo-comparison .item-feature .item-tr > .item-th {
    font-size: 16px;
    font-weight: normal;
    letter-spacing: 0.02em;
    color: #3D3D3D;
    text-align: center;
    background-color: #F7F7F7;
    min-height: 60px;
    line-height: 22px;
    align-items: center;
    align-content: center;
    padding: 10px;
    flex: 1;
}

.neo-comparison .item-tr > .item-td {
    flex: 1;
    text-align: center;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    display: flex;
}

/* Choose the Right Edition：勾/叉由 .cmp-icon 圆形图标字体改为 possess.png / none.png 图片 */
.neo-comparison .cmp-icon {
    display: inline-block;
    border-radius: 0;
}

.neo-comparison {
    background-image: radial-gradient(76% 90% at 50% 100%, #4ad1cd4d 0%, #c4faea80 45%, #fcfeff 100%);
}

.neo-comparison .item span.new {
    padding: 2px 5px;
    border-radius: 5px;
    margin-left: 10px;
    font-size: 12px;
    color: #fff;
    background: #2dabe2
}

.neo-comparison__box {
    box-shadow: 0 4px 10px 0 rgba(26, 83, 85, 0.3);
    border-radius: 20px;
}

.neo-comparison__box > .item:first-child, .neo-comparison__box > .item:first-child > .item-thead {
    border-radius: 20px 20px 0 0;
}

.neo-comparison__box > .item:last-child {
    border-radius: 0 0 20px 20px;
    overflow: hidden;
}

.neo-comparison__box .item.active > .item-tr.item-thead {
    background-color: #CDF3F2;
}

.neo-comparison__box .item.active > .item-tr.item-thead .item-th {
    color: #00BFBF;
}

@media (min-width: 992px) {
    @supports (grid-template-rows: subgrid) {
        #s_workloads .l-row {
            --price-rows: 10; /* 1 head + 8 sections + "See All Features" */
        }

        #s_virtual .l-row {
            --price-rows: 12; /* 1 head + 10 sections + "See All Features" */
        }

        #s_workloads .l-row,
        #s_virtual .l-row {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 560px));
            grid-template-rows: repeat(var(--price-rows, 12), auto);
            justify-content: center;
            column-gap: 30px;
            row-gap: 0; /* the cards' own margins do the spacing */
        }

        #s_workloads .l-col,
        #s_virtual .l-col,
        #s_workloads .price,
        #s_virtual .price,
        #s_workloads .price__content,
        #s_virtual .price__content,
        #s_workloads .price__content-main,
        #s_virtual .price__content-main {
            display: grid;
            grid-template-rows: subgrid;
        }

        #s_workloads .l-col,
        #s_virtual .l-col,
        #s_workloads .price,
        #s_virtual .price {
            grid-row: 1 / -1;
        }

        #s_workloads .l-col:first-child,
        #s_virtual .l-col:first-child {
            grid-column: 1;
        }

        #s_workloads .l-col:last-child,
        #s_virtual .l-col:last-child {
            grid-column: 2;
        }

        #s_workloads .price__head,
        #s_virtual .price__head {
            grid-row: 1;
        }

        #s_workloads .price__content,
        #s_virtual .price__content {
            grid-row: 2 / -1;
        }

        /* one row per section, leaving the last row for "See All Features" */
        #s_workloads .price__content-main,
        #s_virtual .price__content-main {
            grid-row: 1 / -2;
        }

        #s_workloads .link-arr,
        #s_virtual .link-arr {
            grid-row: -2 / -1;
        }
    }
}
