/* Product archive layout aligned with C:/Users/pc/Desktop/xfy/pro.html. */
.product { background: #fff; color: #5a5a5a; }
.product,
.product * { box-sizing: border-box; }
.product .elementor-section-wrap { width: 100%; }
.product .elementor-container,
.product .e-con-inner { width: min(1280px, calc(100% - 32px)); margin-inline: auto; }
.product-intro { min-height: 340px; padding: 32px 16px; background: #f5a623 center / cover no-repeat; color: #fff; display: flex; align-items: center; justify-content: center; position: relative; }
.product-intro::before { content: ''; position: absolute; inset: 0; background: rgba(0, 31, 55, .3); }
.product-intro .e-con-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; width: min(1280px, calc(100% - 32px)); margin-inline: auto; text-align: center; }
.product-intro h2 { max-width: 100%; margin: 0; color: #fff; font: 400 48px/1.2 'Fjalla One', Impact, sans-serif; text-align: center; }
.product .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 20px; border: 1px solid #f2b632; border-radius: 0; background: #f2b632; color: #172b3a; font: 700 14px/24px Roboto, sans-serif; text-decoration: none; text-transform: uppercase; }
.product-listing { padding: 0 0 80px; }
.product-listing > .elementor-element-0f6d0ba { width: min(1280px, calc(100% - 32px)); margin: 20px auto 0; }
.product-listing .elementor-element-2a5c78d > .elementor-widget-container { padding-top: 20px; }
.product-listing .elementor-widget-container > p { margin: 0 0 32px; color: #5a5a5a; font: 400 13px/24px Inter, sans-serif; text-align: left; }
.product-listing .elementor-widget-container > p br { content: ''; display: block; margin-bottom: 24px; }
.product-listing .woocommerce-result-count { margin: 0 0 16px; font: 400 13px/24px Inter, sans-serif; }
.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 3.8%; margin: 0; padding: 0; list-style: none; }
.products::before,
.products::after { display: none !important; content: none !important; }
.products .product { display: flex; min-width: 0; margin: 0; padding: 16px; border: 0; background: transparent; text-align: center; }
.products .product a { display: block; width: 100%; color: #212121; text-decoration: none; }
.products .product img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; margin: 0 0 16px; object-fit: cover; }
.products .onsale { display: none; }
.woocommerce-loop-product__title { min-height: 68px; margin: 0; padding: 10px 0; color: #f5a623; font: 400 20px/24px 'Fjalla One', Impact, sans-serif; text-transform: capitalize; }
.products .price { display: block; margin: 0 0 10px; color: #901027; font: 700 20px/24px Roboto, sans-serif; }
.products .price del { color: #777; font-weight: 400; }
.products .price ins { margin-left: 8px; color: #901027; text-decoration: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.product-categories { padding: 80px 16px; background: #f3f7f9; }
.product-categories > .elementor-container > .elementor-column { width: 100%; }
.product-categories .elementor-widget-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.product-categories .elementor-heading-title { width: 100%; text-align: center; }
.product-categories p.elementor-heading-title { margin: 0 0 6px; color: #e99c23; font: 700 17px/24px Inter, sans-serif; }
.product-categories h2.elementor-heading-title { margin: 0 0 34px; color: #0b537e; font: 400 54px/1.15 'Fjalla One', Impact, sans-serif; }
.product-categories .elementor-inner-section { width: 100%; }
.product-categories .elementor-inner-section > .elementor-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.product-categories .elementor-column { min-width: 0; }
.product-categories .elementor-widget-wrap { display: block; }
.elementor-cta { position: relative; display: flex; min-height: 280px; overflow: hidden; color: #fff; text-decoration: none; background: #0b537e; }
.elementor-cta__bg-wrapper,
.elementor-cta__bg { position: absolute; inset: 0; }
.elementor-cta__bg { background-position: center; background-size: cover; transition: transform .35s ease; }
.elementor-cta:hover .elementor-cta__bg { transform: scale(1.05); }
.elementor-cta__content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 28px; text-align: center; background: rgba(0, 34, 56, .45); }
.elementor-cta__title { margin: 0; color: #fff; font: 400 32px/1.2 'Fjalla One', Impact, sans-serif; }
.elementor-cta__button { padding: 12px 24px; border: 2px solid #fff; color: #fff; font: 700 14px/20px Roboto, sans-serif; text-transform: uppercase; border-radius: 0; background: transparent; transition: all .3s ease; display: inline-block; }

/* 客服联系板块 */
.product-contact-cta { padding: 60px 16px; background: #fff; }
.product-contact-cta .elementor-container { width: min(1280px, calc(100% - 32px)); margin: 0 auto; }
.product-contact-cta__inner { display: flex; align-items: center; justify-content: center; gap: 40px; }
.product-contact-cta__avatar { flex: 0 0 auto; }
.product-contact-cta__avatar img { width: 260px; height: 260px; border-radius: 50%; object-fit: cover; border: 8px solid #e3f2fd; }
.product-contact-cta__button { display: inline-flex; align-items: center; justify-content: center; padding: 18px 48px; background: #f5a623; color: #000; font: 700 18px/24px Roboto, sans-serif; text-decoration: none; text-transform: uppercase; transition: all .3s ease; letter-spacing: 0.5px; }
.product-contact-cta__button:hover { background: #e99c23; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(245, 166, 35, 0.4); }

/* 客服板块与分类容器同级，独立占满并居中内容 */
.site-main .product-categories > .product-contact-cta { display: flex; width: 100%; justify-content: center; }
.site-main .product-categories > .product-contact-cta > .elementor-container { display: flex; width: min(1280px, calc(100% - 32px)); max-width: 1280px; margin-inline: auto; justify-content: center; }
.site-main .product-categories > .product-contact-cta .product-contact-cta__inner { width: 100%; justify-content: center; }

@media (max-width: 767px) {
    .product-contact-cta__inner { flex-direction: column; gap: 24px; text-align: center; }
    .product-contact-cta__avatar img { width: 180px; height: 180px; }
    .product-contact-cta__button { padding: 14px 32px; font-size: 16px; }
}
.elementor-cta:hover .elementor-cta__button { background: #f2b632; border-color: #f2b632; color: #fff; }
.woocommerce-pagination { margin-top: 40px; text-align: center; }
.woocommerce-pagination .page-numbers { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span { display: inline-flex; min-width: 36px; height: 36px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid #d6e0e5; color: #0b537e; text-decoration: none; }
.woocommerce-pagination .page-numbers .current { background: #0b537e; border-color: #0b537e; color: #fff; }
.woocommerce-pagination .page-numbers .next { border-color: #f2b632; color: #901027; }
.product-benefits { padding: 105px 16px 120px; background: #f3f7f9; }
.product-benefits > .elementor-container > .elementor-column > .elementor-widget-wrap { display: block; }
.product-benefits .elementor-inner-section:first-child { padding-bottom: 60px; }
.product-benefits .elementor-inner-section:first-child .elementor-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 70px; align-items: end; }
.product-benefits h2 { margin: 0 0 12px; color: #0b537e; font: 400 48px/1.15 'Fjalla One', Impact, sans-serif; }
.product-benefits .elementor-inner-section:first-child h2:first-child { color: #e99c23; font: 700 17px/24px Inter, sans-serif; }
.product-benefits p { margin: 0; color: #52626d; font: 400 15px/1.8 Inter, sans-serif; }
.product-benefit-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.product-benefit-grid .elementor-column { min-width: 0; }
.product-benefit-grid .elementor-widget-wrap { display: block; }
.elementor-icon-box-wrapper { height: 100%; padding: 28px 22px; border-top: 3px solid #f2b632; background: #fff; }
.elementor-icon-box-icon { margin-bottom: 20px; color: #f2b632; font-size: 30px; font-weight: 700; }
.elementor-icon-box-title { margin: 0 0 12px; color: #0b537e; font: 400 20px/1.2 'Fjalla One', Impact, sans-serif; }
.elementor-icon-box-description { font: 400 15px/1.8 Inter, sans-serif; }
@media (max-width: 1024px) {
    .products { gap: 20px 3%; }
}
@media (max-width: 767px) {
    .product-intro { min-height: 300px; }
    .product-intro .e-con-inner { display: block; text-align: center; }
    .product-intro h2 { margin-bottom: 18px; font-size: 28px; }
    .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 3.8%; }
    .product-categories .elementor-inner-section > .elementor-container { grid-template-columns: 1fr; max-width: 560px; }
    .product-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .product-listing { padding-bottom: 48px; }
    .products,
    .product-benefit-grid,
    .product-benefits .elementor-inner-section:first-child .elementor-container { grid-template-columns: 1fr; }
    .product-categories,
    .product-benefits { padding-block: 64px; }
    .product-categories h2.elementor-heading-title { font-size: 36px; }
}

/* The shared legacy stylesheet loads after this file. Scope overrides to the archive root. */
.site-main .elementor.product .product-intro { display: flex; min-height: 340px; padding: 32px 16px; }
.site-main .elementor.product .product-intro .e-con-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; }
.site-main .elementor.product .products { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-main .elementor.product .products > li.product { display: flex; width: auto; padding: 16px; float: none; }
.site-main .elementor.product .products > li.product img { width: 100%; height: auto; }
@media (max-width: 767px) {
    .site-main .elementor.product .product-intro { min-height: 300px; }
    .site-main .elementor.product .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Final archive overrides: the shared Elementor stylesheet is loaded after this file. */
.site-main .product .product-intro .e-con-inner { width: min(1280px, calc(100% - 32px)); margin-inline: auto; }
.site-main .product .product-listing { display: flex; width: 100%; padding: 0 0 80px; }
.site-main .product .product-listing > .elementor-element-0f6d0ba { display: flex; width: min(1280px, calc(100% - 32px)); margin: 20px auto 0; padding: 0; }
.site-main .product .product-listing .elementor-element-2a5c78d { display: block; width: 100%; padding-top: 0; }
.site-main .product .product-listing .elementor-element-2a5c78d > .elementor-widget-container { padding-top: 0; }
.site-main .product .product-listing .elementor-element-ea8bd6c { display: flex; width: 100%; padding: 0; }
.site-main .product .product-listing .elementor-element-ea8bd6c > .elementor-widget { width: min(1280px, 100%); margin-inline: auto; }
.site-main .product .products { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 10px; }
.site-main .product .products > li.product { display: flex; width: auto; min-width: 0; margin: 0; padding: 16px; float: none; }
.site-main .elementor.product li { list-style: none; }
.site-main .elementor.product li::marker { content: none; }
.site-main .product-categories > .elementor-container.elementor-column-gap-default { margin-bottom: 50px; }
.site-main .product .products > li.product img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; margin-bottom: 16px; object-fit: cover; }
.site-main .product .woocommerce-loop-product__title { color: #013a71; font: 400 20px/24px 'Fjalla One', Impact, sans-serif; }
.site-main .product-categories { padding: 80px 16px 0; background: #f9f9f9; }
.site-main .product-categories .elementor-container { width: min(1280px, calc(100% - 32px)); }
.site-main .product-categories .elementor-inner-section > .elementor-container { display: flex; width: 100%; margin: 0; gap: 0; }
 .site-main .product-categories .elementor-inner-section .elementor-column { width: 33.333%; min-width: 0; }
.site-main .product-categories .elementor-cta { display: block; width: 100%; min-height: 280px; }
.site-main .product-categories .elementor-cta__content { display: flex; }
.site-main .product-benefits { padding: 80px 16px; background: transparent; }
.site-main .product-benefits > .elementor-container { width: min(1280px, calc(100% - 32px)); }
.site-main .product-benefits .elementor-inner-section:first-child { padding-bottom: 40px; }
.site-main .product-benefit-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
.site-main .product-benefit-grid .elementor-column { width: auto; }
.site-main .product-benefit-grid .elementor-icon-box-wrapper { display: flex; padding: 0; border: 0; background: transparent; }
.site-main .product-benefit-grid .elementor-icon-box-icon { flex: 0 0 44px; margin: 0 20px 0 0; }
@media (max-width: 767px) {
    .site-main .product-intro { min-height: 300px; }
    .site-main .product-intro .e-con-inner { display: flex; flex-direction: column; justify-content: center; text-align: center; }
    .site-main .product-intro h2 { font-size: 28px; line-height: 1.2; }
    .site-main .product-listing > .elementor-element-0f6d0ba { width: 100%; max-width: none; margin: 20px 0 0; }
    .site-main .product-listing .elementor-element-2a5c78d { padding: 0 10px; }
    .site-main .product .product-listing .elementor-element-ea8bd6c { padding: 10px 20px; }
    .site-main .product .product-listing .elementor-element-ea8bd6c > .elementor-widget { width: 100%; }
    .site-main .product .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 3.8%; }
    .site-main .product-categories { margin-bottom: 0; padding: 21px 7px; }
    .site-main .product-categories .elementor-container { width: 100%; }
    .site-main .product-categories .elementor-inner-section > .elementor-container { display: flex; flex-direction: column; }
    .site-main .product-categories .elementor-inner-section .elementor-column { width: 100%; }
    .site-main .product-categories .elementor-cta { width: 100%; }
    .site-main .product-benefits { padding: 21px 7px; }
    .site-main .product-benefits > .elementor-container { width: 100%; }
    .site-main .product-benefit-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 480px) {
    .site-main .product .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Benefits section layout */
.site-main .product-benefits { padding: 78px 16px 112px; background: #fff; }
.site-main .product-benefits > .elementor-container { width: min(1280px, calc(100% - 32px)); margin-inline: auto; }
.site-main .product-benefits > .elementor-container > .elementor-column { width: 100%; }
.site-main .product-benefits > .elementor-container > .elementor-column > .elementor-widget-wrap { display: block; }
.site-main .product-benefits .elementor-inner-section:first-child { padding-bottom: 48px; }
.site-main .product-benefits .elementor-inner-section:first-child > .elementor-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 96px; align-items: start; }
.site-main .product-benefits .elementor-inner-section:first-child .elementor-column { width: auto; }
.site-main .product-benefits .elementor-inner-section:first-child h2 { margin: 0 0 12px; }
.site-main .product-benefits .elementor-inner-section:first-child h2:first-child { color: #8c2730; font: italic 600 16px/24px Georgia, serif; letter-spacing: .2px; }
.site-main .product-benefits .elementor-inner-section:first-child h2:nth-child(2) { max-width: 520px; color: #0b4e7d; font: 700 36px/1.15 Arial, sans-serif; }
.site-main .product-benefits .elementor-inner-section:first-child p { max-width: 500px; padding-top: 32px; color: #626262; font: 400 15px/1.65 Arial, sans-serif; }
.site-main .product-benefit-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 76px; width: 100%; }
.site-main .product-benefit-grid .elementor-column { width: auto; min-width: 0; }
.site-main .product-benefit-grid .elementor-widget-wrap { display: block; }
.site-main .product-benefit-grid .elementor-icon-box-wrapper { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 18px; align-items: start; height: auto; padding: 0; border: 0; background: transparent; }
.site-main .product-benefit-grid .elementor-icon-box-icon { grid-column: 1; margin: 0; padding-top: 1px; color: #f2ae27; font: 700 34px/1 Arial, sans-serif; }
.site-main .product-benefit-grid .elementor-icon-box-content { grid-column: 2; min-width: 0; }
.site-main .product-benefit-grid .elementor-icon-box-title { margin: 0 0 10px; color: #0b4e7d; font: 400 21px/1.25 'Fjalla One', Impact, sans-serif; }
.site-main .product-benefit-grid .elementor-icon-box-description { margin: 0; color: #606060; font: 400 14px/1.65 Arial, sans-serif; }

/* Each benefit enters from its own side on page load. */
.site-main .product-benefit-grid .elementor-column:nth-child(odd) .elementor-icon-box-wrapper { animation: benefit-slide-in-left .75s cubic-bezier(.22, .61, .36, 1) both; }
.site-main .product-benefit-grid .elementor-column:nth-child(even) .elementor-icon-box-wrapper { animation: benefit-slide-in-right .75s cubic-bezier(.22, .61, .36, 1) both; }
.site-main .product-benefit-grid .elementor-column:nth-child(2) .elementor-icon-box-wrapper { animation-delay: .12s; }
.site-main .product-benefit-grid .elementor-column:nth-child(3) .elementor-icon-box-wrapper { animation-delay: .24s; }
.site-main .product-benefit-grid .elementor-column:nth-child(4) .elementor-icon-box-wrapper { animation-delay: .36s; }
.site-main .product-benefit-grid .elementor-icon-box-icon .elementor-icon { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; color: #f2ae27; font-size: 0; }
.site-main .product-benefit-grid .elementor-column:nth-child(1) .elementor-icon-box-icon .elementor-icon::before { content: '✦'; font-size: 30px; }
.site-main .product-benefit-grid .elementor-column:nth-child(2) .elementor-icon-box-icon .elementor-icon::before { content: '▥'; font-size: 30px; }
.site-main .product-benefit-grid .elementor-column:nth-child(3) .elementor-icon-box-icon .elementor-icon::before { content: '◆'; font-size: 26px; }
.site-main .product-benefit-grid .elementor-column:nth-child(4) .elementor-icon-box-icon .elementor-icon::before { content: '◉'; font-size: 28px; }
@keyframes benefit-slide-in-left {
    from { opacity: 0; transform: translateX(-48px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes benefit-slide-in-right {
    from { opacity: 0; transform: translateX(48px); }
    to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
    .site-main .product-benefit-grid .elementor-icon-box-wrapper { animation: none; }
}
@media (max-width: 767px) {
    .site-main .product-benefits { padding: 58px 16px 76px; }
    .site-main .product-benefits > .elementor-container { width: 100%; }
    .site-main .product-benefits .elementor-inner-section:first-child > .elementor-container { grid-template-columns: 1fr; gap: 18px; }
    .site-main .product-benefits .elementor-inner-section:first-child p { padding-top: 0; }
    .site-main .product-benefit-grid { grid-template-columns: 1fr; gap: 30px; }
}

/* The two heading widgets have separate wrappers, so target their widget order. */
.site-main .product-benefits .elementor-inner-section:first-child > .elementor-container > .elementor-column:first-child .elementor-widget-wrap > .elementor-widget-heading:first-child h2 { color: #8c2730; font: italic 600 16px/24px Georgia, serif; letter-spacing: .2px; }
.site-main .product-benefits .elementor-inner-section:first-child > .elementor-container > .elementor-column:first-child .elementor-widget-wrap > .elementor-widget-heading:nth-child(2) h2 { max-width: 520px; color: #0b4e7d; font: 700 36px/1.15 Arial, sans-serif; }
