* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family:
        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, sans-serif;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-y: scroll;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

body {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.page-container{
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.auth-bg {
    background: url("images/login/Group_2364@3x.jpg") no-repeat center center
        fixed;
    background-size: cover;
}

/* Header */
.site-header {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.header-content {
    width: 1200px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo img {
    height: 40px; /* Adjust based on actual aspect ratio */
}

.main-nav ul {
    display: flex;
    list-style: none;
    gap: 40px;
}

.main-nav a {
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.3s;
    font-family: PingFang SC-Regular;
}

.main-nav a:hover,
.main-nav a.active {
    color: #cc1d32; /* Assuming a reddish brand color based on description */
}

.header-actions {
    display: flex;
    gap: 15px;
}

.btn-login-outline {
    text-decoration: none;
    padding: 6px 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #666;
    font-size: 14px;
}

.btn-register-solid {
    text-decoration: none;
    padding: 6px 20px;
    background-color: #cc1d32;
    border: 1px solid #cc1d32;
    border-radius: 4px;
    color: white;
    font-size: 14px;
}

/* Main Login Section */
.login-section {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 70px; /* Space for fixed header */
}

.login-container {
  padding-bottom: 20px;
    width: 1200px;
    position: relative; /* Add relative positioning context */
    height: 100%; /* Ensure container takes full height for absolute positioning if needed */
}

.login-box {
    width: 420px;
    padding: 35px 40px;
    backdrop-filter: blur(10px);
    margin-left: 150px;
    margin-top: 160px;
    background: #f8f8f8;
    box-shadow: 0px 0px 20px 0px #eaeaea;
    border-radius: 16px 16px 16px 16px;
}

.login-box h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 24px;
    color: #000000;
}

.login-tabs {
    display: flex;
    margin-bottom: 16px;
}

.tab {
    padding-bottom: 4px;
    margin-right: 20px;
    cursor: pointer;
    font-size: 16px;
    color: #aaaaaa;
    position: relative;
}

.tab.active {
    color: #000000;
    font-weight: 600;
}

.tab.active::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #cc1d32; /* Yellowish accent */
}

.form-group {
    margin-bottom: 16px;
    position: relative; /* Add this to position the icon */
}

.password-group {
    display: flex;
    align-items: center;
}

.input-field {
    width: 100%;
    padding: 12px 15px;
    padding-right: 40px; /* Make space for the icon */
    border: 1px solid transparent;
    background: #ffffff;
    border-radius: 17px 17px 17px 17px;
    font-size: 14px;
    outline: none;
    transition: border 0.3s;
}

.icon-eye {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px; /* Adjust size as needed */
    height: auto;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.3s;
}

.icon-eye:hover {
    opacity: 1;
}

/* Arrow for Menu */
.arrow-down {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid transparent;
    margin-left: 5px;
    vertical-align: middle;
    transition: border-top-color 0.3s;
}

.main-nav a:hover .arrow-down,
.main-nav a.active .arrow-down {
    border-top-color: #cc1d32;
}

.input-field:focus {
    border-color: #cc1d32;
    background-color: #fff;
}

.form-options {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    font-size: 12px;
    color: #999;
}

.checkbox-container {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
}

.checkbox-container input {
    margin-top: 2px;
    margin-right: 8px;
}

.checkbox-container a {
    color: #2d85ff;
    text-decoration: none;
}

.btn-submit {
    width: 100%;
    padding: 12px;
    background: #cc1d32;
    border-radius: 17px 17px 17px 17px;
    color: white;
    border: none;
    font-size: 16px;
    cursor: pointer;
    /* margin-bottom: 20px; */
    transition: background 0.3s;
}

.btn-submit:hover {
    background-color: #c42642;
}

.form-footer {
    text-align: center;
    font-size: 14px;
}

.form-footer a {
    color: #2d85ff;
    text-decoration: none;
    margin: 0 10px;
}

/* --- Registration Page Styles --- */

.register-page {
    /* Override main background for register page if needed, or keep same */
    background: #fcfcfc; /* Cleaner background for registration based on image */
}

.register-section {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 70px;
    padding-bottom: 20px;
}

.register-box {
    width: 500px;
    background: white;
    padding: 40px 60px;
    /* Optional shadow/border if it's a card, or transparent if it's just content */
    /* Based on image, it looks like a clean layout, maybe slight shadow or just white on white */
    /* Let's add a subtle shadow for better visibility */
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.05);
    border-radius: 10px;
}

.register-box h2 {
    text-align: center;
    font-size: 24px;
    color: #333;
    margin-bottom: 40px;
    font-weight: normal;
}

/* Phone Group with Area Code */
.phone-group {
    display: flex;
    gap: 10px;
}

.area-code-wrapper {
    position: relative;
    width: 120px;
    height: 46px; /* Match input height */
    border: 1px solid #eee;
    background-color: #f9f9f9;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    user-select: none;
}

.area-code-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    height: 100%;
    color: #333;
}

.arrow-down-small {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #999;
}

.area-code-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    border: 1px solid #eee;
    border-radius: 8px;
    margin-top: 5px;
    list-style: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    display: none;
    z-index: 10;
}

.area-code-wrapper.active .area-code-dropdown {
    display: block;
}

.area-code-dropdown li {
    padding: 10px 15px;
    color: #666;
    transition: background 0.2s;
}

.area-code-dropdown li:hover {
    background-color: #f5f5f5;
    color: #333;
}

.phone-input {
    flex: 1;
}

/* Verify Group */
.verify-group {
    display: flex;
    position: relative;
}

.verify-input {
    padding-right: 100px; /* Space for button */
}

.btn-get-code {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
    color: #2d85ff; /* Blue color */
    font-size: 14px;
    cursor: pointer;
    outline: none;
}

.btn-get-code:hover {
    text-decoration: underline;
}

/* Frame Eye Icon */
.icon-eye-frame {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px; /* Frame icon might be slightly larger or different shape */
    height: auto;
    cursor: pointer;
    opacity: 0.8;
}

/* Register Button */
.btn-register-big {
    background-color: #cc1d32; /* Red */
    height: 50px;
    font-size: 18px;
    margin-top: 10px;
}

/* --- Home Page Styles --- */
.home-page .hero-section {
    width: 100%;
    height: 600px; /* Adjust height based on background image ratio */
    background: url("images/indexpic/1_8922641@2x.jpg") no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px; /* Increased from 70px to avoid overlap */
}

.brand-page .brand-hero {
    width: 100%;
    height: 600px;
    background: url("images/kind/Group_2251@2x.jpg") no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px;
}

.brand-hero-title {
    font-size: 44px;
    color: #212121;
    line-height: 1.3;
    margin-bottom: 20px;
    font-weight: 600;
}

.brand-hero-subtitle {
    font-size: 20px;
    color: #333;
    margin-bottom: 30px;
}

.merchant-page .merchant-hero {
    width: 100%;
    height: 600px;
    background: url("images/shopping/Group_2325@2x.jpg") no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px;
}

.merchant-hero-title {
    font-size: 44px;
    color: #212121;
    line-height: 1.3;
    margin-bottom: 20px;
    font-weight: 600;
}

.merchant-hero-subtitle {
    font-size: 20px;
    color: #333;
    margin-bottom: 30px;
}

.merchant-benefits {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.benefits-rows {
    width: 1200px;
    display: flex;
    flex-direction: column;
    gap: 80px;
    margin-bottom: 60px;
}

.benefit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.benefit-row.reverse {
    flex-direction: row-reverse;
}

.benefit-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Default align left */
}

/* Center text content when on the right side in reverse mode?
   Actually design shows centered text usually?
   Let's check the request. "Left top is icon, middle and below is text".
   It implies a centered alignment within the text block or left aligned.
   Usually these features are centered or left. Let's stick to center for the icon/title stack.
*/
.benefit-text {
    align-items: flex-start;
    text-align: left;
}

.benefit-icon-wrapper {
    margin-bottom: 20px;
}

.benefit-icon-wrapper img {
    width: 64px;
    height: 64px;
    display: block;
}

.benefit-text h3 {
    font-size: 28px;
    color: #212121;
    margin-bottom: 16px;
    font-weight: 600;
}

.benefit-text p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
}

.benefit-image {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.benefit-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* SaaS Grid Styles */
.saas-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 10px; /* Row gap 20, Col gap 10 */
    margin-top: 30px;
    width: 100%;
}

.saas-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.saas-icon-box {
    width: 60px;
    height: 60px;
    background: #fff8f9; /* Light pink background */
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.saas-icon-box img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.saas-item span {
    font-size: 12px;
    color: #666;
    text-align: center;
}

.category-pills {
    display: flex;
    gap: 12px;
}

.pill.small {
    display: inline-block;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
    color: #666;
    font-size: 16px;
    line-height: 28px;
}

.pill.small:hover {
    color: #333;
}

.pill.small.active {
    background-color: #cd1d2a;
    color: #ffffff;
    padding: 0px 10px;
    border-radius: 8px;
}

.global-page .global-hero {
    width: 100%;
    height: 600px;
    background: url("images/global/Frame@2x.jpg") no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px;
}

.global-hero-title {
    font-size: 44px;
    color: #212121;
    line-height: 1.3;
    margin-bottom: 20px;
    font-weight: 600;
}

.global-hero-subtitle {
    font-size: 20px;
    color: #333;
    margin-bottom: 30px;
}

.global-filters {
    width: 100%;
    padding: 60px 0 20px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.filters-wrap {
    width: 1000px;
}

.filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.filter-label {
    width: 90px;
    font-size: 14px;
    color: #333;
    text-align: right;
}

.filter-bar {
    flex: 1;
    background: #f3f3f3;
    border-radius: 12px;
    padding: 10px 12px;
}

.filter-pills {
    display: flex;
    gap: 8px;
}

.placeholder-grid {
    width: 1000px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.placeholder {
    height: 160px;
    background: #ededed;
    border-radius: 12px;
}

.global-core-goods {
    width: 100%;
    padding: 80px 0 40px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.core-switch {
    display: inline-flex;
    border: 2px solid #cc1d32;
    border-radius: 9999px;
    overflow: hidden;
    margin-bottom: 16px;
    background: #fff;
}
.switch-item {
    position: relative;
    display: inline-block;
    padding: 8px 18px;
    color: #cc1d32;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
    background: #fff;
    transition:
        background-color 0.15s ease,
        color 0.15s ease;
}
.switch-item + .switch-item {
    border-left: 1px solid #cc1d32;
}
.switch-item.active {
    background: #cc1d32;
    color: #fff;
}
.switch-item:hover {
    background: #cc1d32;
    color: #fff;
}

.global-assurance {
    width: 100%;
    padding: 60px 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.assurance-grid {
    width: 900px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    text-align: center;
}

.assurance-item img {
    width: 160px;
    height: auto;
    display: block;
    margin: 0 auto 10px;
}

.shopping-flow {
    width: 100%;
    padding: 60px 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.global-checkpoints {
    width: 100%;
    padding: 60px 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.checkpoints-grid {
    width: 1000px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
}

.checkpoint {
    position: relative;
    padding-top: 26px;
}

.checkpoint-bg {
    position: absolute;
    left: -6px;
    top: -10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    font-size: 48px;
    color: rgba(204, 29, 50, 0.12);
    line-height: 1;
    pointer-events: none;
}

.bg-arrow {
    transform: translateY(-2px);
}

.bg-num {
    font-family: inherit;
}

.checkpoint-title {
    font-size: 16px;
    color: #333;
    font-weight: 700;
    margin-bottom: 6px;
}

.checkpoint-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.7;
}

.global-faq {
    width: 100%;
    padding: 80px 0;
    background: #fff;
    display: flex;
    justify-content: center;
}

/* Floating Ball */
.floating-ball {
    position: fixed;
    right: 24px;
    bottom: 160px;
    width: 70px;
    background: #fff;
    border: 1px solid #eeeeee;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    overflow: hidden;
    z-index: 4000;
}
.fb-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 4px;
    gap: 6px;
    cursor: pointer;
    background: #fff;
    transition:
        background-color 0.15s ease,
        color 0.15s ease,
        filter 0.15s ease;
}
.fb-item img {
    width: 28px;
    height: 28px;
}
.fb-item span {
    font-size: 12px;
    color: #666;
}
.fb-divider {
    height: 1px;
    background: #eeeeee;
}
.fb-item:hover,
.fb-item.active {
    background: #cc1d32;
}
.fb-item:hover span,
.fb-item.active span {
    color: #fff;
}
.fb-item[data-type="phone"] img {
    filter: brightness(0) opacity(0.6);
}
.fb-item:hover img,
.fb-item.active img {
    filter: brightness(0) invert(1);
}
.fb-item:first-child {
    border-top-left-radius: 999px;
    border-top-right-radius: 999px;
}
.fb-item:last-child {
    border-bottom-left-radius: 999px;
    border-bottom-right-radius: 999px;
}

.fb-popover {
    position: fixed;
    display: none;
    right: 130px;
    width: 144px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
    padding: 10px 10px 12px;
    z-index: 4050;
}
.fb-popover .fb-close {
    position: absolute;
    right: 8px;
    top: 6px;
    font-size: 16px;
    color: #999;
    cursor: pointer;
}
.fb-popover img {
    width: 80px;
    height: auto;
    display: block;
    margin: 4px auto 8px;
}
.fb-popover .fb-text {
    font-size: 12px;
    color: #333;
    text-align: center;
}

.about-page .about-hero {
    width: 100%;
    height: 600px;
    background: url("images/about/Frame_2659.jpg") no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px;
}

.about-hero-content {
    width: 1200px;
    display: grid;
    grid-template-columns: 520px 1fr;
    align-items: center;
    gap: 40px;
}

.about-title-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.about-app-icon {
    width: 110px;
    height: 110px;
    border-radius: 4px;
    flex-shrink: 0;
}

.about-title-text {
    display: flex;
    flex-direction: column;
}

.about-hero-title {
    font-size: 40px;
    color: #ffffff;
    line-height: 1.3;
    margin-bottom: 16px;
    font-weight: 700;
}

.about-hero-subtitle {
    font-size: 18px;
    color: #ffe6ea;
    margin-bottom: 18px;
    white-space: nowrap;
}

.qr-row {
    display: flex;
    gap: 12px;
    margin: 16px 0;
}

.qr-row .qr-placeholder {
    width: 110px;
    height: 110px;
    /* border-radius: 8px; */
    /* background: rgba(255, 255, 255, 0.9); */
}

.download-buttons {
    display: flex;
    gap: 12px;
}

.download-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 110px;
    padding: 8px 14px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    border-radius: 20px;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
    justify-content: center;
}

.download-btn img {
    width: 16px;
    height: 16px;
}

/* --- Join Modal --- */
.join-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3000;
}
.join-modal {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    width: 360px;
    padding: 24px 24px 20px;
    text-align: center;
}
.join-modal h3 {
    font-size: 18px;
    color: #212121;
    margin-bottom: 16px;
    font-weight: 700;
}
.join-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 8px;
}
.join-btn {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 14px;
    cursor: pointer;
}
.join-btn-merchant {
    background: #cc1d32;
    color: #fff;
}
.join-btn-supplier {
    background: #ffffff;
    color: #cc1d32;
    border: 1px solid #cc1d32;
}
.join-close {
    display: block;
    margin-top: 12px;
    font-size: 12px;
    color: #666;
    cursor: pointer;
}
.about-info {
    width: 100%;
    padding: 80px 0;
    background: #fff;
    display: flex;
    justify-content: center;
}

.about-info-inner {
    width: 1200px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
}

.about-sidebar-title {
    font-size: 20px;
    color: #212121;
    margin-bottom: 14px;
    font-weight: 600;
}

.about-menu {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.about-big {
    font-size: 15px;
    color: #212121;
    font-weight: 600;
}

.about-small {
    font-size: 14px;
    color: #333;
}

.about-menu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 0;
    cursor: pointer;
}

.about-menu-item span {
    font-size: 14px;
    color: #333;
}

.about-menu-item img {
    width: 16px;
    height: 16px;
}

.about-menu-item.active {
    color: #cc1d32;
}

.about-sublist-title {
    font-size: 13px;
    color: #999;
    padding: 6px 2px;
}

.about-sublist {
    list-style: none;
    margin-left: 8px;
    padding-left: 8px;
    border-left: 2px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.about-sublist li {
    font-size: 13px;
    color: #666;
}

.about-sublist-inline {
    list-style: none;
    margin-left: 8px;
    padding-left: 8px;
    border-left: 2px solid #f0f0f0;
}

.about-sublist-inline li {
    font-size: 13px;
    color: #666;
}
.about-content h2 {
    font-size: 28px;
    color: #212121;
    margin-bottom: 12px;
    font-weight: 700;
}

.about-content h3 {
    font-size: 20px;
    color: #212121;
    margin: 18px 0 8px;
    font-weight: 600;
}

.about-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

.values-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.values-list .label {
    font-weight: 700;
    color: #212121;
}

/* Assurance default block */
.assurance-block {
    padding-top: 10px;
}
.assurance-top img {
    width: 500px;
    height: auto;
    display: block;
    margin: 0 auto 16px;
}
.assurance-bullets {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
}
.assurance-bullets li {
    position: relative;
    padding-left: 18px;
    color: #cc1d32;
    font-size: 14px;
}
.assurance-bullets li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 7px;
    width: 6px;
    height: 6px;
    background: #cc1d32;
    border-radius: 50%;
}
.assurance-title {
    font-size: 20px;
    font-weight: 700;
    color: #212121;
    margin: 10px 0 12px;
    text-align: left;
}
.assurance-steps {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.step {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f0f2f8;
    color: #6a7488;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.step-text h4 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 4px;
}
.step-text p {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

.mindset-section {
    margin-top: 10px;
}
.mindset-header {
    position: relative;
    text-align: center;
    background: url("images/about/Vector@2x(2).png") no-repeat center;
    background-size: 280px auto;
    padding: 24px 0 16px;
}

.mindset-block {
    padding-top: 0;
}

.brand-story {
    margin-top: 40px;
}
.product-grid {
    width: 1000px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.product-card {
    background: #fff;
    border: 1.5px dashed #cfcfcf;
    border-radius: 10px;
    padding: 16px;
}

.product-img {
    position: relative;
    padding: 20px;
    background: #f7f7f7;
    border-radius: 8px;
}

.product-img img {
    width: 100%;
    height: auto;
    display: block;
}

.badge-top {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #cc1d32;
    color: #fff;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(204, 29, 50, 0.25);
}

.product-meta {
    padding: 14px 6px 0;
    text-align: center;
}

.product-meta h4 {
    font-size: 16px;
    color: #666666;
    margin-bottom: 6px;
}

.product-meta p {
    font-size: 14px;
    color: #666;
    margin-bottom: 6px;
}

.meta-count {
    font-size: 16px;
    color: #333;
    font-weight: 700;
}

.stars {
    margin-top: 6px;
    font-size: 24px;
    letter-spacing: 2px;
    color: #333;
}

.merchant-flow {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.merchant-faq {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
}

.faq-content {
    width: 1000px;
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 40px;
    align-items: center;
}

.faq-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

.faq-title {
    font-size: 22px;
    color: #212121;
    margin-bottom: 16px;
    font-weight: 600;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.faq-pill {
    display: inline-block;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid #ffd8dd;
    box-shadow: 0 6px 18px rgba(217, 48, 78, 0.08);
    border-radius: 10px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
}
.faq-pill:hover {
    transform: scale(1.02) !important; /* Override specific transforms */
    z-index: 100 !important;
    box-shadow: 0 6px 14px rgba(217, 48, 78, 0.2); /* Stronger brand color shadow */
}

/* Supplier Apply Page */
.apply-page .apply-hero {
    width: 100%;
    padding-top: 90px;
    padding-bottom: 10px;
    display: flex;
    justify-content: center;
}
.apply-hero-title h1 {
    font-size: 28px;
    color: #212121;
    font-weight: 700;
}
.apply-section {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 20px 0 80px;
}
.apply-form {
    width: 900px;
}
.apply-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    padding: 24px;
}
.form-group {
    margin-bottom: 16px;
}
.form-group label {
    display: block;
    font-size: 16px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 600;
}
.req {
    color: #cc1d32;
    margin-left: 4px;
}
.option input {
    margin-right: 6px;
    vertical-align: middle;
}
.options-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
}
.options-grid.options-3 {
    gap: 16px;
}
.options-grid.options-wrap {
    gap: 10px 14px;
}
.option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #333;
}
.note {
    color: #cc1d32;
    margin-left: 4px;
}
.option-box {
    background: #f7f7f7;
    border-radius: 12px;
    padding: 16px;
}
.option-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.option-list.columns-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}
.upload-box {
    width: 200px;
    height: 140px;
    border: 2px dashed #e5e5e5;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
}
.input-select {
    width: 300px;
    height: 40px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 0 12px;
    font-size: 14px;
}
.input-text {
    width: 100%;
    height: 40px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 0 12px;
    font-size: 14px;
}
.apply-submit {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.btn-apply-submit {
    background: #cc1d32;
    color: #fff;
    border: none;
    border-radius: 24px;
    height: 44px;
    padding: 0 36px;
    font-size: 16px;
    cursor: pointer;
}
.brand-benefits {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.benefits-tabs {
    display: flex;
    justify-content: center;
    gap: 180px;
    margin-bottom: 70px;
}

.benefit-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    opacity: 0.5;
    transition: all 0.3s;
    position: relative;
    padding-bottom: 10px;
}

.benefit-tab img {
    width: 80px;
    height: 80px;
}

.benefit-tab span {
    font-size: 18px;
    color: #333;
}

.benefit-tab.active {
    opacity: 1;
}

.benefit-tab.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #cc1d32;
}

.benefits-content {
    width: 1000px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.benefits-details h3 {
    font-size: 24px;
    color: #212121;
    margin-bottom: 16px;
    font-weight: 700;
}

.benefits-details p {
    font-size: 18px;
    color: #666;
    line-height: 1.8;
}

.benefits-image {
    display: flex;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

.benefits-image img {
    width: 100%;
    height: 300px;
    object-fit: 100%;
    object-position: 85% center;
    transition: object-position 0.3s ease;
}

.benefits-image:hover img {
    object-position: 50% center;
}
.brand-cases {
    width: 100%;
    padding: 80px 0;
    background-color: #f8f8f8;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.case-frame {
    width: 1000px;
    position: relative;
}

.case-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: auto;
}

.case-arrow.left {
    left: -40px;
}

.case-arrow.right {
    right: -40px;
}

.case-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 24px;
    align-items: center;
}

.case-img img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.case-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-weight: 600;
    color: #212121;
}

.case-badge {
    background: #cc1d32;
    color: #fff;
    font-size: 12px;
    border-radius: 12px;
    padding: 2px 6px;
}

.case-stats {
    display: flex;
    gap: 40px;
    margin: 12px 0 16px;
}

.stat-num {
    font-size: 28px;
    font-weight: 700;
    color: #212121;
    margin-right: 6px;
}

.stat-label {
    color: #666;
    font-size: 14px;
}

.stat-icon-up {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-left: 6px;
    margin-right: 6px;
}

.case-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

/* Growth Cards Section */
.growth-cards {
    width: 1200px;
    height: 600px;
    display: flex;
    gap: 20px;
    margin: 40px auto;
}

.growth-card {
    flex: 1;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    transition: all 0.5s ease;
    cursor: pointer;
    background-color: #f0f0f0;
}

.growth-card.active {
    flex: 3;
     background-size: 100% 100%;
}

/* Expanded Content: Left Half Text, Right Half Image (Background) */
.card-expanded-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 55%; /* Text occupies left half */
    height: 100%;
    padding: 40px 30px;
    color: #fff;
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.1s ease 0.3s;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    /* Hide scrollbar */
    scrollbar-width: none;
    text-align: justify;
}

.card-expanded-content::-webkit-scrollbar {
    display: none;
}

.growth-card.active .card-expanded-content {
    opacity: 1;
    transform: translateX(0);
}

.card-expanded-content h3 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 8px;
}

.card-section h4 {
    font-size: 16px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 6px;
}

.card-section p {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

/* Collapsed Content: Title over Image Slice */
.card-collapsed-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(147,16,25,0.7); /* Darken image for legibility */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
    
}

.growth-card.active .card-collapsed-content {
    opacity: 0;
    pointer-events: none;
}

.card-collapsed-content h3 {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    /* writing-mode: vertical-rl; */
    /* text-orientation: upright; */
    letter-spacing: 4px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.brand-flow {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.flow-card {
    width: 1000px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
    padding: 28px 32px;
}

.flow-steps {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.flow-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.flow-step img {
    width: 56px;
    height: 56px;
}

.flow-label {
    font-size: 14px;
    color: #333;
}

.flow-arrow {
    position: relative;
    width: 80px;
    height: 0;
    border-top: 2px dashed #cc1d32;
}

.flow-arrow::after {
    content: "";
    position: absolute;
    right: -2px;
    top: -5px;
    width: 0;
    height: 0;
    border-left: 8px solid #cc1d32;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}
.hero-content {
    width: 1200px;
    padding-left: 20px; /* Minor adjustment if needed */
}

.hero-title {
    font-family: "PingFang SC-Medium", "PingFang SC", sans-serif;
    font-size: 48px;
    color: #cc1c29; /* Approx from UIColor(red: 0.8, green: 0.11, blue: 0.16) */
    line-height: 1.4;
    margin-bottom: 20px;
}

.hero-subtitle {
    font-family: "PingFang SC-Medium", "PingFang SC", sans-serif;
    font-size: 24px;
    color: #212121; /* Approx from UIColor(red: 0.13, green: 0.13, blue: 0.13) */
    margin-bottom: 40px;
}

.hero-actions-pill {
    display: inline-flex;
    border: 2px solid #cc1d32;
    border-radius: 50px;
    overflow: hidden;
    background-color: white;
}

.pill-btn {
    padding: 12px 30px;
    font-size: 18px;
    text-decoration: none;
    color: #cc1d32;
    transition: all 0.5s ease-out 0.5s;
    font-weight: 500;
    border-radius: 50px;
}

.pill-btn.active,
.pill-btn:hover {
    background-color: #cc1d32;
    color: white;
    font-size: 18px;
    border-radius: 50px;
}

/* Adjust borders between buttons if needed, or rely on background */
/* .pill-btn + .pill-btn {
    border-left: 1px solid #eee;
} */

/* --- Ecosystem Section --- */
.ecosystem-section {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-title {
    font-size: 40px;
    font-weight: 600; /* Semibold */
    color: #212121;
    margin-bottom: 20px;
}

.section-subtitle {
    font-size: 20px;
    font-weight: 300; /* Light */
    color: #212121;
}

.ecosystem-content {
    width: 1200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ecosystem-diagram {
    position: relative;
    width: 900px;
    height: 600px;
}

.diagram-base {
    position: relative;
    width: 100%;
    height: 100%;
}

.base-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 90%;
    z-index: 1;
}

.diagram-element {
    /* position: absolute; Removed common absolute, set individually */
    z-index: 2;
    text-align: center;
    transition: transform 0.3s ease;
}

.diagram-element:hover {
    transform: translateY(-5px);
}

/* Individual Image Styling for Precise Control */
.brand-supplier img {
    width: 130px;
    height: auto;
    display: block;
    margin-top: -25px;
    margin-left: -5px;
}

.center-platform img {
    width: 135px;
    height: auto;
    display: block;
    animation: bounceY 1.6s ease-out infinite;
    will-change: transform;
    margin-top: 5px;
    margin-left: -40px;
}

.merchant img {
    width: 160px;
    height: auto;
    display: block;
    margin-top: -150px;
    margin-left: -29px;
}

.user img {
    width: 160px;
    height: auto;
    display: block;
}

/* Positioning specific elements based on the base image */
.brand-supplier {
    position: absolute !important;
    top: 20px;
    left: 290px;
}

.center-platform {
    position: absolute !important;
    top: 186px;
    left: 51%;
    transform: translateX(-50%);
    z-index: 3;
}
.center-platform:hover {
    transform: translateX(-50%) translateY(-5px);
}

@keyframes bounceY {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-30px);
    }
}

.merchant {
    position: absolute !important;
    bottom: 60px;
    left: 120px;
}

.user {
    position: absolute !important;
    bottom: 190px;
    right: 70px;
}

/* Right Features */
.ecosystem-features {
    width: 400px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.feature-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.feature-icon {
    width: 60px;
    height: 60px;
    /* background: #f9f9f9; */
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.feature-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.feature-text h3 {
    font-size: 30px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 600;
}

.feature-text p {
    font-size: 18px;
    color: #666;
    line-height: 1.6;
}

/* --- Global Supply Section --- */
.global-supply-section {
    width: 100%;
    padding: 80px 0;
    background-color: #fff; /* Or specific background color if needed */
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: -150px;
}

.supply-tabs {
    display: flex;
    gap: 60px;
    margin-bottom: 50px;
    border-bottom: 1px solid transparent; /* Placeholder for potential line */
}

.supply-tab {
    font-size: 25px;
    color: #333;
    padding-bottom: 10px;
    cursor: pointer;
    position: relative;
    font-weight: 600;
}
.supply-tab:hover,
.supply-tab.active {
    color: #333;
    font-weight: 600;
}

.supply-tab:hover::after,
.supply-tab.active::after {
    content: "";
    position: absolute;
    bottom: 0px; /* Adjust distance from text */
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;background: linear-gradient( 268deg, rgba(203,29,50,0.9) 0%, #EF6A68 98.57%), #D9D9D9;
}

.supply-content {
    width: 1200px;
    display: flex;
    align-items: center;
    justify-content: center; /* Center the content block */
    gap: 80px;
}

.supply-image img {
    width: 600px; /* Adjust based on design (658pt approx 877px, but 600px fits layout better usually, or use max-width) */
    /* Based on image annotation: 658pt width. Let's try 650px first */
    width: 650px;
    height: auto;
    display: block;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); /* Optional shadow */
}

.supply-details {
    width: 400px;
}

.supply-details h3 {
    font-size: 30px;
    color: #333;
    margin-bottom: 20px;
    font-weight: 600;
}

.supply-details p {
    font-size: 20px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 40px;
}

.btn-outline-pill {
    display: inline-block;
    padding: 10px 30px;
    border: 1px solid #333;
    border-radius: 50px;
    color: #333;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s;
}

.btn-outline-pill:hover {
    border-color: #cc1d32;
    color: #cc1d32;
}

/* --- Core Data Section --- */
.core-data-section {
    width: 100%;
    padding: 80px 0;
    background-color: #f8f8f8;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.core-data-cards {
    width: 1200px;
    display: flex;
    justify-content: space-around;
    /* gap: 20px; */
    height: 328px;
}

.data-card {
    background: transparent; /* Default transparent for collapsed state */
    /* border-radius: 12px; Remove from here, apply to active state or keep subtle */
    padding: 24px 0px 20px; /* Reset padding */
    transition: all 0.5s ease; /* Smooth transition */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Align icon/text to bottom */
    width: 230px; /* Collapsed width */
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

/* Active/Expanded State (Default first one, or hovered) */
.data-card.active {
    width: 580px; /* Expanded width */
    background: white;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 24px 0px 20px;
    justify-content: space-between; /* Space between image and text */
}

.data-card:hover {
    /* We will handle hover logic via JS to manage the 'active' class,
       or use pure CSS sibling selectors if structure allows.
       JS is safer for "one open at a time" logic. */
}

.card-content-top {
    display: none; /* Hidden by default */
    opacity: 0;
    transition: opacity 0.3s ease 0.1s; /* Slight delay */
    justify-content: flex-end;
    transform: translate(30px, -30px);
}
.data-card:first-of-type .card-content-top {
    margin-top: 35px;
    margin-bottom: -30px;
    padding-right: 25px;
}

.data-card:nth-of-type(3) .card-content-top {
    padding-right: 52px;
}
.data-card:nth-of-type(4) .card-content-top {
    padding-right: 67px;
}
.data-card.active .card-content-top {
    display: flex;
    opacity: 1;
    transition: none;
    animation: slideDownFromTopRight 0.5s ease-out forwards;
}

@keyframes slideDownFromTopRight {
    0% {
        opacity: 0;
        transform: translate(30px, -30px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}
.data-card.active .card-content-top p {
    margin-bottom: 57px;
    margin-top: 20px;
    width: 415px;
}
.data-card.active .card-content-top.flex {
    flex-direction: column;
    padding-right: 10px;
    /* width: 415px; */
    align-items: flex-end;
}
.data-card.active .card-content-top.flex div {
    display: flex;
    margin-bottom: -10px;
    justify-content: flex-end;
}
.card-main-img {
    max-width: 100%;
    height: auto;
    /* max-height: 200px; Adjust based on expanded height */
    object-fit: contain;
}

.card-content-bottom {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: flex;
    flex-direction: column;
    /*align-items: center; */ /* Center vertically for collapsed state */
    /* gap: 15px; */
    /* Add some padding for touch target/visual */
}

.data-card.active .card-content-bottom {
    /* align-items: flex-end; */
}
.data-icon img {
    width: 48px;
    height: 48px;
    min-width: 48px;
    transition: transform 0.3s;
}

/* Optional: Enlarge icon slightly when active */
/* .data-card.active .data-icon img { transform: scale(1.1); } */

.data-text {
    white-space: nowrap;
    /* display: flex;
    flex-direction: column; */
}

.data-number {

    line-height: 1;
    margin-bottom: 5px;
    font-family: Arial, sans-serif;
    white-space: nowrap;
    display: inline-block;

    color: transparent; /* 将文字颜色设为透明，使背景渐变可见 */
    font-weight: 500;
    font-size: 48px;
    text-align: left;
    font-style: normal;
    text-transform: none;
    background: linear-gradient(to right, #ef6a68 30%, #cb1d32 100%);
    -webkit-background-clip: text; /* 关键属性：将背景裁剪到文字轮廓内 */
    background-clip: text;
}

.data-label {
    font-size: 16px;
    color: #000000;
    white-space: nowrap;
}

/* --- User Testimonials Section --- */
.testimonials-section {
    width: 100%;
    padding: 80px 0;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

.testimonials-cloud {
    position: relative;
    width: 1200px; /* Match standard width */
    height: 600px; /* Sufficient height for the cloud */
    margin-top: 50px;
}

.testimonial-card {
    position: absolute;
    background: white;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(217, 48, 78, 0.08); /* Pinkish glow by default */
    display: flex;
    align-items: center;
    gap: 15px;
    width: auto;
    min-width: 280px;
    max-width: 350px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    border: 1px solid #fff; /* White border */
    z-index: 1; /* Default z-index */
}

/* Hover Effect: Scale up and bring to front */
.testimonial-card:hover {
    transform: scale(1.15) !important; /* Override specific transforms */
    z-index: 100 !important;
    box-shadow: 0 20px 50px rgba(217, 48, 78, 0.2); /* Stronger brand color shadow */
    border-color: #ffeff1;
}

.card-avatar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.card-info h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.card-info p {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
    margin: 0;
}

/* Specific Positions for "Clustered" Layout */

/* 1. Top Center (Brand) - Behind */
.pos-1 {
    top: 5%;
    left: 45%;
    transform: translateX(-50%) rotate(-2deg);
    z-index: 1;
}

/* 2. Bottom Center (Brand) - Frontish */
.pos-2 {
    top: 65%;
    left: 48%;
    transform: translateX(-50%) rotate(2deg);
    z-index: 4;
}

/* 3. Top Right (Brand) */
.pos-3 {
    top: 15%;
    right: 18%;
    transform: rotate(3deg);
    z-index: 2;
}

/* 4. Bottom Left (Brand) */
.pos-4 {
    top: 70%;
    left: 20%;
    transform: rotate(-3deg);
    z-index: 3;
}

/* 5. Center (User @不吃香菜) - Main Focus */
.pos-5 {
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.05); /* Slightly larger */
    z-index: 10;
    box-shadow: 0 15px 40px rgba(217, 48, 78, 0.12);
}

/* 6. Top Left (User @AAA) */
.pos-6 {
    top: 20%;
    left: 18%;
    transform: rotate(-4deg);
    z-index: 2;
}

/* 7. Mid Left (User @AAA) */
.pos-7 {
    top: 45%;
    left: 12%;
    transform: rotate(2deg);
    z-index: 5;
}

/* 8. Bottom Right (User @AAA / Duplicate) */
.pos-8 {
    top: 55%;
    right: 15%;
    transform: rotate(-3deg);
    z-index: 3;
}

/* 9. Far Top Left (Brand) - Background */
.pos-9 {
    top: 10%;
    left: 5%;
    transform: rotate(2deg) scale(0.9);
    z-index: 0;
    opacity: 0.9;
}

/* 10. Far Top Right (User @AAA) - Background */
.pos-10 {
    top: 8%;
    right: 5%;
    transform: rotate(-3deg) scale(0.9);
    z-index: 0;
    opacity: 0.9;
}

/* 11. Far Bottom Left (Brand) - Background */
.pos-11 {
    bottom: 10%;
    left: 5%;
    transform: rotate(4deg) scale(0.9);
    z-index: 1;
}

/* 12. Mid Right Edge (User @不吃香菜) - Side */
.pos-12 {
    top: 40%;
    right: 2%;
    transform: rotate(3deg);
    z-index: 2;
}

/* --- Qualification Certification Section --- */
.qualification-section {
    width: 100%;
    padding: 80px 0;
    background-color: #f8f8f8;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.qualification-grid {
    width: 1200px;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
    height: 200px;
    position: relative;
}

.qualification-card {
    background: white;
    border-radius: 12px;
    width: 200px; /* Adjust to fit 5 items within 1200px */
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03); /* Very subtle shadow */
    position: relative;
}
.qualification-card:hover {
    transform: translateY(-10px) scale(1.08);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.qualification-card {
    transition: transform 0.3s ease;
}

.qualification-card img {
    width: 80px; /* Adjust size based on image content */
    height: auto;
    margin-bottom: 15px;
    display: block;
}

.qualification-card p {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    font-weight: 500;
}

.footer-cta {
    width: 100%;
    background-color: #cd1d2a;
    padding: 60px 0;
    display: flex;
    justify-content: center;
}

.footer-cta-inner {
    width: 1200px;
    text-align: center;
}

.cta-title {
    font-size: 32px;
    color: #ffffff;
    margin-bottom: 20px;
    font-weight: 600;
}

.cta-button {
    display: inline-block;
    padding: 12px 75px;
    border: 2px solid #fff;
    border-radius: 50px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
}
.cta-button:hover {
    /* transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); */

    transform: scale(1.02) !important; /* Override specific transforms */
    transform-origin: center;
    z-index: 100 !important;
    /* box-shadow: 0 6px 14px rgba(217, 48, 78, 0.2);  */
}
.site-footer {
    width: 100%;
    background-color: #111316;
    color: #fff;
    padding: 60px 0 30px;
    display: flex;
    justify-content: center;
}

.footer-content {
    width: 1200px;
    display: grid;
    grid-template-columns: 1fr 360px;
    column-gap: 40px;
    row-gap: 30px;
}

.footer-left {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    grid-column: 1;
}

.footer-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 100px;
}

.footer-nav-column h4 {
    font-size: 16px;
    margin-bottom: 28px;
}

.footer-nav-column ul {
    list-style: none;
}

.footer-nav-column ul li {
    margin-bottom: 20px;
}

.footer-nav-column ul li a {
    color: #939393;
    text-decoration: none;
    font-size: 14px;
}

.footer-nav-column ul li a:hover {
    color: #fff;
}

.footer-right {
    max-width: 360px;
    grid-column: 2;
}

.footer-right h4 {
    font-size: 16px;
    margin-bottom: 16px;
}

.contact-info {
    margin-bottom: 16px;
}

.contact-info p {
    margin: 4px 0;
    color: #939393;
    font-size: 14px;
    white-space: nowrap;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 40px;
    align-items: flex-start;
}

.footer-col h4 {
    font-size: 16px;
    margin-bottom: 16px;
}

.footer-col ul {
    list-style: none;
}

.footer-col ul li {
    margin-bottom: 10px;
}

.footer-col ul li a {
    color: #bfbfbf;
    text-decoration: none;
    font-size: 14px;
}

.footer-col ul li a:hover {
    color: #fff;
}

.footer-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
    align-items: flex-start;
}

.footer-btn {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 22px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.footer-btn-download {
    background-color: #cc1d32;
    color: #ffffff;
}

.footer-btn-consult {
    background-color: #ffffff;
    color: #cc1d32;
}

.footer-qrs .qr-list {
    display: flex;
    gap: 16px;
}

.qr-placeholder {
    width: 110px;
    height: 110px;
    border: 2px dashed rgba(255, 255, 255, 0.3);
    border-radius: 8px;
}
.qr-row .qr-placeholder{
  border: none;
  border-radius: 4px;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 40px;
    padding-top: 20px;
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: center;
    grid-column: 1 / -1;
}
.footer-bottom a {
    color: #bfbfbf;
    text-decoration: none;
}
.footer-logo img {
    height: 50px;
}

.footer-meta {
    display: flex;
    gap: 20px;
    color: #bfbfbf;
    font-size: 12px;
}

.footer-bottom p {
    color: #bfbfbf;
    font-size: 15px;
}

.footer-right .qr-list {
    display: flex;
    gap: 16px;
}
.footer-right .qr-list img {
    width: 110px;
    height: 110px;
    border-radius: 8px;
    display: block;
    background: #fff;
}

/* About Page Tabs & Content */
.about-main-tabs {
    width: 100%;
    padding: 60px 0 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about-tabs-nav {
    display: flex;
    gap: 0px;
    margin-bottom: 60px;
    /* padding-bottom: 20px; */
    height: 60px;
    line-height: 60px;
background: #F5F5F5;
border-radius: 80px 80px 80px 80px;
}

.tab-item {
    font-size: 22px;
    color: #222222;
    cursor: pointer;
    padding: 0px 80px;
    position: relative;
    font-weight: 500;
    transition: all 0.3s;
    border-radius: 80px 80px 80px 80px;
}

.tab-item.active {
    color: #fff;
    font-weight: 500;
    background: #CD1D2A;
border-radius: 80px 80px 80px 80px;
}
/* 
.tab-item.active::after {
    content: "";
    position: absolute;
    bottom: -21px; 
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #cc1d32;
    border-radius: 2px 2px 0 0;
} */

.about-tabs-content {
    /* width: 1200px; */
    min-height: 400px;
}
#announcements{
  width: 1200px;
}

.tab-pane {
    display: none;
    animation: fadeIn 0.5s ease;
}

.tab-pane.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Text Content Styling */
.text-content {
    color: #333;
    line-height: 1.8;
}

.section-block {
    margin-bottom: 20px;
}

.section-block h3 {
    font-size: 22px;
    color: #212121;
    margin-bottom: 16px;
    font-weight: 700;
}

.section-block p {
    font-size: 16px;
    color: #555;
    /* margin-bottom: 12px; */
    text-align: justify;
}

/* Brand Intro Section Styles */
.brand-intro-container {
    width: 100%;
    background-color: #fff;
}

.brand-section {
    width: 100%;
    padding: 80px 0 60px;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

.brand-section .section-content {
    width: 1200px;
}

/* Update section title style to match design better */
.about-tabs-content .section-title {
    font-size: 80px;
    font-weight: 600;
    color: transparent;
    background: linear-gradient(to bottom, #CD1D2A 0%, rgba(255,255,255,0.4) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    position: relative;
    display: inline-block;
    margin-bottom: 50px;
    font-family: Arial, sans-serif; /* Use a bold sans-serif for the big EN text */


}

.about-tabs-content .section-title.centered {
    display: block;
    text-align: center;
}

.about-tabs-content .section-title .sub-title {
    position: absolute;
    bottom: 1px;
    left: 0;
    font-size: 28px;
    font-weight: 500;
    color: #333;
    -webkit-text-stroke: 0;
    background: none;
    white-space: nowrap;
    font-family: PingFang SC, sans-serif;
}

.about-tabs-content .section-title.centered .sub-title {
    left: 50%;
    transform: translateX(-50%);
}

.section-desc {
    font-size: 14px;
    color: #666;
    margin-bottom: 40px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.section-desc.centered {
    text-align: center;
}
.section-what .section-desc.centered{
font-size: 14px;
line-height: 1.6;
}

/* Image Placeholders */
.img-placeholder-box {
   
  
}

/* Section Specifics */

/* WHO */
.section-who .section-content {
    display: flex;
    gap: 40px;
    align-items: center;
    width: 70%;
}


.who-image{
  width: 32%;
}
.who-text {
    /* flex: 1; */
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

.who-text p {
    margin-bottom: 20px;
    font-size: 14px;
    color: #666666;
    line-height: 1.8;
    text-align: justify;
}
.who-text p:last-of-type {
    margin-bottom: 0;
}
/* WHY */
.section-why {
    background: url("images/about/Rectangle_34625037.jpg") no-repeat center center;
}

.why-text-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.why-text-content p {
    margin-bottom: 20px;
    font-size: 14px;
    color: #555;
    line-height: 1.8;
}

/* WHAT */
.what-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 80%;
    margin-left: 10%;
}

.what-card {
    background: #FFF5F5;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    text-align: center;
    /* border: 1px solid #eee; */
    transition: transform 0.3s;
}

.what-card:hover {
    transform: translateY(-10px);
    border-color: #ffe6ea;
}

.what-card h3 {
    font-size: 22px;
    color: #333;
    margin-bottom: 15px;
    font-weight: 700;
}

.what-card h3 small {
    font-size: 14px;
    font-weight: 400;
}

.what-card p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    text-align: left;
}

/* HOW */
.section-how {
    padding-top: 60px;
    background: #FFF5F5;
    overflow: hidden;
    display: block; /* Override flex layout to prevent overflow */
    width: 100%;
}

.section-how .section-content1 {
    max-width: 100vw;
    overflow: hidden;
}

.how-carousel-container {
  margin-top: 60px;
    width: 100%; /* Full width to allow side peeking */
    position: relative;
    overflow: hidden; /* Prevent horizontal scroll */
}

.how-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: max-content; /* Allow content to dictate width */
    padding-left: 0; /* Reset padding if any */
}

.how-step {
    flex: 0 0 1000px; /* Fixed card width */
    display: flex;
    gap: 0;
    margin-right: -70px; /* Added gap between cards */
    border-radius: 20px;
    align-items: flex-end;
    overflow: hidden;
    /* height: 400px;  */
    padding: 0; /* Reset padding */
}

.how-step:nth-child(even) {
    flex-direction: row; /* Ensure consistent layout */
}

.step-image {
    width: 30%; /* Image takes 40% */
    object-fit: cover;
    border-radius:16px 16px 0 16px;
    flex: none;
    
}

.step-content {
    /* flex: 1; */
    height: 80%;
    padding: 40px 30px 0;
    display: flex;
     border-radius:0px 16px 16px 0;
    flex-direction: column;
    /* justify-content: center; */
    position: relative;
    width: 58%;
    background: #fff;
}

/* Quote Icon Decoration */
.step-content::before {
    content: '';
    width: 70px;
    height: 46px;
    background: url('/images/about/66@2x.jpg');
    background-size: 100%;
    font-family: Georgia, serif;
    font-size: 80px;
    color: #ffe0e3;
    position: absolute;
    top: 20px;
    left: 30px;
    line-height: 1;
}

.step-content h4 {
    font-size: 32px;
    color: #333;
    margin-bottom: 20px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.step-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    text-align: justify;
}

/* Indicators */
.how-indicators {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #e0e0e0;
    cursor: pointer;
    transition: all 0.3s;
}

.indicator.active {
    background-color: #cc1d32;
    width: 30px;
    border-radius: 6px;
}

/* STORY */
.section-story {
    background-color: #f9f9f9;
}
.section-story .section-content{
  width: 70%;
}

.story-container {
    display: flex;
    gap: 60px;
    align-items: center;
     height: 100%;
}

.story-text {
    flex: 1;
     display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}
.story-text .section-title.centered{
  text-align: right;
}
.about-tabs-content .story-text .section-title.centered .sub-title{
left: auto;
right: 0;
transform: none;
}
.story-text p {
    margin-bottom: 15px;
   font-size: 14px;
    color: #666666;
    line-height: 1.8;
}
.story-text p:last-of-type {
    margin-bottom: 0;
}
.story-image{
width: 30%;
}

/* CTA */
.section-cta {
     background: url("images/about/Rectangle_34625048.jpg") no-repeat center center;
}

.cta-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.cta-card {
    background: #fff;
    padding: 30px;
    border-radius:0 24px 0 24px;
    box-shadow: 0 10px 30px rgba(204, 29, 50, 0.08);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s;
}
.cta-card h3{
  padding-bottom: 4px;
  border-bottom: 2px solid #eee;
}
.cta-card:hover {
    transform: translateY(-5px);
}

.cta-card h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 700;
}

.cta-card p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}
.cta-card-bottom {
     display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    align-items: space-betwwen;
    height: 126px;
}

.cta-arrow-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff0f2;
    color: #cc1d32;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s;
   
}
.cta-arrow-btn span{
 font-size: 24px;
 margin-top: -4px;
}
.cta-card:hover .cta-arrow-btn {
    background: #cc1d32;
    color: #fff;
}

.cta-footer-text {
    text-align: center;
   font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 18px;
color: #666666;
    font-weight: 600;
    margin-top: 40px;
}

.sub-block {
    margin-top: 20px;
    padding-left: 20px;
    border-left: 3px solid #f0f0f0;
}

.sub-block h4 {
    font-size: 18px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 600;
}

.styled-list {
    list-style: none;
    padding-left: 0;
}

.styled-list li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 20px;
}

.styled-list li::before {
    content: "•";
    color: #cc1d32;
    position: absolute;
    left: 0;
    top: 0;
}

.highlight-text {
    color: #cc1d32;
    font-weight: 600;
    margin-top: 20px;
}

.highlight-mission {
    font-size: 22px;
    color: #212121;
    font-weight: 700;
    margin: 10px 0;
}

.values-grid {
    /* display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px; */
}

.value-item {
    /* background: #f9f9f9; */
    padding:0 20px;
    /* border-radius: 8px; */
}

.value-item h4 {
    font-size: 18px;
    color: #212121;
    margin-bottom: 8px;
    /* border-bottom: 2px solid #eee; */
}
.value-item ul{
  padding-left: 30px;
  margin-bottom: 8px;
}
.guidelines-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.guideline-item {
    /* border: 1px solid #eee; */
    padding:0 20px;
    border-radius: 8px;
    transition: box-shadow 0.3s;
}

.guideline-item:hover {
    /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); */
}

.guideline-item h4 {
    font-size: 18px;
    color: #212121;
    margin-bottom: 10px;
}

/* Announcement Grid */
.announcement-header {
    text-align: center;
    margin-bottom: 40px;
}

.announcement-header h2 {
    font-size: 36px;
    color: #212121;
}

.announcement-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding-bottom: 30px;
}
#corporate-culture{
  padding-bottom: 20px;
}
.news-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    transition:
        transform 0.3s,
        box-shadow 0.3s;
    cursor: pointer;
    border: 1px solid #f0f0f0;
    text-decoration: none; /* Remove underline */
    display: block; /* Ensure it behaves like a block for layout */
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.news-img-placeholder {
    width: 100%;
    height: 200px;
    background-color: #eee;
    background-image: linear-gradient(
        45deg,
        #f0f0f0 25%,
        #e0e0e0 25%,
        #e0e0e0 50%,
        #f0f0f0 50%,
        #f0f0f0 75%,
        #e0e0e0 75%,
        #e0e0e0 100%
    );
    background-size: 20px 20px;
}

.news-content {
    padding: 20px;
}

.news-content h4 {
    font-size: 18px;
    color: #212121;
    margin-bottom: 10px;
    font-weight: 700;
}

.news-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Merchant Showcase Section */
.merchant-showcase-section {
    padding: 80px 0;
    background-color: #fff;
    text-align: center;
}

.showcase-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    width: 800px;
    margin: 40px auto 0;
}

.showcase-column {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.showcase-column img {
    width: 100%;
    height: auto;
    display: block;
    /* Fade out effect at bottom */
    -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    transition: transform 0.3s ease;
}

.showcase-column img:hover {
    transform: translateY(-5px);
}

/* Staggered offsets for "High sides, low middle" effect */
.showcase-column:nth-child(1),
.showcase-column:nth-child(8) {
    margin-top: 0;
}

.showcase-column:nth-child(2),
.showcase-column:nth-child(7) {
    margin-top: 40px;
}

.showcase-column:nth-child(3),
.showcase-column:nth-child(6) {
    margin-top: 80px;
}

.showcase-column:nth-child(4),
.showcase-column:nth-child(5) {
    margin-top: 120px;
}

.login-type {
    width: 184px;
    height: 30px;
    background: #efefef;
    border-radius: 47px 47px 47px 47px;
    display: flex;
    justify-content: space-around;
    font-family:
        PingFang SC,
        PingFang SC;
    font-weight: 500;
    font-size: 16px;
    color: #cd1d2a;
    text-align: center;
    margin: 0 auto 30px;
}

.login-type div {
    padding: 0 20px;
    height: 30px;
    line-height: 30px;
}
.login-type div.active {
    color: #ffffff;
    background: #cd1d2a;
    border-radius: 60px 60px 60px 60px;
}

.card-title {
    font-weight: 300;
    font-size: 14px;
    color: #000000;
    text-align: center;
}

/* 商家展示 3D 倾斜漂浮效果 */
.showcase-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 500px;
    padding: 80px 20px;
    perspective: 1200px;
    /*background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.02) 0%,
        rgba(0, 0, 0, 0.05) 100%
    );*/
}

.showcase-sphere {
    position: relative;
    width: 1100px;
    height: 500px;
    transform-style: preserve-3d;

    animation: rotateSphere 45s linear infinite;
}

.showcase-sphere.paused {
    animation-play-state: paused;
}
@keyframes rotateSphere {
    0% {
        transform: rotateX(0deg) rotateY(0deg);
    }
    50% {
        transform: rotateX(0deg) rotateY(180deg);
    }
    100% {
        transform: rotateX(0deg) rotateY(360deg);
    }
}

.showcase-item {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    background: #fff;
    border: 3px solid rgba(255, 255, 255, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
}

.showcase-item:hover {
    box-shadow: 0 20px 50px rgba(205, 29, 42, 0.4);
    filter: brightness(1.1);
}

.showcase-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 响应式设计 */
@media (max-width: 480px) {
    .showcase-container {
        min-height: 500px;
        padding: 40px 10px;
    }

    .showcase-sphere {
        width: 700px;
        height: 700px;
    }
}



@media (max-width: 768px) {
    .showcase-container {
        min-height: 950px;
        padding: 60px 15px;
    }

    .showcase-sphere {
        width: 850px;
        height: 850px;
    }
}

/* --- Help Center Page Styles --- */

.help-hero {
    width: 100%;
    height: 400px;
    background: url("images/help_bg.jpg") no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px;
}

.help-hero-content h1 {
    font-size: 40px;
    color: #000;
    font-weight: 600;
    letter-spacing: 1px;
}

.help-body {
    width: 100%;
    background-color: #ffffff;
    padding: 60px 0 100px;
}

.help-container {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 60px;
}

/* Sidebar */
.help-sidebar {
    width: 240px;
    flex-shrink: 0;
    border-right: 2px solid #C5C5C5;
}

.sidebar-title {
    font-size: 24px;
    font-weight: 600;
    color: #000;
    margin-bottom: 30px;
}

.help-menu {
    list-style: none;
}

.menu-item {
    margin-bottom: 10px;
}

.menu-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px 8px 0;
    cursor: pointer;
    font-size: 16px;
    color: #333;
    font-weight: 600;
}

.menu-title-row.single-link a {
    text-decoration: none;
    color: #333;
    display: block;
    width: 100%;
    transition: color 0.3s;
}

.menu-title-row.single-link a:hover {
    color: #cc1d32;
}

.menu-arrow {
    width: 8px;
    height: 8px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: rotate(45deg);
    transition: transform 0.3s;
    margin-right: 5px;
}

.menu-arrow.active {
    transform: rotate(225deg);
    margin-top: 5px;
}

.submenu {
    list-style: none;
    padding-left: 0;
    margin-top: 5px;
    display: none;
}

.menu-item.expanded .submenu {
    display: block;
}

.submenu li {
    margin-bottom: 5px;
}

.submenu li a {
    display: block;
    padding: 4px 20px;
    font-size: 14px;
    color: #666;
    text-decoration: none;
    transition: all 0.3s;
}

.submenu li a:hover {
    color: #cc1d32;
}

.submenu li.active a {
    color: #cc1d32;
    /* background-color: #fff0f2; */
    font-weight: 500;
}

/* Main Content */
.help-main-content {
    flex: 1;
}

/* Help Tab Content */
.help-tab-content {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.help-tab-content.active {
    display: block;
    opacity: 1;
}

.content-title {
    font-size: 24px;
    color: #cc1d32;
    margin-bottom: 40px;
    font-weight: 600;
}

.qa-section {
    margin-bottom: 30px;
    max-width: 806px;
}
.qa-section:last-of-type {
    margin-bottom: 0;
}
.help-main-content .section-subtitle {
    font-size: 18px;
    color: #333;
    font-weight: 600;
    margin-bottom: 25px;
}


.qa-list{
  padding-left: 20px;
}
.qa-list li {
    margin-bottom: 4px;
}

.question {
    font-size: 16px;
    color: #000;
    font-weight: 500;
    margin-bottom: 4px;
    line-height: 1.5;
}

.answer {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    text-align: justify;
}



.article-container {
    width: 800px;
    margin: 40px auto;
    background: #fff;
    padding: 60px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    border-radius: 12px;
}

.article-header {
    margin-bottom: 40px;
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
}

.article-title {
    font-size: 32px;
    color: #212121;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 20px;
}

.article-meta {
    font-size: 14px;
    color: #999;
}

.article-content {
    font-size: 16px;
    color: #333;
    line-height: 1.8;
}

.article-content p {
    margin-bottom: 20px;
    text-align: justify;
}

.article-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #212121;
    margin-top: 40px;
    margin-bottom: 20px;
}

.article-content h4 {
    font-size: 18px;
    font-weight: 700;
    color: #212121;
    margin-top: 30px;
    margin-bottom: 15px;
}

/* Image Grid System */
.img-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}

.img-grid img {
    display: block;
    object-fit: cover;
    border-radius: 8px;
}

/* 1 Image: 100% */
.img-grid.count-1 img {
    width: 100%;
    height: auto;
}

/* 2 Images: 50% each */
.img-grid.count-2 img {
    width: calc(50% - 5px);
    height: 300px; /* Fixed height for alignment */
}

/* 3 Images: 1st 100%, 2nd & 3rd 50% */
.img-grid.count-3 img:nth-child(1) {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.img-grid.count-3 img:nth-child(2),
.img-grid.count-3 img:nth-child(3) {
    width: calc(50% - 5px);
    height: 300px;
}

/* 4 Images (Custom: 2x2) - Optional/Fallback */
.img-grid.count-4 img {
    width: calc(50% - 5px);
    height: 300px;
}

/* --- Merchant Settled Page --- */
.settled-section {
    padding: 60px 0;
    background: #fff;
    min-height: 600px;
    display: flex;
    justify-content: center;
}

.settled-container {
    width: 1000px;
}

/* Progress Bar */
.process-title {
    text-align: center;
    font-size: 28px;
    color: #333;
    font-weight: 600;
    margin-bottom: 40px;
}

.settled-progress {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
    position: relative;
    width: 100%;
}

.progress-step {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    margin: 0 10px;
}

/* Connector Line (Dotted) */
.progress-step:not(:last-child)::after {
    content: '';
    display: block;
    width: 100px;
    height: 1px;
    border-top: 2px dotted #e0e0e0;
    margin-left: 15px;
    margin-right: 5px;
}

.progress-step .step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #f0f0f0;
    color: #999;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    margin-bottom: 0;
    transition: all 0.3s;
}

.progress-step .step-text {
    font-size: 16px;
    color: #999;
    font-weight: 500;
    white-space: nowrap;
}

/* Active State */
.progress-step.active .step-num {
    background: #cc1d32;
    color: #fff;
}

.progress-step.active .step-text {
    color: #333;
    font-weight: 600;
}

/* Completed State */
.progress-step.completed .step-num {
    background: #cc1d32;
    color: #fff;
}

.progress-step.completed .step-text {
    color: #333;
}

.progress-line {
    display: none;
}

/* Form Content */
.settled-content {
    background: #fff;
    /* padding: 0 40px; */
}

.form-step {
  width: 80%;
  margin-left: 10%;
    display: none;
    animation: fadeIn 0.5s;
}

.form-step.active {
    display: block;
}

.settled-form-group {
    margin-bottom: 24px;
}

.settled-label {
    display: block;
    font-size: 14px;
    color: #333;
    font-weight: 600;
    margin-bottom: 10px;
}

.settled-label .required {
    color: #cc1d32;
    margin-right: 4px;
}

.settled-input {
    width: 80%;
    height: 44px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 12px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s;
}

.settled-input:focus {
    border-color: #cc1d32;
}

/* Type Selection */
.type-select-group {
    display: flex;
    gap: 20px;
}

.type-card {
    flex: 1;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 15px;
}

.type-card:hover {
    border-color: #fabec5;
    background: #fff0f2;
}

.type-card.active {
    border-color: #cc1d32;
    background: #fff0f2;
    position: relative;
}

.type-card.active::after {
    content: "✔";
    position: absolute;
    top: 10px;
    right: 10px;
    color: #cc1d32;
    font-size: 14px;
}

.type-icon {
    width: 48px;
    height: 48px;
    background: #f5f5f5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.type-icon img{
    width: 24px;
}

.type-info h4 {
    font-size: 16px;
    color: #333;
    margin-bottom: 4px;
}

.type-info p {
    font-size: 12px;
    color: #999;
}

/* Upload Area */
.upload-grid {
    display: flex;
    gap: 20px;
}

.upload-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.upload-box {
    width: 160px;
    height: 120px;
    border: 1px dashed #ccc;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: #fafafa;
    transition: border-color 0.3s;
    position: relative;
    overflow: hidden;
}

.upload-box:hover {
    border-color: #cc1d32;
    color: #cc1d32;
}

.upload-plus {
    font-size: 24px;
    color: #999;
    margin-bottom: 4px;
}
.upload-box:hover .upload-plus {
    color: #cc1d32;
}

.upload-text {
    font-size: 12px;
    color: #999;
}

/* Step Actions */
.step-actions {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.btn-step {
    padding: 10px 40px;
    border-radius: 22px;
    font-size: 16px;
    cursor: pointer;
    border: none;
    transition: all 0.3s;
}

.btn-prev {
    background: #f5f5f5;
    color: #666;
}

.btn-prev:hover {
    background: #e0e0e0;
}

.btn-next {
    background: #cc1d32;
    color: #fff;
}

.btn-next:hover {
    background: #b0182b;
}

/* Agreement Step */
.agreement-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 0;
}

.success-icon {
    width: 100px;
    height: 100px;
    background: #cc1d32;
    border-radius: 50%;
    color: #fff !important;
    font-size: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    box-shadow: 0 10px 20px rgba(204, 29, 50, 0.2);
}

.agreement-title {
    font-size: 32px;
    color: #333;
    font-weight: 500;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

.agreement-desc {
    font-size: 16px;
    color: #555;
    line-height: 1.8;
    text-align: justify;
    max-width: 800px;
    margin: 0 auto 40px;
}

/* Custom Radio Styles */
.radio-group {
    display: flex;
    gap: 30px;
    align-items: center;
}

.radio-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #333;
}

.radio-custom {
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    border-radius: 50%;
    margin-right: 8px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.radio-input {
    display: none;
}

.radio-input:checked + .radio-custom {
    background-color: #cc1d32;
    border-color: #cc1d32;
}

.radio-input:checked + .radio-custom::after {
    content: "✓";
    color: white;
    font-size: 10px;
}

.btn-full {
    width: 100%;
}


.label-tip {
    font-size: 12px;
    color: #999;
    margin-left: 8px;
    margin-right: 4px;
    font-weight: normal;
}
.settled-sub-label {
    display: block;
    font-size: 16px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 500;
}
.settled-form-group-inner {
    margin-bottom: 20px;
}
.date-range-inputs {
    display: flex;
    align-items: center;
    gap: 10px;
}
.date-input {
    border: none;
    border-bottom: 1px solid #ddd;
    padding: 5px 0;
    width: 150px;
    outline: none;
    font-size: 14px;
    background: transparent;
    border-radius: 0;
}
.date-separator {
    color: #333;
}
.auth-fields {
    margin-top: 20px;
}
.textarea{
  padding: 10px;
  resize: none;
  height: auto;
}

/* Step 3 Card Style */
.step-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    padding: 30px 40px;
    margin-bottom: 24px;
    border: 1px solid #f9f9f9;
}

.step-card .settled-label {
    font-size: 18px;
    margin-bottom: 20px;
}

/* Agreement Section */
.agreement-title-main {
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
}

.agreement-scroll-area {
    height: 400px;
    overflow-y: auto;
    background: #f9f9f9;
    border: 1px solid #eee;
    padding: 20px 30px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

.agreement-scroll-area h3 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-top: 20px;
    margin-bottom: 10px;
}

.agreement-scroll-area p {
    margin-bottom: 10px;
    text-align: justify;
}

.agreement-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}

.agreement-checkbox {
    display: flex;
    align-items: center;
    cursor: not-allowed;
    opacity: 0.6;
    transition: all 0.3s;
    font-size: 14px;
    color: #333;
}
.agreement-checkbox.enabled {
    cursor: pointer;
    opacity: 1;
}

.btn-submit-agreement {
    background: #ccc;
    color: #fff;
    padding: 12px 80px;
    border-radius: 22px;
    border: none;
    font-size: 16px;
    cursor: not-allowed;
    transition: all 0.3s;
}

.btn-submit-agreement.active {
    background: #cc1d32;
    cursor: pointer;
}

.btn-submit-agreement.active:hover {
    background-color: #b0182b;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
    .header-content,
    .login-container,
    .register-box,
    .settled-container,
    .help-container,
    .benefits-rows,
    .saas-grid,
    .filters-wrap,
    .placeholder-grid,
    .assurance-grid,
    .checkpoints-grid,
    .about-hero-content,
    .about-info-inner,
    .product-grid,
    .faq-content,
    .apply-form,
    .benefits-content,
    .case-frame,
    .growth-cards,
    .flow-card,
    .hero-content,
    .ecosystem-content,
    .supply-content,
    .core-data-cards,
    .testimonials-cloud,
    .qualification-grid,
    .footer-cta-inner,
    .footer-content {
        width: 100% !important;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

    /* Header Mobile */
    .site-header {
        height: auto;
        padding: 10px 0;
        position: relative;
        display: none;
    }
    .agreement-scroll-area{
      height: 460px;
    }
    .header-content {
        width: 100%;
        flex-direction: column;
        gap: 10px;
    }
    .logo img {
        height: 30px;
    }
    .main-nav ul {
        gap: 15px;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0 10px;
    }
    /* .header-actions {
        display: none;
    } */

    /* Common */
    .page-container {
        width: 100%;
        overflow-x: hidden;
    }
    
    /* Merchant Settled Page Mobile */
    .settled-section {
        padding: 20px 0;
    }
    
    .settled-container {
        width: 100%;
    }

    .process-title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .settled-progress {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 10px;
        margin-bottom: 20px;
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }
    
    .progress-step {
        flex-shrink: 0;
        margin: 0 5px;
    }
    
    .progress-step:not(:last-child)::after {
        width: 30px;
    }

    .settled-content {
        padding: 0;
    }

    .type-select-group {
        flex-direction: column;
        gap: 10px;
    }

    .upload-grid {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .upload-item {
        width: 48%;
    }
    .upload-box {
        width: 100%;
    }

    .step-actions {
        /* flex-direction: column; */
        gap: 10px;
        margin-top: 20px;
    }

    .btn-step {
        width: 50%;
    }

    .step-card {
        padding: 15px;
    }
    
    .radio-group {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .radio-label {
        margin-bottom: 5px;
    }

    .checkbox-group label {
        width: 100%;
        margin-bottom: 10px;
        display: flex;
    }
    
    .date-range-inputs {
        flex-wrap: wrap;
        gap: 5px;
    }
    
    .date-input {
        width: 100px;
    }
    
    /* Footer Mobile */
    .site-footer {
        padding: 40px 0 20px;
        display: none;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 30px;
        width: 100%;
    }
    
    .footer-left {
        flex-direction: column;
        gap: 30px;
        grid-column: 1;
    }
    
    .footer-nav {
        grid-template-columns: 1fr;
        gap: 20px;
        text-align: center;
    }
    
    .footer-nav-column h4 {
        margin-bottom: 15px;
    }
    
    .footer-right {
        grid-column: 1;
        text-align: center;
        justify-self: center;
    }
    
    .footer-actions {
        align-items: center;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 15px;
        margin-top: 20px;
    }
    
    .footer-meta {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }
    
    /* Fix Hero Images */
    .hero-section img {
        height: 200px;
        object-fit: cover;
        display: none;
    }
    .form-step{
      width: 98%;
      margin-left: 1%;
    }

}
.agree-box{
    padding: 60px;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 24px;
    width: 70%;
    margin-left: 15%;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    -ms-border-radius: 24px;
    -o-border-radius: 24px;
}

.preview-img{
  object-fit: contain !important;
}