/*
Theme Name: Parwatt Theme
Theme URI: https://www.eastdigi.com
Author: East Digi Marketing Team
Author URI: https://www.eastdigi.com
Version: 1.0
*/ 

:root {
    --parwatt-container-max: 1440px;
    --parwatt-container-padding-x: 1rem;
}

@media (min-width: 768px) {
    :root {
        --parwatt-container-padding-x: 2rem;
    }
}

@font-face {
    font-family: 'Montserrat';
    
    src: url('../parwatt/fonts/Montserrat.woff') format('woff'),
	 url('../parwatt/fonts/Montserrat.ttf') format('truetype'),
	 url('../parwatt/fonts/Montserrat.svg#Montserrat') format('svg');
    font-style: normal;
  }
@font-face {
    font-family: 'MontserratMedium';
    src: url('/wp-content/themes/parwatt/fonts/Montserrat-Medium.woff2') format('woff2'),
        url('/wp-content/themes/parwatt/fonts/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'LatoRegular';
    src: url('/wp-content/themes/parwatt/fonts/Lato-Regular.woff2') format('woff2'),
        url('/wp-content/themes/parwatt/fonts/Lato-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MontserratRegular';
    src: url('/wp-content/themes/parwatt/fonts/Montserrat-Regular.woff2') format('woff2'),
        url('/wp-content/themes/parwatt/fonts/Montserrat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
.custom-font-MontserratMedium {
    font-family: 'MontserratMedium', sans-serif !important;
}
.custom-font-LatoRegular {
    font-family: 'LatoRegular', sans-serif !important;
}
.custom-font-MontserratRegular {
    font-family: 'MontserratRegular', sans-serif !important;
}
ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.top-main-menu {
  display: flex;
  gap: 60px;
}
.header_bottom .container{
    max-width: 100%;
    width: 100%;
    padding: 0 60px;
}
.nav-main-menu {
  display: flex;
  justify-content: end;
  gap: 60px;
    align-items: center;
}
a{
    color: #1e293b;
    transition: all .5s ease-out 0s;
    text-decoration: none !important;
    display: inline-block;
}
body{
    font-family: 'MontserratRegular';
    font-size: 16px;
}
.top-main-menu li a{
    font-size: 16px;
}
.top-main-menu > li:hover > a{
    color: #c21d20
}
.header_bottom {
  padding: 15px 0;
}
.flex{
    display: flex;
}
.header-content .row{
    align-items: center;
}
.desk-none{
    display: none;
}
.header_bottom .container:before,
.header_bottom .container:after{
    display: none;
}
.get_quote a{
    width: 100%;
    padding: 10px 30px;
    border-radius: 8px;
    border: 1px solid #1e293b;
}
.header_top .container{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding:0 60px;
    max-width: 100%;
      width: 100%;
      gap: 30px;
}
.header_top{
    padding:10px;
    background: #f6f6f6;
}


/* ==========================================================================
   首页 Hero Banner 样式配置 (配合你现有的纯净版 PHP 代码)
   ========================================================================== */

/* 1. 主容器配置 */
.home-banner {
    position: relative;
    width: 100%;
    height: 80vh; /* 全屏占位 */
    min-height: 600px;
    background-color: #111;
    overflow: hidden;
}

/* 底部红线 */
.banner-red-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: #cc0000;
    z-index: 50;
}

/* Swiper 内部容器强制撑满 */
/* Product details gallery (custom slider) */
.product-hero-gallery .product-gallery-viewport {
    overflow: hidden;
    width: 100%;
}

.product-hero-gallery .product-gallery-track {
    display: flex;
    width: 100%;
    transition: transform 0.5s ease;
}

.product-hero-gallery .product-gallery-slide {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.product-hero-gallery .product-gallery-prev,
.product-hero-gallery .product-gallery-next {
    cursor: pointer;
}

.product-hero-gallery .product-gallery-dot.is-active {
    background-color: #c81e1e;
    border-color: #c81e1e;
}

/* Product overview section */
.product-overview-section .product-overview-card {
    transition: box-shadow 0.3s ease;
}

.product-overview-section .product-overview-card:hover {
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

/* Product download section — match design mockup */
.product-download-section .product-download-heading {
    text-align: center;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
    .product-download-section .product-download-heading {
        font-size: 2.25rem;
        margin-bottom: 3rem;
    }
}

.product-download-section .product-download-tabs-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 0;
    border-bottom: 1px solid #e5e7eb;
}

.product-download-section .product-download-tabs {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 2.5rem;
    margin-bottom: -1px;
}

@media (min-width: 768px) {
    .product-download-section .product-download-tabs {
        gap: 4rem;
    }
}

.product-download-section .product-download-tab {
    padding: 0 0.25rem 0.875rem;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 500;
    color: #1e293b;
    background: none;
    border: none;
    border-bottom: 4px solid transparent;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}

@media (min-width: 768px) {
    .product-download-section .product-download-tab {
        font-size: 1.125rem;
        padding-bottom: 1rem;
    }
}

.product-download-section .product-download-tab.is-active,
.product-download-section .product-download-tab[aria-selected="true"] {
    color: #c81e1e;
    border-bottom-color: #c81e1e;
}

.product-download-section .product-download-tab:hover:not(:disabled):not(.is-active) {
    color: #c81e1e;
}

.product-download-section .product-download-tab:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.product-download-section .product-download-panels {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 0;
}

.product-download-section .product-download-panel.hidden {
    display: none;
}

.product-download-section .product-download-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-download-section .product-download-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.75rem 0;
    border-bottom: 1px solid #e5e7eb;
}

@media (min-width: 768px) {
    .product-download-section .product-download-item {
        padding: 1.875rem 0;
    }
}

.product-download-section .product-download-item:last-child {
    border-bottom: none;
}

.product-download-section .product-download-item__left {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    min-width: 0;
    flex: 1;
}

@media (min-width: 768px) {
    .product-download-section .product-download-item__left {
        gap: 1.5rem;
    }
}

.product-download-section .product-download-item__icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background-color: #c81e1e;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.product-download-section .product-download-item__icon svg {
    width: 0.875rem;
    height: 0.875rem;
}

.product-download-section .product-download-item__text {
    min-width: 0;
    text-align: left;
}

.product-download-section .product-download-item__title {
    font-size: 0.875rem;
    line-height: 1.35;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 0.35rem;
}

@media (min-width: 768px) {
    .product-download-section .product-download-item__title {
        font-size: 1.125rem;
    }
}

.product-download-section .product-download-item__subtitle {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #6b7280;
    margin: 0;
}

@media (min-width: 768px) {
    .product-download-section .product-download-item__subtitle {
        font-size: 0.9375rem;
    }
}

.product-download-section .product-download-item__btn {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 9999px;
    background-color: #f3f4f6;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

@media (min-width: 768px) {
    .product-download-section .product-download-item__btn {
        width: 3rem;
        height: 3rem;
    }
}

.product-download-section .product-download-item__btn svg {
    width: 1.125rem;
    height: 1.125rem;
}

.product-download-section .product-download-item__btn:hover {
    background-color: #e5e7eb;
    color: #c81e1e;
}

.product-download-section .product-download-item__btn--disabled {
    pointer-events: none;
    opacity: 0.5;
}

/* Related products — design mockup */
.product-related-section {
    background-color: #ffffff;
    padding: 4rem 0 5rem;
    border-top: 1px solid #f0f0f0;
}

@media (min-width: 768px) {
    .product-related-section {
        padding: 5.5rem 0 6rem;
    }
}

.product-related-section__heading {
    text-align: center;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 2.5rem;
}

@media (min-width: 768px) {
    .product-related-section__heading {
        font-size: 2.25rem;
        margin-bottom: 3.5rem;
    }
}

.product-related-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

@media (min-width: 768px) {
    .product-details-page .product-related-section__grid,
    .product-related-section__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

.product-related-section .product-related-card {
    background: #ffffff;
    border-radius: 0.5rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    height: 100%;
}

.product-related-section .product-related-card:hover {
    box-shadow: 0 0 28px rgba(0, 0, 0, 0.12);
    transform: translateY(-3px);
}

.product-related-section .product-related-card__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.25rem 0.75rem 1.5rem;
    text-decoration: none;
    color: inherit;
    height: 100%;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .product-related-section .product-related-card__link {
        padding: 1.25rem 0.625rem 1.5rem;
    }
}

.product-related-section .product-related-card__media {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 8rem;
}

@media (min-width: 768px) {
    .product-related-section .product-related-card__media {
        min-height: 7.5rem;
        margin-bottom: 0.875rem;
    }
}

.product-related-section .product-related-card__img {
    width: 100%;
    max-height: 7.5rem;
    object-fit: contain;
    transition: transform 0.45s ease;
}

.product-related-section .product-related-card:hover .product-related-card__img {
    transform: scale(1.03);
}

.product-related-section .product-related-card__placeholder {
    width: 100%;
    min-height: 12rem;
    background: #f8f9fa;
    color: #9ca3af;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-related-section .product-related-card__title {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 0.5rem;
    transition: color 0.2s ease;
}

@media (min-width: 768px) {
    .product-related-section .product-related-card__title {
        font-size: 15px;
        margin-bottom: 0.375rem;
    }
}

.product-related-section .product-related-card:hover .product-related-card__title {
    color: #c81e1e;
}

.product-related-section .product-related-card__subtitle {
    font-size: 1.0625rem;
    line-height: 1.5;
    color: #6b7280;
    margin: 0;
    max-width: 100%;
}

@media (min-width: 768px) {
    .product-related-section .product-related-card__subtitle {
        font-size: 0.8125rem;
    }
}

.banner-swiper-container, 
.banner-swiper-wrapper {
    width: 100% !important;
    height: 100% !important;
}

/* 🚨 核心故障修复点：强行赋予相对定位和高度，不准塌陷！ */
.banner-slide {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 600px !important; /* 增加保底高度，防止被 Swiper 压扁 */
}

/* 2. 背景图片层与遮罩层 (强行绝对定位铺满) */
.banner-picture {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
    pointer-events: none;
}

.banner-picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.banner-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%);
    z-index: 2;
    pointer-events: none;
}

/* 3. 内容与排版层 (强行覆盖在图片上) */
.banner-content-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 20;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 20px;
}

/* ======= 下面的排版样式（文字大小、按钮等）不需要加 !important，保持原样即可 ======= */

.banner-text-content {
    max-width: 900px;
    margin: 0 auto;
    color: #ffffff;
}

.banner-text-content h1 {
    font-size: 44px;
    font-family: 'MontserratMedium';
    font-weight: bold;
    margin-bottom: 24px;
    line-height: 54px;
    color: #ffffff;
}

.banner-text-content p {
    font-size: 16px;
    font-family: 'LatoRegular';
    color: #f3f4f6;
    margin-bottom: 30px;
    line-height: 26px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.banner-btn-wrap {
    margin-top: 10px;
}

.banner-btn {
    display: inline-block;
    background-color: #cc0000;
    color: #ffffff;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    font-family: 'MontserratRegular';
    padding: 14px 40px;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.banner-btn:hover {
    background-color: #a30000;
}

/* 4. Swiper 控制器 */
.banner-controls {
    position: absolute;
    bottom: 30px;
    right: 5vw;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 15px;
}

.home-banner .swiper-button-prev,
.home-banner .swiper-button-next {
    font-size: 0 !important;
}
.home-banner .swiper-button-prev::after,
.home-banner .swiper-button-next::after {
    display: none !important;
    content: "" !important;
}

.swiper-nav-btn {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    cursor: pointer;
    display: flex;
    color: #ffffff;
    transition: color 0.3s ease;
}

.swiper-nav-btn:hover {
    color: #1e293b;
}

.swiper-nav-btn svg {
    stroke: currentColor;
    pointer-events: none;
}

.banner-pagination {
    position: static !important;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-banner .swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 0.5;
    width: 8px;
    height: 8px;
    margin: 0 !important;
    transition: all 0.3s ease;
}

.home-banner .swiper-pagination-bullet-active {
    opacity: 1;
    background: #ffffff !important;
    transform: scale(1.3);
}

@media (max-width: 768px) {
    .banner-text-content h1 { font-size: 2.2rem; }
    .banner-text-content p { font-size: 1rem; }
    .banner-controls { right: 20px; bottom: 20px; }
}
.preq_list {
  display: flex;
  gap: 5px;
}
.preq_list .preq_item{
	width:11%;
	transition: all .5s ease-out 0s;
}
.preq_list .preq_item.active{
	width:78%;
}
.preq_info {
  position: relative;
	height: 100%;
	overflow: hidden;
    border-radius: 15px;
}
.preqtxt {
  position: absolute;
	top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: end;
  background: rgba(0, 0, 0, 0.2);
	padding: 50px;
	transition: all .5s ease-out 0s;
}
.preq_txt{
	opacity:0;
	background:rgba(255,255,255,0.97);
  padding: 40px;
	transition: all .5s ease-out 0s;
    max-width: 550px;
    border-radius: 15px;
}
.preq_txt h3{
	margin:0 0 20px;
	font-size: 36px;
}
.active .preq_info .preqtxt .preq_txt{
  opacity:1;
}
.preq_info img{
	height:600px;
	width:100%;
	object-fit:cover;
}
.active .preq_info .preqtxt{
	background:none;
}
.affix {
  width: 100%;
  background: #fff;
  z-index: 12;
}
.h2, h2 {

    color: #1e293b;
}
h3{
    color: #1e293b;
}
.pagetop h2{
    margin: 0;
}

/* 🚨 还原 Ninja Forms 输入框样式，解决 Tailwind 冲突 */
.cf7-form-wrapper .nf-form-content input:not([type="button"]):not([type="submit"]),
.cf7-form-wrapper .nf-form-content textarea,
.cf7-form-wrapper .nf-form-content select {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #f8fafc !important; /* 浅灰白背景 */
    border: 1px solid #cbd5e1 !important; /* 灰色边框 */
    border-radius: 6px !important;
    padding: 12px 16px !important;
    width: 100% !important;
    color: #0f172a !important;
    margin-top: 5px !important;
    margin-bottom: 15px !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    display: block !important;
    min-height: 45px !important; /* 强制撑起高度 */
}

/* 强制多行文本框的高度 */
.cf7-form-wrapper .nf-form-content textarea {
    min-height: 120px !important;
}

/* 鼠标点击时的边框变色 */
.cf7-form-wrapper .nf-form-content input:focus,
.cf7-form-wrapper .nf-form-content textarea:focus {
    border-color: #cc0000 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #cc0000 !important;
}

/* 标签文字加粗变色 */
.cf7-form-wrapper .nf-field-label label {
    font-weight: 600 !important;
    color: #334155 !important;
}

/* 隐藏红色的必填星号（可选，让界面更干净） */
.cf7-form-wrapper .nf-form-fields-required {
    display: none !important;
}

/* 🚨 单独定制 Ninja Forms 提交按钮为高级黑色 */
.cf7-form-wrapper .nf-form-content input[type="button"],
.cf7-form-wrapper .nf-form-content input[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #1e293b !important; /* 高级的深黑/深藏青色 */
    color: #ffffff !important; /* 纯白文字 */
    border: none !important;
    border-radius: 6px !important; /* 圆角和上面的文本框统一 */
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    width: 100% !important; /* 宽度 100% 和文本框对齐，显得更大气 */
    margin-top: 10px !important;
    transition: background-color 0.3s ease !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

/* 鼠标悬停时的动态效果（变成纯黑） */
.cf7-form-wrapper .nf-form-content input[type="button"]:hover,
.cf7-form-wrapper .nf-form-content input[type="submit"]:hover {
    background-color: #000000 !important; 
}

/* 🚀 解决点击弹窗后背景向右偏移的问题 */
html {
    scrollbar-gutter: stable;
}

/* 针对移动端或旧版浏览器的兼容补丁 */
body.overflow-hidden {
    overflow: hidden;
    /* 防止宽度抖动 */
    width: 100%;
}

/* 1. 彻底隐藏表单内部自带的标题、商标（HTML字段）和必填提示 */
.cf7-form-wrapper .nf-form-title, 
.cf7-form-wrapper .nf-field-container.html-container,
.cf7-form-wrapper .nf-form-fields-required {
    display: none !important;
}

/* 2. 彻底消除 Ninja Forms 容器自带的背景和阴影（解决左上/左下白块问题） */
.cf7-form-wrapper .nf-form-content,
.cf7-form-wrapper .nf-form-wrap,
.cf7-form-wrapper .nf-form-layout {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 3. 解决点击按钮时背景向右抖动/移动的问题 */
html {
    scrollbar-gutter: stable;
}

body.overflow-hidden {
    overflow: hidden;
    width: 100%;
}

/* ==========================================================================
   Critical Power page (Fuji layout)
   ========================================================================== */

.critical-power-page--fuji {
    --cp-blue: #991b1b;
    --cp-blue-mid: #dc2626;
    --cp-blue-card: #b91c1c;
    --cp-blue-pale: #ffe4e4;
    --cp-blue-soft: #fff1f2;
    --cp-heading: #1e293b;
    --cp-text: #1a2b3c;
    --cp-text-muted: #5a6b7d;
}

.critical-power-page--fuji .cp-container {
    width: 100%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Section heading: title + line */
.critical-power-page--fuji .cp-section-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.critical-power-page--fuji .cp-section-heading__text {
    flex-shrink: 0;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--cp-heading);
    letter-spacing: 0.02em;
}

.critical-power-page--fuji .cp-section-heading__line {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, var(--cp-blue-mid), rgba(220, 38, 38, 0.15));
}

/* Hero */
.critical-power-page--fuji .cp-hero {
    --cp-hero-blue-strength: 1;
    position: relative;
    display: flex;
    align-items: center;
    min-height: 440px;
    overflow: hidden;
    background: linear-gradient(135deg, #7f1d1d 0%, #cc0000 45%, #ffe4e4 100%);
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-hero {
        min-height: 520px;
    }
}

.critical-power-page--fuji .cp-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% center;
    z-index: 0;
}

.critical-power-page--fuji .cp-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        135deg,
        rgba(127, 29, 29, calc(0.97 * var(--cp-hero-blue-strength))) 0%,
        rgba(204, 0, 0, calc(0.88 * var(--cp-hero-blue-strength))) 32%,
        rgba(204, 0, 0, calc(0.35 * var(--cp-hero-blue-strength))) 55%,
        rgba(255, 255, 255, 0.2) 75%,
        rgba(255, 255, 255, 0) 100%
    );
}

.critical-power-page--fuji .cp-hero--has-bg {
    background-color: #ffe4e4 !important;
}

.critical-power-page--fuji .cp-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 6.5rem 1rem 3.5rem;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-hero__inner {
        padding: 7.5rem 2rem 4.5rem;
    }
}

.critical-power-page--fuji .cp-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-hero__grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }
}

.critical-power-page--fuji .cp-hero__eyebrow {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 0.75rem;
    letter-spacing: 0.04em;
}

.critical-power-page--fuji .cp-hero__title {
    font-size: clamp(1.875rem, 4vw, 3.25rem);
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.25rem;
}

.critical-power-page--fuji .cp-hero__desc {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.92);
    max-width: 34rem;
}

.critical-power-page--fuji .cp-hero__desc p {
    margin: 0 0 0.75rem;
}

.critical-power-page--fuji .cp-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1.75rem;
    background: #c81e1e;
    color: #fff;
    font-weight: 600;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: background 0.2s;
}

.critical-power-page--fuji .cp-hero__btn:hover {
    background: #a30000;
    color: #fff;
}

.critical-power-page--fuji .cp-hero__media-inner {
    background: rgba(80, 8, 8, 0.55);
    border-radius: 1rem;
    padding: 0.75rem;
    box-shadow: 0 12px 40px rgba(120, 0, 0, 0.2);
}

.critical-power-page--fuji .cp-hero__main-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.75rem;
    object-fit: contain;
}

/* Intro */
.critical-power-page--fuji .cp-intro {
    padding: 4.5rem 0;
    background: #fff;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-intro {
        padding: 5.5rem 0;
    }
}

.critical-power-page--fuji .cp-intro__inner {
    max-width: 52rem;
    margin: 0 auto;
    text-align: center;
}

.critical-power-page--fuji .cp-intro__eyebrow-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.critical-power-page--fuji .cp-intro__line {
    flex: 1;
    max-width: 4rem;
    height: 1px;
    background: var(--cp-blue-mid);
    opacity: 0.5;
}

.critical-power-page--fuji .cp-intro__eyebrow {
    flex-shrink: 0;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--cp-heading);
}

.critical-power-page--fuji .cp-intro__title {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    line-height: 1.25;
    font-weight: 700;
    color: var(--cp-heading);
    margin: 0 0 1.5rem;
}

.critical-power-page--fuji .cp-intro__content {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--cp-text-muted);
}

.critical-power-page--fuji .cp-intro__content p {
    margin: 0 0 0.75rem;
}

/* Showcases section */
.critical-power-page--fuji .cp-showcases {
    padding: 3rem 0 4rem;
    background: #fff;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-showcases {
        padding: 4rem 0 5rem;
    }
}

.critical-power-page--fuji .cp-showcases .cp-showcase-card {
    margin-bottom: 2.5rem;
}

.critical-power-page--fuji .cp-showcases .cp-showcase-card:last-child {
    margin-bottom: 0;
}

.critical-power-page .cp-showcase-card__grid {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

@media (min-width: 1024px) {
    .critical-power-page .cp-showcase-card__grid {
        grid-template-columns: 1fr 1fr;
    }

    .critical-power-page .cp-showcase-card__grid--reverse .cp-showcase-card__media {
        order: 2;
    }

    .critical-power-page .cp-showcase-card__grid--reverse .cp-showcase-card__content {
        order: 1;
    }
}

.critical-power-page--fuji .cp-showcase-card__media {
    background: var(--cp-blue-pale);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
}

.critical-power-page .cp-showcase-card__media {
    position: relative;
    min-height: 280px;
    background: #e5e7eb;
}

@media (min-width: 768px) {
    .critical-power-page .cp-showcase-card__media {
        min-height: 360px;
    }
}

.critical-power-page--fuji .cp-showcase-card__img {
    position: relative;
    inset: auto;
    width: 100%;
    max-height: 320px;
    height: auto;
    object-fit: contain;
}

.critical-power-page .cp-showcase-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.critical-power-page .cp-showcase-card__brand {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 2;
    width: 3.5rem;
    height: 3.5rem;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.375rem;
}

.critical-power-page .cp-showcase-card__brand img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.critical-power-page--fuji .cp-showcase-card__content {
    background: var(--cp-blue-card);
}

.critical-power-page .cp-showcase-card__content {
    position: relative;
    background: var(--cp-blue-card);
    color: #fff;
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    overflow: hidden;
}

@media (min-width: 768px) {
    .critical-power-page .cp-showcase-card__content {
        padding: 3rem 3rem;
    }
}

.critical-power-page .cp-showcase-card__watermark {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 8rem;
    height: auto;
    opacity: 0.25;
    pointer-events: none;
}

@media (min-width: 768px) {
    .critical-power-page .cp-showcase-card__watermark {
        width: 11rem;
    }
}

.critical-power-page .cp-showcase-card__inner {
    position: relative;
    z-index: 1;
}

.critical-power-page .cp-showcase-card__title {
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.25rem;
}

@media (min-width: 768px) {
    .critical-power-page .cp-showcase-card__title {
        font-size: 2rem;
    }
}

.critical-power-page .cp-showcase-card__divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.4);
    margin-bottom: 1.5rem;
}

.critical-power-page .cp-showcase-card__desc {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.95);
}

.critical-power-page .cp-showcase-card__desc p + p {
    margin-top: 1rem;
}

.critical-power-page--fuji .cp-resources-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.critical-power-page--fuji .cp-resources-pill {
    padding: 0.625rem 1.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #cc0000;
    background: #fff;
    border: 2px solid #cc0000;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.critical-power-page--fuji .cp-resources-pill.is-active,
.critical-power-page--fuji .cp-resources-pill[aria-selected="true"] {
    color: #fff;
    background: #cc0000;
    border-color: #cc0000;
}

.critical-power-page--fuji .cp-resources-pill:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.critical-power-page--fuji .cp-resources-list__item {
    border-bottom: none;
    padding: 0.5rem 0;
}

.critical-power-page--fuji .cp-resources-list__link {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    color: #cc0000;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
    transition: color 0.2s;
}

.critical-power-page--fuji .cp-resources-list__link:hover {
    color: #a30000;
}

.critical-power-page--fuji .cp-resources-list__icon {
    display: flex;
    width: 1.25rem;
    height: 1.25rem;
    color: #cc0000;
}

.critical-power-page--fuji .cp-resources-list__icon svg {
    width: 100%;
    height: 100%;
}

.critical-power-page .cp-resources-tab {
    padding: 0 0.25rem 0.875rem;
    font-size: 1rem;
    font-weight: 500;
    color: #1e293b;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
}

.critical-power-page .cp-resources-tab.is-active,
.critical-power-page .cp-resources-tab[aria-selected="true"] {
    color: #c81e1e;
    border-bottom-color: #c81e1e;
}

.critical-power-page .cp-resources-tab:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.critical-power-page .cp-resources-panel.hidden {
    display: none;
}

.critical-power-page .cp-resources-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.critical-power-page .cp-resources-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid #e5e7eb;
}

.critical-power-page .cp-resources-list__item:last-child {
    border-bottom: none;
}

.critical-power-page .cp-resources-list__title {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
}

.critical-power-page .cp-resources-list__btn {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.critical-power-page .cp-resources-list__btn svg {
    width: 1rem;
    height: 1rem;
}

.critical-power-page .cp-resources-list__btn:hover {
    background: #e5e7eb;
    color: #c81e1e;
}

.critical-power-page .cp-showcase-card__eyebrow {
    letter-spacing: 0.12em;
}

.critical-power-page .cp-gallery__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .critical-power-page .cp-gallery__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }
}

@media (min-width: 1024px) {
    .critical-power-page .cp-gallery__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.25rem;
    }
}

.critical-power-page .cp-gallery__item {
    display: block;
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 0.75rem;
    background: #e5e7eb;
    cursor: pointer;
}

.critical-power-page .cp-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.critical-power-page .cp-gallery__item:hover .cp-gallery__img {
    transform: scale(1.05);
}

.critical-power-page .cp-related-section {
    border-top: none;
}

.critical-power-page .cp-resources-tabs {
    margin-left: auto;
    margin-right: auto;
}

/* Critical Power — Reach Out CTA（左图 + 右侧邮箱表单） */
.critical-power-page--fuji .cp-reachout {
    padding: 3rem 0 4rem;
    background: linear-gradient(135deg, #ffffff 0%, #fff8f8 48%, #fff1f2 100%);
    overflow: visible;
}

.critical-power-page--fuji .cp-reachout__grid {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-reachout__grid {
        flex-direction: row;
        align-items: center;
        min-height: 300px;
    }
}

.critical-power-page--fuji .cp-reachout__media {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 2rem 1.5rem 1rem 0;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-reachout__media {
        flex: 0 0 34%;
        max-width: 34%;
        padding: 2.5rem 0;
        min-height: 0;
    }
}

.critical-power-page--fuji .cp-reachout__img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: contain;
    object-position: left center;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-reachout__img {
        max-height: 260px;
    }
}

.critical-power-page--fuji .cp-reachout__media::after {
    display: none;
}

.critical-power-page--fuji .cp-reachout__panel {
    flex: 1;
    display: flex;
    align-items: center;
    background: transparent;
    padding: 0 1.5rem 2.5rem;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-reachout__panel {
        padding: 2.5rem 2.5rem 2.5rem 1.5rem;
    }
}

.critical-power-page--fuji .cp-reachout__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 34rem;
}

.critical-power-page--fuji .cp-reachout__title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    line-height: 1.25;
    font-weight: 700;
    color: var(--cp-heading, #1e293b);
}

.critical-power-page--fuji .cp-reachout__subtitle {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--cp-text-muted, #5a6b7d);
}

.critical-power-page--fuji .cp-reachout__form,
.critical-power-page--fuji .cp-reachout__form-wrap {
    margin-top: 2rem;
}

.critical-power-page--fuji .cp-reachout__form {
    display: flex;
    align-items: flex-end;
    gap: 1rem 1.25rem;
    flex-wrap: wrap;
}

.critical-power-page--fuji .cp-reachout__field {
    flex: 1 1 12rem;
    min-width: 0;
}

.critical-power-page--fuji .cp-reachout__input {
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #cbd5e1;
    color: var(--cp-heading, #1e293b);
    padding: 0.5rem 0 0.65rem;
    font-size: 1rem;
    line-height: 1.4;
    outline: none;
}

.critical-power-page--fuji .cp-reachout__input::placeholder {
    color: #94a3b8;
}

.critical-power-page--fuji .cp-reachout__input:focus {
    border-bottom-color: var(--cp-blue-mid, #dc2626);
}

.critical-power-page--fuji .cp-reachout__submit {
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    background: var(--cp-blue-mid, #dc2626);
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.7rem 1.75rem;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.critical-power-page--fuji .cp-reachout__submit:hover {
    background: #b91c1c;
    transform: translateY(-1px);
}

.critical-power-page--fuji .cp-reachout__form-wrap .wpcf7-form {
    margin: 0;
}

.critical-power-page--fuji .cp-reachout__form-wrap input[type="email"],
.critical-power-page--fuji .cp-reachout__form-wrap input[type="text"] {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #cbd5e1;
    color: var(--cp-heading, #1e293b);
    border-radius: 0;
}

.critical-power-page--fuji .cp-reachout__form-wrap input[type="submit"],
.critical-power-page--fuji .cp-reachout__form-wrap button[type="submit"] {
    border-radius: 999px;
    background: var(--cp-blue-mid, #dc2626);
    color: #fff;
    border: 0;
    font-weight: 600;
    padding: 0.7rem 1.75rem;
}

/* Feature (D-VAR) */
.critical-power-page--fuji .cp-feature {
    padding: 4rem 0 5rem;
    background: #fff;
}

.critical-power-page--fuji .cp-feature__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-feature__grid {
        grid-template-columns: 1.05fr 0.95fr;
        gap: 3.5rem;
    }
}

.critical-power-page--fuji .cp-feature__eyebrow {
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--cp-heading);
    margin: 0 0 0.75rem;
}

.critical-power-page--fuji .cp-feature__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--cp-heading);
    margin: 0 0 1rem;
    line-height: 1.2;
}

.critical-power-page--fuji .cp-feature__desc {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--cp-text-muted);
    margin-bottom: 1.25rem;
}

.critical-power-page--fuji .cp-feature__cards-heading {
    font-size: 1rem;
    font-weight: 700;
    color: var(--cp-text);
    margin: 0 0 1rem;
    line-height: 1.4;
}

.critical-power-page--fuji .cp-feature__footer {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--cp-text-muted);
    margin-top: 1.25rem;
    max-width: 42rem;
}

.critical-power-page--fuji .cp-feature__footer p {
    margin: 0;
}

.critical-power-page--fuji .cp-feature__desc p {
    margin: 0 0 0.75rem;
}

.critical-power-page--fuji .cp-feature__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-feature__cards {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }
}

.critical-power-page--fuji .cp-feature__card {
    background: var(--cp-blue-soft);
    border: 1px solid #c5d9ec;
    border-radius: 12px;
    padding: 1rem;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.critical-power-page--fuji .cp-feature__card-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
}

.critical-power-page--fuji .cp-feature__card-title {
    font-size: 1rem;
    font-weight: 400;
    color: #1e293b;
    margin: 0;
    line-height: 1.5;
}

.critical-power-page--fuji .cp-feature__card-desc {
    font-size: 1rem;
    color: #1e293b;
    margin: 0.25rem 0 0;
    line-height: 1.5;
}

.critical-power-page--fuji .cp-feature__media-circle {
    position: relative;
    width: 100%;
    max-width: 480px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    background: var(--cp-blue-pale);
}

.critical-power-page--fuji .cp-feature__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.critical-power-page--fuji .cp-feature__decor {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 56px;
    height: 56px;
    opacity: 0.85;
}

/* Gallery */
.critical-power-page--fuji .cp-gallery {
    padding: 4rem 0 5rem;
    background: #fff;
}

.critical-power-page--fuji .cp-gallery__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.875rem;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-gallery__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.25rem;
    }
}

.critical-power-page--fuji .cp-gallery__item {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 12px;
    background: var(--cp-blue-pale);
    cursor: pointer;
    border: 0;
    padding: 0;
}

.critical-power-page--fuji .cp-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.critical-power-page--fuji .cp-gallery__item:hover .cp-gallery__img {
    transform: scale(1.04);
}

.cp-gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: rgba(15, 23, 42, 0.88);
}

.cp-gallery-lightbox.is-open {
    display: flex;
}

.cp-gallery-lightbox__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    max-width: min(92vw, 1200px);
}

.cp-gallery-lightbox__img {
    display: block;
    max-width: min(92vw, 1200px);
    max-height: 82vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.cp-gallery-lightbox__counter {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.cp-gallery-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.cp-gallery-lightbox__nav--prev {
    left: 1.25rem;
}

.cp-gallery-lightbox__nav--next {
    right: 1.25rem;
}

.cp-gallery-lightbox__nav:hover,
.cp-gallery-lightbox__nav:focus {
    background: rgba(255, 255, 255, 0.24);
    outline: none;
}

.cp-gallery-lightbox__nav--prev:hover,
.cp-gallery-lightbox__nav--prev:focus {
    transform: translateY(-50%) scale(1.05);
}

.cp-gallery-lightbox__nav--next:hover,
.cp-gallery-lightbox__nav--next:focus {
    transform: translateY(-50%) scale(1.05);
}

.cp-gallery-lightbox__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.cp-gallery-lightbox__close:hover,
.cp-gallery-lightbox__close:focus {
    background: rgba(255, 255, 255, 0.24);
    transform: scale(1.05);
    outline: none;
}

body.cp-gallery-lightbox-open {
    overflow: hidden;
}

/* Resources */
.critical-power-page--fuji .cp-resources {
    padding: 4rem 0 5rem;
    background: #fff;
}

.critical-power-page--fuji .cp-resources__panel {
    max-width: 56rem;
    margin: 0 auto;
}

/* Related */
.critical-power-page--fuji .cp-related {
    padding: 4rem 0 5.5rem;
    background: #fff;
}

.critical-power-page--fuji .cp-related__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .critical-power-page--fuji .cp-related__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-related__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.25rem;
    }
}

.critical-power-page--fuji .cp-related-card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 40, 80, 0.08);
    transition: box-shadow 0.25s, transform 0.25s;
    height: 100%;
}

.critical-power-page--fuji .cp-related-card:hover {
    box-shadow: 0 8px 28px rgba(0, 40, 80, 0.12);
    transform: translateY(-2px);
}

.critical-power-page--fuji .cp-related-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.critical-power-page--fuji .cp-related-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--cp-blue-pale);
    overflow: hidden;
}

.critical-power-page--fuji .cp-related-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.critical-power-page--fuji .cp-related-card:hover .cp-related-card__img {
    transform: scale(1.04);
}

.critical-power-page--fuji .cp-related-card__placeholder {
    width: 100%;
    height: 100%;
    min-height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cp-text-muted);
    font-size: 0.875rem;
}

.critical-power-page--fuji .cp-related-card__body {
    background: var(--cp-blue);
    color: #fff;
    padding: 1rem 1.125rem 1.125rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.critical-power-page--fuji .cp-related-card__title {
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 0.25rem;
    color: #fff;
}

.critical-power-page--fuji .cp-related-card__meta {
    font-size: 0.75rem;
    line-height: 1.4;
    margin: 0 0 0.5rem;
    color: rgba(255, 255, 255, 0.85);
}

.critical-power-page--fuji .cp-related-card__more {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
    margin-top: auto;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Critical Power — product catalog (Kehua) */
.critical-power-page--fuji .cp-catalog {
    padding: 2.5rem 0 4rem;
    background: #f4f5f7;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-catalog {
        padding: 3rem 0 5rem;
    }
}

.critical-power-page--fuji .cp-catalog__highlights {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .critical-power-page--fuji .cp-catalog__highlights {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }
}

.critical-power-page--fuji .cp-catalog-highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 8px;
    padding: 1rem 1.125rem;
    min-height: 5.5rem;
}

.critical-power-page--fuji .cp-catalog-highlight__media {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
}

.critical-power-page--fuji .cp-catalog-highlight__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.critical-power-page--fuji .cp-catalog-highlight__title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #c81e1e;
    margin: 0 0 0.25rem;
    line-height: 1.2;
}

.critical-power-page--fuji .cp-catalog-highlight__text {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #4b5563;
    margin: 0;
}

.critical-power-page--fuji .cp-catalog__topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.critical-power-page--fuji .cp-catalog__sidebar-head {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e0e4e8;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-catalog__sidebar-head {
        display: flex;
    }
}

.critical-power-page--fuji .cp-catalog__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-catalog__layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 2rem;
    }
}

.critical-power-page--fuji .cp-catalog__sidebar {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    .critical-power-page--fuji .cp-catalog__sidebar {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 100;
        max-width: 320px;
        overflow-y: auto;
        box-shadow: 8px 0 32px rgba(0, 0, 0, 0.15);
    }

    .critical-power-page--fuji .cp-catalog__sidebar.is-open {
        display: block;
    }
}

.critical-power-page--fuji .cp-catalog__filter-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.critical-power-page--fuji .cp-catalog__reset {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: #c81e1e;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.critical-power-page--fuji .cp-catalog__reset-icon {
    font-size: 1rem;
    line-height: 1;
}

.critical-power-page--fuji .cp-catalog-filter + .cp-catalog-filter {
    border-top: 1px solid #e8ecf0;
}

.critical-power-page--fuji .cp-catalog-filter__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.875rem 0.25rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1e293b;
    text-align: left;
}

.critical-power-page--fuji .cp-catalog-filter__icon {
    color: #9ca3af;
    font-size: 1.125rem;
    line-height: 1;
}

.critical-power-page--fuji .cp-catalog-filter__panel {
    padding: 0 0.25rem 0.75rem;
}

.critical-power-page--fuji .cp-catalog-filter__empty {
    font-size: 0.8125rem;
    color: #9ca3af;
    margin: 0;
    padding: 0 0.25rem 0.5rem;
}

.critical-power-page--fuji .cp-catalog-filter__options {
    list-style: none;
    margin: 0;
    padding: 0;
}

.critical-power-page--fuji .cp-catalog-filter__option {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #4b5563;
    padding: 0.35rem 0;
    cursor: pointer;
}

.critical-power-page--fuji .cp-catalog__mobile-filters {
    display: inline-flex;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1e293b;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    cursor: pointer;
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-catalog__mobile-filters {
        display: none;
    }

    .critical-power-page--fuji .cp-catalog__topbar {
        justify-content: flex-end;
        margin-bottom: 0.5rem;
    }
}

@media (max-width: 1023px) {
    .critical-power-page--fuji .cp-catalog__sidebar.is-open .cp-catalog__sidebar-head {
        display: flex;
    }
}

.critical-power-page--fuji .cp-catalog__count {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #c81e1e;
}

.critical-power-page--fuji .cp-catalog__active-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.critical-power-page--fuji .cp-catalog__tag {
    font-size: 0.8125rem;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    background: #fef2f2;
    color: #c81e1e;
    border: 1px solid #fecaca;
    cursor: pointer;
}

.critical-power-page--fuji .cp-catalog__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .critical-power-page--fuji .cp-catalog__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .critical-power-page--fuji .cp-catalog__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem 1.75rem;
    }
}

.critical-power-page--fuji .cp-catalog-card.is-hidden {
    display: none !important;
}

.critical-power-page--fuji .cp-catalog-card__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: inherit;
    height: 100%;
    padding: 0 0 1.25rem;
    background: transparent;
    border-radius: 0;
    transition: none;
}

.critical-power-page--fuji .cp-catalog-card__media {
    position: relative;
    width: 100%;
    min-height: 11.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    background: #fff;
    border-radius: 6px;
    padding: 1.25rem 1rem;
    transition: box-shadow 0.25s;
}

.critical-power-page--fuji .cp-catalog-card__link:hover .cp-catalog-card__media {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

.critical-power-page--fuji .cp-catalog-card__quick {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #c81e1e;
    color: #fff;
    font-size: 1.25rem;
    line-height: 2rem;
    text-align: center;
    font-weight: 300;
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.2s, transform 0.2s;
    pointer-events: none;
}

.critical-power-page--fuji .cp-catalog-card__link:hover .cp-catalog-card__quick {
    opacity: 1;
    transform: scale(1);
}

.critical-power-page--fuji .cp-catalog-card__img {
    max-width: 100%;
    max-height: 11rem;
    width: auto;
    height: auto;
    object-fit: contain;
}

.critical-power-page--fuji .cp-catalog-card__placeholder {
    width: 100%;
    min-height: 10rem;
    background: #f3f4f6;
    color: #9ca3af;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
}

.critical-power-page--fuji .cp-catalog-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.25rem;
    line-height: 1.35;
}

.critical-power-page--fuji .cp-catalog-card__subtitle {
    font-size: 0.9375rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
}

.critical-power-page--fuji .cp-catalog__empty {
    text-align: center;
    color: #6b7280;
    padding: 2rem 0;
}

.critical-power-page--fuji .cp-catalog__pagination {
    margin-top: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.critical-power-page--fuji .cp-catalog__pagination-inner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.critical-power-page--fuji .cp-catalog__page-num,
.critical-power-page--fuji .cp-catalog__page-next {
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.5rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #1e293b;
    font-size: 0.9375rem;
    cursor: pointer;
    border-radius: 4px;
}

.critical-power-page--fuji .cp-catalog__page-num.is-active {
    background: #c81e1e;
    border-color: #c81e1e;
    color: #fff;
}

.critical-power-page--fuji .cp-catalog__skip {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #4b5563;
}

.critical-power-page--fuji .cp-catalog__skip-input {
    width: 3rem;
    height: 2rem;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    text-align: center;
    font-size: 0.875rem;
}

.critical-power-page--fuji .cp-catalog__skip-confirm {
    padding: 0.35rem 1rem;
    border: 2px solid #c81e1e;
    border-radius: 9999px;
    background: #fff;
    color: #c81e1e;
    font-weight: 600;
    cursor: pointer;
}

.critical-power-page--fuji .cp-catalog__skip-confirm:hover {
    background: #c81e1e;
    color: #fff;
}

/* ACF 富文本内联蓝色兜底 */
.critical-power-page--fuji .cp-intro__content [style*="#004"],
.critical-power-page--fuji .cp-intro__content [style*="004a8d"],
.critical-power-page--fuji .cp-intro__content [style*="6b84b8"],
.critical-power-page--fuji .cp-feature__desc [style*="#004"],
.critical-power-page--fuji .cp-feature__footer [style*="#004"] {
    color: var(--cp-blue) !important;
}

/* ==========================================================================
   News & Events page (Fuji SMBE)
   ========================================================================== */

/* 分类 news 全宽，隐藏主题默认归档侧栏布局 */
body.parwatt-news-category-archive #primary,
body.parwatt-news-category-archive .content-area,
body.parwatt-news-category-archive #content .site-content {
    width: 100%;
    max-width: none;
    float: none;
    margin: 0;
    padding: 0;
}

body.parwatt-news-category-archive #secondary,
body.parwatt-news-category-archive .sidebar,
body.parwatt-news-category-archive #sidebar {
    display: none !important;
}

.news-events-page {
    --ne-blue: #cc0000;
    --ne-blue-mid: #b91c1c;
    --ne-blue-pale: #ffe4e4;
    --ne-blue-card: #fde8e8;
}

.news-events-page .ne-container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .news-events-page .ne-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.news-events-page .ne-section-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.news-events-page .ne-section-heading__text {
    flex-shrink: 0;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--ne-blue);
}

@media (max-width: 767px) {
    .news-events-page .ne-section-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
        margin-bottom: 1.5rem;
        max-width: 100%;
    }

    .news-events-page .ne-section-heading__text {
        flex-shrink: 1;
        width: 100%;
        max-width: 100%;
        font-size: 1.375rem;
        line-height: 1.3;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .news-events-page .ne-section-heading__line {
        width: 100%;
        flex: none;
    }

    .news-events-page .ne-hero__inner {
        padding: 5rem 1rem 4rem;
    }

    .news-events-page .ne-hero__title {
        max-width: 100%;
        font-size: 1.75rem;
        line-height: 1.25;
    }

    .news-events-page .ne-feed__head {
        margin-bottom: 1.5rem;
    }

    .news-events-page .ne-feed__filters {
        width: 100%;
    }

    .news-events-page .ne-feed-card__title,
    .news-events-page .ne-feed-card__link:hover .ne-feed-card__title {
        font-size: 0.875rem;
        line-height: 1.4;
    }
}

.news-events-page .ne-section-heading__line {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, var(--ne-blue-mid), rgba(204, 0, 0, 0.12));
}

/* Hero */
.news-events-page .ne-hero {
    --ne-hero-overlay: 0.65;
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #cc0000;
    background-image: linear-gradient(90deg, #cc0000 0%, #d93636 30%, #f5b4b4 65%, #fff5f5 100%);
}

@media (min-width: 768px) {
    .news-events-page .ne-hero {
        min-height: 460px;
    }
}

.news-events-page .ne-hero__bg {
    display: none;
}

.news-events-page .ne-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: transparent;
}

.news-events-page .ne-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 6rem 1rem 5rem;
}

@media (min-width: 768px) {
    .news-events-page .ne-hero__inner {
        padding: 7rem 2rem 6rem;
    }
}

.news-events-page .ne-hero__title {
    max-width: 28rem;
    margin: 0;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
}

.news-events-page .ne-hero__wave {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 80px;
    z-index: 3;
    background: linear-gradient(to bottom, transparent, #fff 85%);
    pointer-events: none;
}

/* Upcoming */
.news-events-page .ne-upcoming {
    padding: 3rem 0 2rem;
    background: #fff;
}

.news-events-page .ne-upcoming__slider {
    overflow: hidden;
    padding-bottom: 0;
}

.news-events-page .ne-upcoming__slider .swiper-wrapper {
    align-items: stretch;
}

.news-events-page .ne-upcoming__slider .swiper-slide {
    height: auto;
    display: flex;
}

.news-events-page .ne-upcoming__pagination {
    margin-top: 1.75rem;
    display: flex;
    justify-content: center;
    position: static;
    width: 100%;
}

.news-events-page .ne-upcoming__pagination .swiper-pagination-bullet {
    width: auto;
    height: auto;
    margin: 0 0.35rem;
    background: none;
    opacity: 1;
    border-radius: 0;
}

.news-events-page .ne-upcoming__page {
    min-width: 2rem;
    padding: 0.25rem 0.5rem;
    background: none;
    border: none;
    font-size: 1rem;
    color: #6b7280;
    cursor: pointer;
    font-family: inherit;
}

.news-events-page .ne-upcoming__page.swiper-pagination-bullet-active {
    color: var(--ne-blue);
    font-weight: 700;
    text-decoration: underline;
    background: none;
}

.news-events-page .ne-upcoming-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.25s;
}

.news-events-page .ne-upcoming-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.news-events-page .ne-upcoming-card__media {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f3f4f6;
}

.news-events-page .ne-upcoming-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-events-page .ne-upcoming-card__body {
    padding: 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.news-events-page .ne-upcoming-card__brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ne-blue);
    margin-bottom: 0.5rem;
}

.news-events-page .ne-upcoming-card__brand-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ne-blue);
}

.news-events-page .ne-upcoming-card__title {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.5rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(20px * 1.35 * 2);
}

.news-events-page .ne-upcoming-card__excerpt {
    font-size: 16px;
    line-height: 1.5;
    color: #6b7280;
    margin: 0 0 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(16px * 1.5 * 3);
    flex: 1;
}

.news-events-page .ne-upcoming-card__more {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ne-blue);
    margin-top: auto;
}

.news-events-page .ne-upcoming-card__date {
    display: block;
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    color: #6b7280;
}

.news-events-page .ne-upcoming-card__body > .ne-upcoming-card__date:last-child {
    margin-top: auto;
}

/* Feed */
.news-events-page .ne-feed {
    padding: 2rem 0 4rem;
    background: #fff;
}

.news-events-page .ne-feed__head {
    margin-bottom: 2rem;
}

@media (min-width: 1024px) {
    .news-events-page .ne-feed__head {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1.5rem;
    }

    .news-events-page .ne-feed__head .ne-section-heading {
        margin-bottom: 0;
        flex: 1;
        min-width: 240px;
    }
}

.news-events-page .ne-feed__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.news-events-page .ne-feed__filter {
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ne-blue);
    background: var(--ne-blue-pale);
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.news-events-page .ne-feed__filter.is-active,
.news-events-page .ne-feed__filter[aria-selected="true"] {
    background: var(--ne-blue);
    color: #fff;
    border-color: var(--ne-blue);
}

.news-events-page .ne-feed__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .news-events-page .ne-feed__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .news-events-page .ne-feed__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.75rem;
    }
}

.news-events-page .ne-feed-card.is-hidden {
    display: none !important;
}

.news-events-page .ne-feed-card {
    height: 100%;
}

.news-events-page .ne-feed-card__link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: 12px;
    padding: 1rem;
    height: 100%;
    transition: transform 0.25s;
}

.news-events-page .ne-feed-card__link:hover {
    transform: translateY(-2px);
}

.news-events-page .ne-feed-card__media {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 1rem;
    background: #fff;
}

.news-events-page .ne-feed-card__img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

.news-events-page .ne-feed-card__placeholder {
    aspect-ratio: 16 / 10;
    background: #e5e7eb;
}

.news-events-page .ne-feed-card__badge {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    background: #cc0000;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.625rem;
    border-radius: 4px;
}

.news-events-page .ne-feed-card__title,
.news-events-page .ne-feed-card__link:hover .ne-feed-card__title {
    font-size: 1rem;
    font-weight: 400 !important;
    font-family: 'MontserratRegular', sans-serif !important;
    font-style: normal;
    color: #111827;
    margin: 0 0 0.75rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.news-events-page .ne-feed-card__date {
    display: block;
    margin-top: auto;
    font-size: 0.875rem;
    color: #111827;
    font-style: normal;
}

.news-events-page .ne-feed__empty {
    text-align: center;
    color: #6b7280;
    padding: 2rem 0;
}

.news-events-page .ne-feed__pagination {
    margin-top: 2.5rem;
    padding-bottom: 2rem;
    display: flex;
    justify-content: center;
    min-height: 2.5rem;
}

.news-events-page .ne-feed__pagination[hidden] {
    display: none !important;
}

.news-events-page .ne-feed__pagination-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1.25rem;
}

.news-events-page .ne-feed__page {
    min-width: 1.5rem;
    padding: 0.15rem 0.25rem;
    background: none;
    border: none;
    font-size: 1.0625rem;
    color: #1e293b;
    cursor: pointer;
    font-family: inherit;
    line-height: 1.5;
    text-decoration: none;
}

.news-events-page .ne-feed__page:hover {
    color: var(--ne-blue);
}

.news-events-page .ne-feed__page.is-active {
    color: var(--ne-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: default;
}

.news-events-page .ne-feed__page--next {
    font-weight: 600;
    color: #1e293b;
    margin-left: 0.25rem;
}

.news-events-page .ne-feed__page--next:hover {
    color: var(--ne-blue);
    text-decoration: underline;
}

.news-events-page .ne-feed__ellipsis {
    padding: 0 0.25rem;
    color: #374151;
    font-size: 1.0625rem;
    user-select: none;
    letter-spacing: 0.05em;
}

/* 桌面主导航：悬停显示下拉子菜单（About Parwatt / Service & Support 等） */
.tw-main-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

header .tw-main-menu,
header .tw-main-menu > li {
    overflow: visible;
}

.tw-main-menu > li {
    position: relative;
}

.tw-main-menu > li.menu-item-has-children {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
}

.tw-main-menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0;
    transition: color 0.2s ease;
}

.tw-main-menu > li > a:hover,
.tw-main-menu > li:hover > a,
.tw-main-menu > li:focus-within > a,
.tw-main-menu > li.current-menu-item > a,
.tw-main-menu > li.current-menu-ancestor > a {
    color: #1e293b;
}

.tw-main-menu > li.menu-item-has-children > a::after {
    content: "";
    width: 0;
    height: 0;
    margin-top: 2px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.tw-main-menu > li.menu-item-has-children:hover > a::after,
.tw-main-menu > li.menu-item-has-children:focus-within > a::after {
    opacity: 1;
}

.tw-main-menu .sub-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    width: max-content;
    min-width: 100%;
    margin: 0;
    padding: 0.35rem 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.375rem;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
    transform: translateY(0.35rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    z-index: 60;
}

.tw-main-menu > li:hover > .sub-menu,
.tw-main-menu > li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.tw-main-menu .sub-menu li {
    margin: 0;
}

.tw-main-menu .sub-menu a {
    display: block;
    padding: 0.55rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    text-align: left;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.tw-main-menu .sub-menu a:hover,
.tw-main-menu .sub-menu .current-menu-item > a {
    color: #1e293b;
    background-color: #f9fafb;
}

/* Unified breadcrumb — Home / Parent / Current */
.parwatt-breadcrumb {
    background: #fff;
    padding: 1rem 0;
}

.parwatt-breadcrumb--inline {
    background: transparent;
    padding: 0;
}

.parwatt-breadcrumb--inline.parwatt-breadcrumb--spaced {
    margin-bottom: 1.25rem;
}

.parwatt-breadcrumb__nav {
    font-size: 0.8125rem;
    line-height: 1.75;
    color: #6b7280;
}

@media (min-width: 768px) {
    .parwatt-breadcrumb__nav {
        font-size: 0.8125rem;
        line-height: 1.75rem;
    }
}

.parwatt-breadcrumb__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.parwatt-breadcrumb__item {
    display: inline-flex;
    align-items: center;
}

.parwatt-breadcrumb__link {
    color: #4b5563;
    text-decoration: none;
    transition: color 0.2s ease;
}

.parwatt-breadcrumb__label {
    color: #4b5563;
}

.parwatt-breadcrumb__link:hover,
.parwatt-breadcrumb__link:focus {
    color: #374151;
}

.parwatt-breadcrumb__sep {
    margin: 0 0.75rem;
    color: #9ca3af;
    user-select: none;
}

.parwatt-breadcrumb__current {
    color: #111827;
    font-weight: 600;
}

.solution-page .parwatt-breadcrumb {
    border-bottom: none;
}

.service-support-page .parwatt-breadcrumb {
    border-bottom: none;
}

.sp-page .parwatt-breadcrumb {
    border-bottom: none;
}

/* Header — 全宽布局，左右 60px 内边距（不限制 1440px） */
header .parwatt-header__inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    header .parwatt-header__inner {
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

/* 全站板块容器 — 与 footer 一致：max 1440px + px-4 / md:px-8 */
#page .cp-container,
#page .cp-hero__inner,
#page .sol-container,
#page .ss-container,
#page .ct-container,
#page .au-container,
#page .ne-container,
#page .ne-hero__inner,
#page .sp-container,
#page .dl-container,
#page .careers-hero__inner,
#page .careers-body__inner,
#page .search-page .sr-content__inner,
#page .container.mx-auto,
#page .w-full.max-w-\[1440px\],
footer .w-full.max-w-\[1440px\],
.parwatt-site-container {
    width: 100% !important;
    max-width: var(--parwatt-container-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--parwatt-container-padding-x) !important;
    padding-right: var(--parwatt-container-padding-x) !important;
    box-sizing: border-box !important;
}

/* 文章详情页：无面包屑，内容区 1200px */
body.single-post #page .single-post-container,
body.single #page .single-post-container {
    max-width: 1200px !important;
}

body.single-post .single-post-hero,
body.single .single-post-hero {
    padding: 1.5rem 1.5rem 0;
}

@media (min-width: 768px) {
    body.single-post .single-post-hero,
    body.single .single-post-hero {
        padding: 2rem 2.5rem 0;
    }
}

body.single-post .single-post-hero__frame,
body.single .single-post-hero__frame {
    max-width: 720px;
    margin: 0 auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 12px;
    background: #f3f4f6;
}

body.single-post .single-post-hero__img,
body.single .single-post-hero__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.single-post .single-post-title,
body.single .single-post-title {
    margin: 0 0 2rem;
}

/* ==========================================================================
   Site Header — 固定页面顶部
   ========================================================================== */

:root {
    --parwatt-header-height: 5rem;
    --parwatt-mobile-header-height: 5rem;
}

@media (min-width: 768px) {
    :root {
        --parwatt-header-height: 7.25rem;
    }
}

.parwatt-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 110 !important;
}

#page #content {
    padding-top: var(--parwatt-header-height);
}

/* 移动端原始菜单：mmenu 初始化前/页面切换时不得露出链接 */
#menu:not(.mm-menu),
#mmenu:not(.mm-menu),
.parwatt-mobile-nav:not(.mm-menu) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* ==========================================================================
   Mobile Header & Top Dropdown Menu
   ========================================================================== */

@media (max-width: 1023px) {
    .home-banner {
        position: relative;
        z-index: 1;
    }

    /* 顶部下拉：紧贴 Header 下方展开 */
    #mmenu.mm-menu.mm-top,
    #menu.mm-menu.mm-top {
        top: var(--parwatt-mobile-header-height) !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - var(--parwatt-mobile-header-height)) !important;
        border-bottom: 1px solid #e5e7eb;
        box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
        z-index: 105 !important;
    }

    #mmenu.mm-menu.mm-top .mm-panels,
    #menu.mm-menu.mm-top .mm-panels {
        position: relative;
        top: 0;
        bottom: auto;
        height: auto !important;
        max-height: calc(100vh - var(--parwatt-mobile-header-height) - 40px);
        overflow-y: auto;
    }

    #mmenu.mm-menu.mm-top .mm-panels > .mm-panel,
    #menu.mm-menu.mm-top .mm-panels > .mm-panel {
        position: relative;
        height: auto !important;
        overflow: visible;
    }

    .mm-page.mm-slideout {
        z-index: 1;
    }

    .mm-blocker {
        top: var(--parwatt-mobile-header-height) !important;
        z-index: 104 !important;
    }
}

#mmenu.mm-menu,
#menu.mm-menu {
    font-family: 'MontserratRegular', sans-serif;
}

#mmenu .mm-listview > li > a,
#menu .mm-listview > li > a {
    font-size: 15px;
    font-weight: 600;
    color: #374151;
    padding-top: 14px;
    padding-bottom: 14px;
}

#mmenu .mm-listview > li > a:hover,
#menu .mm-listview > li > a:hover,
#mmenu .mm-listview > li.mm-selected > a,
#menu .mm-listview > li.mm-selected > a {
    color: #cc0000;
}

#mmenu .mm-navbar .mm-title,
#menu .mm-navbar .mm-title {
    font-family: 'MontserratMedium', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
}

.parwatt-mobile-menu-trigger {
    color: #cc0000;
}

.parwatt-mobile-menu-trigger:hover {
    color: #a30000;
}

/* 首页认证图标 — 移动端单行排列 */
@media (max-width: 767px) {
    .certifications-section .cert-logos-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 0.2rem !important;
        width: 100% !important;
    }

    .certifications-section .cert-logo-item {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        height: 1.5rem !important;
        margin: 0 !important;
    }

    .certifications-section .cert-logo-item img {
        display: block;
        max-height: 1.5rem !important;
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        margin: 0 auto;
        object-fit: contain;
    }

    /* About 区块 — 统计数字移动端字号 */
    .about-stat__title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    .about-stat__desc {
        font-size: 16px !important;
    }

    .about-stat__watermark {
        font-size: 90px !important;
    }
}

/* Why Us 区块标题 — 背景图上白色文字（桌面端 + 移动端） */
.why-us-section .why-us-section__title,
.why-us-section .why-us-section__title * {
    color: #ffffff !important;
}

/* Footer 栏目标题 — 常规字重 */
footer .footer-col h4,
footer h2.custom-font-MontserratMedium {
    font-weight: 400 !important;
}

/* Footer 认证图标 — 移动端单行排列 */
@media (max-width: 767px) {
    footer .footer-certs-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 0.2rem !important;
        width: 100% !important;
        max-width: 100%;
    }

    footer .footer-certs-row .footer-cert-logo {
        flex: 1 1 0;
        min-width: 0;
        width: auto !important;
        height: 1.25rem !important;
        max-width: 100%;
        object-fit: contain;
    }
}
