/**
 * ETheme CD — site-wide visual refinement layer.
 * Clean international B2B/editorial styling with restrained motion.
 */

:root {
    --eth-premium-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --eth-premium-shadow-sm: 0 2px 5px rgba(15, 23, 42, 0.035), 0 1px 2px rgba(15, 23, 42, 0.03);
    --eth-premium-shadow-md: 0 18px 50px rgba(15, 23, 42, 0.085);
    --eth-premium-shadow-lg: 0 30px 80px rgba(15, 23, 42, 0.12);
    --eth-premium-border: color-mix(in srgb, var(--eth-border) 82%, transparent);
}

/* Foundations ------------------------------------------------------------- */
.eth-category-main,
.eth-product-main,
.eth-products-archive,
.eth-article-main {
    overflow: clip;
}

.eth-section__title,
.eth-product-section__title {
    margin-top: 0;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
    color: var(--eth-text-title);
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 650;
    letter-spacing: -0.035em;
    line-height: 1.12;
}

.eth-breadcrumb,
.eth-product-breadcrumb,
.eth-article-breadcrumb {
    gap: 0.55rem;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
    color: var(--eth-text-muted);
    font-size: 0.76rem;
    font-weight: var(--eth-fw-medium);
    letter-spacing: 0.03em;
}

.eth-breadcrumb__sep,
.eth-product-breadcrumb__sep,
.eth-article-breadcrumb__sep {
    opacity: 0.35;
}

:where(.eth-section, .eth-header, .eth-footer) a,
:where(.eth-section, .eth-header, .eth-footer) button {
    -webkit-tap-highlight-color: transparent;
}

:where(.eth-section, .eth-header, .eth-footer) a:focus-visible,
:where(.eth-section, .eth-header, .eth-footer) button:focus-visible,
:where(.eth-section, .eth-header, .eth-footer) input:focus-visible,
:where(.eth-section, .eth-header, .eth-footer) select:focus-visible,
:where(.eth-section, .eth-header, .eth-footer) textarea:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--eth-primary) 30%, transparent);
    outline-offset: 3px;
}

/* Buttons ----------------------------------------------------------------- */
:is(
    .eth-btn,
    .eth-header__cta,
    .wp-block-button__link,
    .frm-fluent-form .ff-btn-submit,
    .frm-fluent-form button[type="submit"]
) {
    min-height: 46px;
    padding: 0.76rem 1.35rem;
    border-radius: 0.7rem;
    font-size: 0.88rem;
    font-weight: 650;
    letter-spacing: -0.005em;
    line-height: 1;
    transition:
        color 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease,
        box-shadow 340ms var(--eth-premium-ease),
        transform 340ms var(--eth-premium-ease);
}

:is(
    .eth-btn,
    .eth-header__cta,
    .wp-block-button__link,
    .frm-fluent-form .ff-btn-submit,
    .frm-fluent-form button[type="submit"]
):hover {
    transform: translateY(-2px);
}

.eth-btn--primary,
.wp-block-button.is-style-eth-primary .wp-block-button__link,
.frm-fluent-form .ff-btn-submit,
.frm-fluent-form button[type="submit"] {
    border-color: color-mix(in srgb, var(--eth-primary) 88%, #000);
    background: var(--eth-primary);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--eth-primary) 22%, transparent);
}

.eth-btn--primary:hover,
.wp-block-button.is-style-eth-primary .wp-block-button__link:hover,
.frm-fluent-form .ff-btn-submit:hover,
.frm-fluent-form button[type="submit"]:hover {
    box-shadow: 0 13px 30px color-mix(in srgb, var(--eth-primary) 28%, transparent);
}

.eth-btn--outline,
.wp-block-button.is-style-eth-outline .wp-block-button__link {
    border-color: var(--eth-premium-border);
    background: var(--eth-bg-surface);
    color: var(--eth-text-title);
    box-shadow: var(--eth-premium-shadow-sm);
}

.eth-btn--outline:hover,
.wp-block-button.is-style-eth-outline .wp-block-button__link:hover {
    border-color: var(--eth-primary);
    background: var(--eth-primary-5);
    color: var(--eth-primary);
}

.eth-btn-group {
    gap: 0.75rem;
}

/* Header and navigation --------------------------------------------------- */
.eth-header {
    border-bottom-color: var(--eth-premium-border);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.015);
}

/* 0.8.2：Header 底部品牌渐变细线，与 Footer 顶部细线呼应 */
.eth-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    background: linear-gradient(90deg, var(--eth-primary), var(--eth-tertiary));
    opacity: 0.55;
    pointer-events: none;
}

/* 透明首页 Header（未滚动）叠在 Hero 上时不显示细线 */
.eth-header--transparent:not(.eth-header--scrolled)::after {
    display: none;
}

.eth-header--sticky.eth-header--scrolled {
    background: color-mix(in srgb, var(--eth-bg-surface) 88%, transparent);
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.075);
    backdrop-filter: saturate(150%) blur(18px);
}

.eth-header__inner {
    min-height: 5.35rem;
    padding-block: 0.65rem;
}

.eth-header__logo img {
    transition: transform 400ms var(--eth-premium-ease), opacity 220ms ease;
}

.eth-header__logo:hover img {
    opacity: 0.92;
    transform: scale(1.015);
}

.eth-menu {
    gap: 0.2rem;
}

.eth-menu-link {
    padding: 0.7rem 0.85rem;
    border-radius: 0.6rem;
    font-size: 0.88rem;
    font-weight: 550;
    transition: color 220ms ease, background-color 220ms ease;
}

.eth-menu-link:hover,
.eth-menu-link[aria-current="page"] {
    background: color-mix(in srgb, var(--eth-primary) 7%, transparent);
}

.eth-sub-menu,
.eth-mega-menu {
    border-color: var(--eth-premium-border);
    border-radius: 0.9rem;
    box-shadow: var(--eth-premium-shadow-md);
}

.eth-sub-menu {
    min-width: 230px;
    padding: 0.55rem;
}

.eth-sub-menu .eth-menu-link {
    padding: 0.65rem 0.75rem;
}

.eth-header__toggle {
    width: 44px;
    height: 44px;
    border: 1px solid var(--eth-premium-border);
    border-radius: 0.7rem;
    background: var(--eth-bg-surface);
}

/* Category modules -------------------------------------------------------- */
.eth-hero:not(.eth-product-hero) {
    position: relative;
    padding-block: clamp(3rem, 7vw, 7rem);
    background:
        radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--eth-primary) 9%, transparent), transparent 30rem),
        linear-gradient(180deg, var(--eth-bg-surface), color-mix(in srgb, var(--eth-bg-muted) 55%, var(--eth-bg-surface)));
}

.eth-hero:not(.eth-product-hero) .eth-hero__grid {
    gap: clamp(2.25rem, 5vw, 5.5rem);
}

.eth-hero__subtitle {
    max-width: 32ch;
    margin-top: 1.25rem;
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.5;
}

.eth-hero__content > p {
    max-width: 60ch;
    color: var(--eth-text-muted);
    line-height: 1.75;
}

.eth-hero__features {
    gap: 0.7rem;
}

.eth-hero__features li {
    gap: 0.65rem;
    font-size: 0.94rem;
}

.eth-hero__features li svg {
    width: 18px;
    height: 18px;
    padding: 3px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--eth-success) 12%, transparent);
}

.eth-hero__media::after,
.eth-image-text__media::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: inherit;
    pointer-events: none;
}

.eth-hero__media img,
.eth-image-text__media img {
    transition: transform 850ms var(--eth-premium-ease), filter 450ms ease;
}

.eth-hero__media:hover img,
.eth-image-text__media:hover img {
    filter: saturate(1.025);
    transform: scale(1.025);
}

.eth-image-text {
    padding-block: clamp(3.75rem, 8vw, 8rem);
}

.eth-image-text:nth-of-type(even) {
    background: color-mix(in srgb, var(--eth-bg-muted) 42%, var(--eth-bg-surface));
}

.eth-image-text .eth-grid--2 {
    gap: clamp(2.5rem, 6vw, 6.5rem);
    align-items: center;
}

.eth-image-text__content {
    max-width: 620px;
}

.eth-image-text__content > p,
.eth-custom-html p {
    color: var(--eth-text-muted);
    line-height: 1.8;
}

.eth-custom-html {
    padding-block: clamp(3rem, 6vw, 6rem);
    border-block: 1px solid var(--eth-premium-border);
}

.eth-loop-section,
.eth-post-select,
.eth-news {
    padding-block: clamp(3.75rem, 7vw, 7rem);
}

.eth-loop-layout {
    gap: clamp(1.75rem, 4vw, 3.5rem);
}

/* 0.7.5：分类侧边栏不再包裹卡片（内部 .eth-widget 已是卡片），
   避免双重边框/背景。文章/产品侧边栏仍是卡片容器。 */
.eth-article-widget,
.eth-product-sidebar > * {
    padding: 1.25rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 0.9rem;
    background: var(--eth-bg-surface);
    box-shadow: var(--eth-premium-shadow-sm);
}

.eth-widget__title,
.eth-article-widget__title {
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--eth-premium-border);
    font-size: 0.82rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.eth-widget li + li {
    margin-top: 0.6rem;
}

/* Contact and forms ------------------------------------------------------- */
.eth-contact,
.eth-product-contact {
    position: relative;
    padding-block: clamp(4rem, 8vw, 8rem);
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--eth-primary) 10%, transparent), transparent 32rem),
        color-mix(in srgb, var(--eth-bg-muted) 48%, var(--eth-bg-surface));
}

.eth-contact .eth-grid--2,
.eth-product-contact__grid {
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.eth-contact__info,
.eth-product-contact__info {
    position: sticky;
    top: 7rem;
}

.eth-contact__form,
.eth-product-contact__form {
    padding: clamp(1.25rem, 3vw, 2.25rem);
    border: 1px solid var(--eth-premium-border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--eth-bg-surface) 94%, transparent);
    box-shadow: var(--eth-premium-shadow-md);
}

.eth-contact-info {
    gap: 0;
    margin-block: 1.5rem;
    border-top: 1px solid var(--eth-premium-border);
}

.eth-contact-info li {
    align-items: baseline;
    padding-block: 0.8rem;
    border-bottom: 1px solid var(--eth-premium-border);
    font-size: 0.93rem;
}

.eth-social-link {
    transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 320ms var(--eth-premium-ease);
}

.eth-social-link:hover {
    transform: translateY(-2px);
}

.frm-fluent-form .ff-el-group {
    margin-bottom: 1rem;
}

.frm-fluent-form .ff-el-input--label label {
    margin-bottom: 0.45rem;
    color: var(--eth-text-title);
    font-size: 0.78rem;
    font-weight: 620;
    letter-spacing: 0.015em;
}

.frm-fluent-form :is(.ff-el-form-control, select, textarea) {
    min-height: 48px;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 0.65rem;
    background: var(--eth-bg-surface);
    color: var(--eth-text-title);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.025);
    transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.frm-fluent-form textarea.ff-el-form-control {
    min-height: 130px;
    resize: vertical;
}

.frm-fluent-form :is(.ff-el-form-control, select, textarea):focus {
    border-color: var(--eth-primary);
    background: #fff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--eth-primary) 12%, transparent);
    outline: none;
}

/* Content, author, archive and utility cards ------------------------------ */
.eth-article-header {
    padding-block: clamp(3.5rem, 8vw, 7.5rem);
    background:
        radial-gradient(circle at 50% 0, color-mix(in srgb, var(--eth-primary) 8%, transparent), transparent 34rem),
        color-mix(in srgb, var(--eth-bg-muted) 48%, var(--eth-bg-surface));
}

.eth-article-header__inner {
    max-width: var(--eth-container);
}

.eth-article-header__title {
    max-width: 19ch;
    font-size: clamp(1.6rem, 1.32rem + 1vw, 2.0rem);
    font-weight: 660;
    letter-spacing: -0.052em;
    line-height: 1.02;
}

.eth-article-header__subtitle {
    max-width: 55ch;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.6;
}

.eth-article-header__meta {
    gap: 1rem 1.5rem;
    font-size: 0.78rem;
}

.eth-article-entry {
    font-size: clamp(1rem, 1.25vw, 1.075rem);
    line-height: 1.82;
}

.eth-article-entry h2,
.eth-product-entry h2 {
    letter-spacing: -0.035em;
    line-height: 1.15;
}

.eth-article-entry blockquote,
.eth-product-entry blockquote {
    padding: clamp(1.25rem, 3vw, 2rem);
    border-left-width: 3px;
    border-radius: 0 0.85rem 0.85rem 0;
    background: color-mix(in srgb, var(--eth-primary) 5%, var(--eth-bg-surface));
    color: var(--eth-text-body);
    font-size: 1.08em;
    line-height: 1.75;
}

.eth-article-featured,
.eth-article-featured__img {
    border-radius: 1.15rem;
}

.eth-article-featured {
    box-shadow: var(--eth-premium-shadow-md);
}

.eth-article-content__toc .eth-toc__inner,
.eth-toc__inner {
    border-color: var(--eth-premium-border);
    border-radius: 0.85rem;
    box-shadow: var(--eth-premium-shadow-sm);
}

.eth-article-author-bar__inner {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--eth-premium-border);
    border-radius: 1rem;
    background: var(--eth-bg-surface);
    box-shadow: var(--eth-premium-shadow-sm);
}

/* =========================================================
 * 0.6.3 — 作者资料（自定义头像 / 链接 / 社媒）
 * ========================================================= */

/* 作者头像：统一圆角 + 品牌光环 */
.eth-article-header__avatar,
.eth-article-author-bar__avatar img,
.eth-article-author-card__avatar img {
    border-radius: 50%;
    object-fit: cover;
}

.eth-article-header__avatar {
    border: 2px solid color-mix(in srgb, var(--eth-primary) 25%, var(--eth-bg-surface));
}

.eth-article-author-card__avatar img {
    border: 3px solid color-mix(in srgb, var(--eth-primary) 22%, var(--eth-bg-surface));
    box-shadow: 0 6px 18px color-mix(in srgb, var(--eth-primary) 14%, transparent);
}

/* 作者名（未开启链接时） */
.eth-article-header__author-name {
    font-weight: var(--eth-fw-semibold);
    color: var(--eth-text-title);
}

/* 作者社媒链接组 */
.eth-author-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.35rem 0 0.5rem;
}

.eth-author-social {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.32rem 0.75rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 999rem;
    background: color-mix(in srgb, var(--eth-bg-surface) 92%, transparent);
    color: var(--eth-text-muted);
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease, transform 280ms var(--eth-premium-ease), box-shadow 280ms var(--eth-premium-ease);
}

.eth-author-social:hover {
    color: var(--eth-text-title);
    border-color: color-mix(in srgb, var(--eth-primary) 35%, var(--eth-border));
    background: var(--eth-bg-surface);
    box-shadow: var(--eth-premium-shadow-sm);
    transform: translateY(-2px);
}

/* 作者条内的社媒：略放大 + 左对齐 */
.eth-article-author-bar .eth-author-socials {
    margin: 0.75rem 0 1rem;
}

/* 侧边栏作者卡内的社媒：居中 */
.eth-article-author-card .eth-author-socials {
    justify-content: center;
    margin-block: 0.5rem 0.75rem;
}

.eth-subcat-nav__item a {
    border-color: var(--eth-premium-border);
    border-radius: 0.8rem;
    box-shadow: var(--eth-premium-shadow-sm);
    text-decoration: none;
    transition: border-color 220ms ease, box-shadow 340ms var(--eth-premium-ease), transform 340ms var(--eth-premium-ease);
}

.eth-subcat-nav__item a:hover {
    border-color: color-mix(in srgb, var(--eth-primary) 34%, var(--eth-border));
    box-shadow: var(--eth-premium-shadow-md);
    transform: translateY(-3px);
}

.navigation.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    justify-content: center;
}

.navigation.pagination :is(.page-numbers:hover, .page-numbers.current) {
    border-color: var(--eth-primary);
    background: var(--eth-primary);
    color: #fff;
    transform: translateY(-1px);
}

/* Reviews and modal ------------------------------------------------------- */

.eth-review-card:hover {
    box-shadow: var(--eth-premium-shadow-md);
    transform: translateY(-4px);
}

.eth-modal__overlay {
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(7px);
}

.eth-modal__dialog {
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 1.15rem;
    box-shadow: 0 35px 100px rgba(15, 23, 42, 0.3);
}

.eth-modal.is-open .eth-modal__dialog {
    animation: eth-dialog-in 420ms var(--eth-premium-ease) both;
}

@keyframes eth-dialog-in {
}

/* Footer ------------------------------------------------------------------ */
.eth-footer {
    border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}

.eth-footer__inner,
.eth-footer__main {
    gap: clamp(2rem, 5vw, 5rem);
}

/* 0.8.2 字体拉平：footer 标题 0.74→0.8rem，与 Header mega 列标题(0.85rem)接近 */
.eth-footer__menu-title,
.eth-footer__widget-title {
    font-size: 0.8rem;
    font-weight: 650;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.eth-footer__menu {
    gap: 0.7rem;
}

.eth-footer__menu a,
.eth-footer__widget a {
    font-size: 0.9rem;
    transition: color 220ms ease, opacity 220ms ease;
}

.eth-footer__bottom {
    border-top-color: color-mix(in srgb, currentColor 10%, transparent);
    font-size: 0.8rem;
}

/* Restrained entrance motion --------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
    .eth-hero__content,
    .eth-product-info,
    .eth-article-header__inner {
        animation: eth-content-rise 680ms var(--eth-premium-ease) both;
    }

    .eth-hero__media,
    .eth-product-hero__media {
        animation: eth-media-rise 780ms 70ms var(--eth-premium-ease) both;
    }
}

@keyframes eth-content-rise {
}

@keyframes eth-media-rise {
    from { opacity: 0; transform: translateY(18px) scale(0.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Responsive -------------------------------------------------------------- */
@media (max-width: 900px) {
    .eth-header__inner {
        min-height: 4.65rem;
    }

    .eth-header__nav {
        border-top: 1px solid var(--eth-premium-border);
        box-shadow: 0 24px 50px rgba(15, 23, 42, 0.1);
    }

    .eth-menu-link {
        padding: 0.8rem 0.35rem;
    }

    .eth-contact__info,
    .eth-product-contact__info {
        position: static;
    }
}

@media (max-width: 768px) {
    .eth-hero:not(.eth-product-hero) {
        padding-block: 2.25rem 4rem;
    }

    .eth-hero__title {
        max-width: 16ch;
    }

    .eth-image-text {
        padding-block: 3.25rem;
    }

    .eth-contact,
    .eth-product-contact {
        padding-block: 3.5rem;
    }

    .eth-contact__form,
    .eth-product-contact__form {
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    .eth-section *,
    .eth-header *,
    .eth-footer * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* =========================================================
 * 0.6.2 — TOC redesign + page atmosphere
 * ----------------------------------------------------
 * TOC 是本文案的重点：面向英文长标题与小语种（德式长复合词、
 * 北欧语、西里尔文等）重新设计——断词、行高、缩进、层级与
 * 激活态全部重做；页面各 section 加入克制的渐变氛围，形成
 * 国际 B2B 的干净节奏，避免模板感。
 * ========================================================= */

/* --- TOC 容器：统一三种上下文（product / article / inline） --- */
.eth-product-content__toc .eth-toc__inner,
.eth-article-content__toc .eth-toc__inner,
.eth-toc--inline .eth-toc__inner,
.eth-toc__inner {
    padding: 1.4rem 1.2rem 1.5rem;
    background:
        radial-gradient(140% 120% at 0% 0%, color-mix(in srgb, var(--eth-primary) 6.5%, transparent), transparent 55%),
        var(--eth-bg-surface);
    border: 1px solid color-mix(in srgb, var(--eth-primary) 14%, var(--eth-border));
    border-radius: 1rem;
    box-shadow: var(--eth-premium-shadow-sm);
}

/* 标题：小号大写 eyebrow + 渐变索引点 */
.eth-product-content__toc .eth-toc__title,
.eth-article-content__toc .eth-toc__title,
.eth-toc--inline .eth-toc__title,
.eth-toc__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 1rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid color-mix(in srgb, var(--eth-primary) 18%, transparent);
    color: var(--eth-text-title);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.eth-product-content__toc .eth-toc__title::before,
.eth-article-content__toc .eth-toc__title::before,
.eth-toc--inline .eth-toc__title::before,
.eth-toc__title::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 2px;
    background: linear-gradient(135deg, var(--eth-primary), var(--eth-tertiary));
    flex-shrink: 0;
}

/* 列表：重置序号，允许长词断行 */
.eth-toc__list {
    counter-reset: eth-toc-index;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 一级项计数（目录序号是文档顺序，真实有用） */
.eth-toc__list > li:not(.eth-toc__sub-item) {
    counter-increment: eth-toc-index;
}

/* 链接：长标题友好断词 + 呼吸行高 + 圆角激活态 */
.eth-product-content__toc .eth-toc__list a,
.eth-article-content__toc .eth-toc__list a,
.eth-toc--inline .eth-toc__list a,
.eth-toc__list a {
    display: block;
    padding: 0.5rem 0.65rem;
    border-radius: 0.55rem;
    border-left: 0;
    color: var(--eth-text-muted);
    font-size: 0.87rem;
    font-weight: 500;
    line-height: 1.55;
    text-decoration: none;
    overflow-wrap: anywhere;
    word-break: break-word;
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.eth-product-content__toc .eth-toc__list a:hover,
.eth-article-content__toc .eth-toc__list a:hover,
.eth-toc--inline .eth-toc__list a:hover,
.eth-toc__list a:hover {
    color: var(--eth-text-title);
    background: color-mix(in srgb, var(--eth-primary) 6%, transparent);
}

.eth-product-content__toc .eth-toc__list a.is-active,
.eth-article-content__toc .eth-toc__list a.is-active,
.eth-toc--inline .eth-toc__list a.is-active,
.eth-toc__list a.is-active {
    color: var(--eth-primary);
    font-weight: 650;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--eth-primary) 13%, transparent),
        color-mix(in srgb, var(--eth-primary) 3%, transparent)
    );
}

/* 一级项序号徽标 */
.eth-product-content__toc .eth-toc__list > li:not(.eth-toc__sub-item) > a,
.eth-article-content__toc .eth-toc__list > li:not(.eth-toc__sub-item) > a,
.eth-toc--inline .eth-toc__list > li:not(.eth-toc__sub-item) > a,
.eth-toc__list > li:not(.eth-toc__sub-item) > a {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
}

.eth-product-content__toc .eth-toc__list > li:not(.eth-toc__sub-item) > a::before,
.eth-article-content__toc .eth-toc__list > li:not(.eth-toc__sub-item) > a::before,
.eth-toc--inline .eth-toc__list > li:not(.eth-toc__sub-item) > a::before,
.eth-toc__list > li:not(.eth-toc__sub-item) > a::before {
    content: counter(eth-toc-index, decimal-leading-zero);
    flex-shrink: 0;
    min-width: 1.6em;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: color-mix(in srgb, var(--eth-primary) 55%, var(--eth-text-muted));
    opacity: 0.85;
    transition: color 180ms ease, opacity 180ms ease;
}

.eth-product-content__toc .eth-toc__list > li:not(.eth-toc__sub-item) > a.is-active::before,
.eth-article-content__toc .eth-toc__list > li:not(.eth-toc__sub-item) > a.is-active::before,
.eth-toc--inline .eth-toc__list > li:not(.eth-toc__sub-item) > a.is-active::before,
.eth-toc__list > li:not(.eth-toc__sub-item) > a.is-active::before {
    color: var(--eth-primary);
    opacity: 1;
}

/* 二级项：缩进 + 左侧连接细线 */
.eth-product-content__toc .eth-toc__sub-item a,
.eth-article-content__toc .eth-toc__sub-item a,
.eth-toc--inline .eth-toc__sub-item a,
.eth-toc__sub-item a {
    position: relative;
    padding: 0.42rem 0.65rem 0.42rem 2.1rem;
    font-size: 0.8rem;
    font-weight: 400;
}

.eth-product-content__toc .eth-toc__sub-item a::before,
.eth-article-content__toc .eth-toc__sub-item a::before,
.eth-toc--inline .eth-toc__sub-item a::before,
.eth-toc__sub-item a::before {
    content: "";
    position: absolute;
    left: 1.35rem;
    top: 0.35rem;
    bottom: 0.35rem;
    width: 1px;
    background: color-mix(in srgb, var(--eth-primary) 20%, var(--eth-border));
}

/* 滚动条精致化 */
.eth-toc {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--eth-primary) 30%, var(--eth-border)) transparent;
}

/* =========================================================
 * 0.6.2 — 页面氛围：克制的渐变节奏
 * ========================================================= */

/* 产品 Hero：顶部左右各一抹品牌径向渐变，替代纯白平板 */
.eth-product-hero {
    background:
        radial-gradient(85% 70% at 12% -5%, color-mix(in srgb, var(--eth-primary) 7%, transparent), transparent 48%),
        radial-gradient(75% 60% at 95% 15%, color-mix(in srgb, var(--eth-tertiary) 6%, transparent), transparent 50%),
        var(--eth-bg-surface);
}

/* 画廊媒体：加一圈柔和高光环，提升质感 */
.eth-product-hero__media .eth-product-slider {
    box-shadow:
        0 26px 60px rgba(15, 23, 42, 0.1),
        0 2px 6px rgba(15, 23, 42, 0.05),
        inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

/* 产品信息区：长标题断词（德式长复合词等） */
.eth-product-info__title {
    overflow-wrap: anywhere;
    word-break: break-word;
    letter-spacing: -0.035em;
}

.eth-product-info__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.32rem 0.8rem;
    border: 1px solid color-mix(in srgb, var(--eth-primary) 18%, transparent);
    border-radius: 999rem;
    background: color-mix(in srgb, var(--eth-primary) 5%, var(--eth-bg-surface));
    color: var(--eth-primary);
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    align-self: flex-start;
}

/* 产品内容区：右上角一抹主色氛围 */
.eth-product-content {
    background:
        radial-gradient(60% 45% at 100% 0%, color-mix(in srgb, var(--eth-primary) 5%, transparent), transparent 42%),
        var(--eth-bg-surface);
}

/* 评价区：底部一抹第三色氛围 + 顶部细分隔 */
.eth-product-reviews {
    background:
        radial-gradient(70% 55% at 0% 100%, color-mix(in srgb, var(--eth-tertiary) 6.5%, transparent), transparent 52%),
        var(--eth-bg-body);
    border-block: 1px solid color-mix(in srgb, currentColor 8%, transparent);
}

/* 评价卡片：精致边线 + hover 上浮 */
.eth-review-card {
    border-radius: 1rem;
    box-shadow: var(--eth-premium-shadow-sm);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--eth-bg-surface) 98%, var(--eth-primary)), var(--eth-bg-surface));
    border: 1px solid color-mix(in srgb, var(--eth-primary) 10%, var(--eth-border));
}

/* 相关产品 / 相关新闻：交替渐变节奏 */
.eth-product-related {
    background:
        radial-gradient(65% 50% at 100% 100%, color-mix(in srgb, var(--eth-primary) 5%, transparent), transparent 48%),
        var(--eth-bg-surface);
}

.eth-product-news {
    background:
        radial-gradient(60% 45% at 0% 100%, color-mix(in srgb, var(--eth-tertiary) 5%, transparent), transparent 45%),
        var(--eth-bg-body);
    border-top: 1px solid color-mix(in srgb, currentColor 7%, transparent);
}

/* 主按钮：品牌色渐变增加层次 */
.eth-btn--primary {
    background-image: linear-gradient(135deg, var(--eth-primary), var(--eth-primary-d-1));
    box-shadow: 0 8px 20px color-mix(in srgb, var(--eth-primary) 26%, transparent);
}

.eth-btn--primary:hover {
    box-shadow: 0 12px 28px color-mix(in srgb, var(--eth-primary) 34%, transparent);
}

/* 文章内容区：右上主色氛围 + 主内容断词 */
.eth-article-content {
    padding-block: clamp(3rem, 6vw, 6rem);
    background:
        radial-gradient(55% 40% at 100% 0%, color-mix(in srgb, var(--eth-primary) 4.5%, transparent), transparent 40%),
        var(--eth-bg-surface);
}

.eth-article-entry,
.eth-product-entry {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* 相关文章卡片（loop post_3 / insight card）：精致边框与渐变氛围 */

/* 联系区（产品页底部）：渐变氛围与信息卡片 */
.eth-product-contact {
    background:
        radial-gradient(70% 55% at 12% 100%, color-mix(in srgb, var(--eth-primary) 7%, transparent), transparent 50%),
        radial-gradient(55% 45% at 95% 0%, color-mix(in srgb, var(--eth-tertiary) 5.5%, transparent), transparent 45%),
        var(--eth-bg-surface);
}

.eth-product-contact__info {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--eth-premium-border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--eth-bg-surface) 92%, transparent);
    box-shadow: var(--eth-premium-shadow-sm);
}

/* 响应式收尾 */
@media (max-width: 768px) {
    .eth-toc__inner {
        padding: 1.1rem 1rem 1.25rem;
    }
}

/* 加宽 TOC 列，容纳长英文/小语种标题断行后的两行文本 */
.eth-product-content.has-toc .eth-product-content__container {
    grid-template-columns: 280px 1fr;
}
.eth-product-content.has-toc.has-sidebar .eth-product-content__container,
.eth-product-content--sidebar-left.has-toc.has-sidebar .eth-product-content__container {
    grid-template-columns: 280px 1fr 300px;
}
.eth-article-content.has-toc .eth-article-content__container {
    grid-template-columns: 280px 1fr;
}
.eth-article-content.has-toc.has-sidebar .eth-article-content__container,
.eth-article-content--sidebar-left.has-toc.has-sidebar .eth-article-content__container {
    grid-template-columns: 280px 1fr 300px;
}

@media (max-width: 1100px) {
    .eth-product-content.has-toc.has-sidebar .eth-product-content__container,
    .eth-product-content--sidebar-left.has-toc.has-sidebar .eth-product-content__container,
    .eth-article-content.has-toc.has-sidebar .eth-article-content__container,
    .eth-article-content--sidebar-left.has-toc.has-sidebar .eth-article-content__container {
        grid-template-columns: 1fr;
    }
}

/* 三栏时主内容区最小宽度保护 */
.eth-product-content__main,
.eth-article-content__main {
    min-width: 0;
}

/* =========================================================
 * 0.6.4 — 分类页 Loop 排版统一 + hover/遮罩精细打磨
 * ----------------------------------------------------
 * 目标：各 loop 卡片的标题字号收敛、层级协调；hover 上浮、
 * 图片缩放、遮罩渐变统一用一条过渡曲线；分类页 Hero、
 * 图文模块、分页等细节同步提升。
 * ========================================================= */

/* --- 1. 统一字号与层级（各 loop 标题收敛） --- */
/* 收敛后标题基准：clamp(0.95rem, 1.3vw, 1.08rem)，加粗 */
.eth-loop-card--product-1 .eth-loop-card__title,
.eth-loop-card--product-2 .eth-loop-card__title,
.eth-loop-card--product-3 .eth-loop-card__title,
.eth-loop-card--product-5 .eth-loop-card__title,
.eth-loop-card--product-6 .eth-loop-card__title,
.eth-catalog-card__title,
.eth-insight-card__title {
    font-size: clamp(0.95rem, 1.25vw, 1.08rem);
    font-weight: 650;
    letter-spacing: -0.01em;
}

/* 列表式（post-1）标题与网格卡协调，不再过大 */
.eth-post-item--post-1 .eth-post-item__title {
    font-size: clamp(1.08rem, 1.6vw, 1.3rem);
    font-weight: 650;
    letter-spacing: -0.02em;
}

/* 摘录 / 元信息统一小号，制造清晰层级 */
.eth-loop-card__excerpt,
.eth-catalog-card__excerpt,
.eth-insight-card__excerpt,
.eth-post-item--post-1 .eth-post-item__excerpt {
    font-size: 0.83rem;
    line-height: 1.6;
}

.eth-insight-card__meta,
.eth-catalog-card__eyebrow,
.eth-post-item--post-1 .eth-post-item__meta,
.eth-post-item--post-1 .eth-post-item__categories {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
}

/* 长标题断词保护（跨语言） */
.eth-loop-card__title,
.eth-catalog-card__title,
.eth-insight-card__title,
.eth-post-item__title {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* --- 2. 统一 hover 动效：柔和上浮 + 分层阴影 --- */
.eth-loop-card--product-1,
.eth-loop-card--product-2,
.eth-loop-card--product-3,
.eth-loop-card--product-5,
.eth-loop-card--product-6,
.eth-catalog-card,
.eth-insight-card,
.eth-post-card--post-2 {
    will-change: transform;
    transition:
        transform 420ms var(--eth-premium-ease),
        box-shadow 420ms var(--eth-premium-ease),
        border-color 260ms ease;
}

.eth-loop-card--product-1:hover,
.eth-loop-card--product-2:hover,
.eth-loop-card--product-3:hover,
.eth-loop-card--product-5:hover,
.eth-loop-card--product-6:hover,
.eth-catalog-card:hover,
.eth-insight-card:hover,
.eth-post-card--post-2:hover {
    transform: translateY(-5px);
    box-shadow: var(--eth-premium-shadow-md);
}

/* 极简卡（product-1/5）hover 时给出柔和底色衬底 */
.eth-loop-card--product-1:hover,
.eth-loop-card--product-5:hover {
    background: color-mix(in srgb, var(--eth-bg-muted) 38%, transparent) !important;
    border-radius: var(--eth-radius-s);
}

/* 图片缩放：统一曲线与幅度，避免生硬 */
.eth-loop-card--product-1 .eth-loop-card__image,
.eth-loop-card--product-2 .eth-loop-card__image,
.eth-loop-card--product-3 .eth-loop-card__image,
.eth-loop-card--product-5 .eth-loop-card__image,
.eth-loop-card--product-6 .eth-loop-card__image,
.eth-catalog-card__image,
.eth-insight-card__image,
.eth-post-item--post-1 .eth-post-item__image,
.eth-post-card--post-2 .eth-post-card__image {
    transition: transform 900ms var(--eth-premium-ease), filter 500ms ease;
}

.eth-loop-card--product-1:hover .eth-loop-card__image,
.eth-loop-card--product-2:hover .eth-loop-card__image,
.eth-loop-card--product-3:hover .eth-loop-card__image,
.eth-loop-card--product-5:hover .eth-loop-card__image,
.eth-loop-card--product-6:hover .eth-loop-card__image,
.eth-catalog-card:hover .eth-catalog-card__image,
.eth-insight-card:hover .eth-insight-card__image,
.eth-post-item--post-1 .eth-post-item__media:hover .eth-post-item__image,
.eth-post-card--post-2:hover .eth-post-card__image {
    transform: scale(1.06);
}

/* --- 3. 遮罩动画：更精致的渐变 + 标题微动 --- */
/* product-3：信息覆盖图内 */
.eth-loop-card--product-3 .eth-loop-card__overlay {
    background: linear-gradient(
        to top,
        rgba(8, 12, 24, 0.82) 0%,
        rgba(8, 12, 24, 0.42) 55%,
        transparent 100%
    );
    padding: clamp(1rem, 2vw, 1.4rem) clamp(0.9rem, 1.6vw, 1.1rem);
}

.eth-loop-card--product-3 .eth-loop-card__title {
    transform: translateY(0);
    transition: transform 420ms var(--eth-premium-ease), color 220ms ease;
}

.eth-loop-card--product-3:hover .eth-loop-card__title {
    transform: translateY(-3px);
}

/* product-6：标题上升 + 描述显现 */
.eth-loop-card--product-6 .eth-loop-card__caption {
    background: linear-gradient(
        to top,
        rgba(8, 12, 24, 0.85) 0%,
        rgba(8, 12, 24, 0.35) 65%,
        transparent 100%
    );
    transition: transform 500ms var(--eth-premium-ease);
}

.eth-loop-card--product-6:hover .eth-loop-card__caption {
    transform: translateY(-8px);
}

.eth-loop-card--product-6 .eth-loop-card__excerpt {
    transition: max-height 500ms var(--eth-premium-ease), opacity 420ms ease, margin-top 420ms ease;
}

/* --- 4. 分类页整体细节 --- */

/* Hero 媒体：柔和投影 + 圆角统一，图片入场已由入场动画负责 */
.eth-hero__media,
.eth-image-text__media {
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.78);
    box-shadow: var(--eth-premium-shadow-md);
    border-radius: clamp(1rem, 2vw, 1.4rem);
}

/* 图文模块媒体 hover 缩放更顺滑 */
.eth-image-text__media img {
    transition: transform 900ms var(--eth-premium-ease);
}

/* 分类页 loop 区背景：统一轻微氛围，与相邻区段区分 */
.eth-loop-section {
    background:
        radial-gradient(70% 55% at 100% 0%, color-mix(in srgb, var(--eth-primary) 4.5%, transparent), transparent 46%),
        var(--eth-bg-body);
}

/* 侧边栏：与 0.6.2 卡片语言统一 */
.eth-loop-layout__sidebar {
    border: 1px solid var(--eth-premium-border);
    border-radius: 1rem;
    box-shadow: var(--eth-premium-shadow-sm);
}

/* 分页：胶囊化 + hover 上浮 */
.navigation.pagination .page-numbers {
    display: inline-grid;
    min-width: 42px;
    min-height: 42px;
    place-items: center;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 0.62rem;
    background: var(--eth-bg-surface);
    color: var(--eth-text-title);
    text-decoration: none;
    transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 300ms var(--eth-premium-ease), box-shadow 300ms var(--eth-premium-ease);
}
.navigation.pagination .page-numbers:hover {
    transform: translateY(-2px);
    box-shadow: var(--eth-premium-shadow-sm);
}
.navigation.pagination .page-numbers.current {
    background: var(--eth-primary);
    border-color: var(--eth-primary);
    color: #fff;
}

/* 分类 Hero 标题：长标题断词 + 收紧字距（跨语言） */
.eth-hero__title {
    max-width: 13ch;
    margin-top: 0;
    font-size: clamp(2.5rem, 6vw, 5.75rem);
    font-weight: 660;
    letter-spacing: -0.055em;
    line-height: 0.98;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* 联系区信息：与作者条/卡片语言一致 */
.eth-contact__info {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--eth-premium-border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--eth-bg-surface) 92%, transparent);
    box-shadow: var(--eth-premium-shadow-sm);
}

/* 移动端：hover 上浮降级，避免触屏粘滞 */
@media (hover: none) {
    .eth-loop-card--product-1,
    .eth-loop-card--product-2,
    .eth-loop-card--product-3,
    .eth-loop-card--product-5,
    .eth-loop-card--product-6,
    .eth-catalog-card,
    .eth-insight-card,
    .eth-post-card--post-2 {
        transition: box-shadow 300ms ease;
    }
    .eth-loop-card--product-1:hover,
    .eth-loop-card--product-2:hover,
    .eth-loop-card--product-3:hover,
    .eth-loop-card--product-5:hover,
    .eth-loop-card--product-6:hover,
    .eth-catalog-card:hover,
    .eth-insight-card:hover,
    .eth-post-card--post-2:hover {
        transform: none;
    }
}

/* =========================================================
 * GeneratePress 容器宽度强制覆盖
 * ----------------------------------------------------
 * GP 父主题定义了：
 *   .grid-container { margin-left:auto; margin-right:auto; max-width:1200px; }
 * 这会限制产品页、分类页（以及任何使用 GP 容器结构的页面）的宽度。
 *
 * 本文件是最后加载的全局样式层（priority 100），在此做强覆盖：
 * - .grid-container 拆掉 max-width 限制，让子主题自有的
 *   .eth-container（max-width: var(--eth-container)）接管真实宽度
 * - 覆盖 GP 可能输出的其它容器变体（site grid / grid-parent 等）
 * - 保留 GP 的水平居中（margin-inline:auto）
 * ========================================================= */
.grid-container,
.generate-container,
.site.grid-container,
.site .grid-container {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* 兜底：任何被 GP 1200px 限制的容器类，统一放开 */
:is(
    .grid-container,
    .site.grid-container,
    .generate-container,
    .grid-parent
) {
    max-width: 100% !important;
}

/* =========================================================
 * 0.6.7 — Loop 细节修正
 * ----------------------------------------------------
 * - product-1：hover 不再出现背景色，标题居中
 * - Insight Grid（post-3）：hover 去掉上浮与阴影，保留标题变色 + 图片放大
 * ========================================================= */

/* --- product-1：hover 去除背景色衬底 --- */
.eth-loop-card--product-1:hover {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: var(--eth-radius-s);
}

/* product-1 标题居中 */
.eth-loop-card--product-1 .eth-loop-card__title {
    text-align: center;
}

/* --- Insight Grid（post-3）：hover 不上浮、无阴影 --- */
.eth-insight-card {
    transition: box-shadow 320ms ease;
}

.eth-insight-card:hover {
    transform: none;
    box-shadow: none;
}

/* 保留图片放大（统一走 0.6.4 的缩放规则，此处仅确保不被上浮规则覆盖） */
.eth-insight-card:hover .eth-insight-card__image {
    transform: scale(1.06);
}

/* 触屏降级：Insight Grid 同样无上浮 */
@media (hover: none) {
    .eth-insight-card:hover {
        transform: none;
    }
}

/* =========================================================
 * 0.6.8 — 返回顶部 FAB + 网站客服（右下角浮动组 / 移动端底部菜单）
 * ----------------------------------------------------
 * UI 自行设计，延续主题设计语言（胶囊、品牌渐变、premium 阴影、ease 曲线）。
 * ========================================================= */

/* --- 浮动容器 --- */
.eth-floating {
    position: fixed;
    right: 24px;
    bottom: var(--eth-float-bottom, 24px);
    z-index: 500;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

/* --- 返回顶部 FAB --- */
.eth-float-btn--top {
    width: 52px;
    height: 52px;
    padding: 0;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, var(--eth-primary), var(--eth-primary-d-1));
    box-shadow: 0 12px 28px color-mix(in srgb, var(--eth-primary) 30%, transparent);
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition:
        opacity 320ms var(--eth-premium-ease),
        transform 320ms var(--eth-premium-ease),
        box-shadow 260ms ease;
}

.eth-float-btn--top.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.eth-float-btn--top svg {
    width: 24px;
    height: 24px;
}

.eth-float-btn--top:hover {
    box-shadow: 0 16px 34px color-mix(in srgb, var(--eth-primary) 42%, transparent);
    transform: translateY(-2px);
}

.eth-float-btn--top:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--eth-primary) 35%, transparent);
    outline-offset: 3px;
}

/* --- PC 客服工具组（右下角垂直工具条） --- */
.eth-float-service {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.eth-float-service__item {
    position: relative;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--eth-premium-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--eth-bg-surface);
    color: var(--eth-primary);
    cursor: pointer;
    text-decoration: none;
    box-shadow: var(--eth-premium-shadow-sm);
    transition:
        color 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease,
        transform 300ms var(--eth-premium-ease),
        box-shadow 300ms var(--eth-premium-ease);
}

.eth-float-service__item:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--eth-primary), var(--eth-primary-d-1));
    border-color: var(--eth-primary);
    transform: translateY(-3px);
    box-shadow: var(--eth-premium-shadow-md);
}

.eth-float-service__item.is-copied {
    color: #fff;
    background: var(--eth-success);
    border-color: var(--eth-success);
}

.eth-float-service__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.eth-float-service__icon svg {
    width: 22px;
    height: 22px;
}

/* 左侧 tooltip（hover 显示标题） */
.eth-float-service__tip {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    white-space: nowrap;
    padding: 0.4rem 0.8rem;
    border-radius: 0.55rem;
    background: var(--eth-text-title);
    color: var(--eth-bg-surface);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: var(--eth-premium-shadow-sm);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 200ms ease, transform 260ms var(--eth-premium-ease), visibility 200ms;
}

.eth-float-service__item:hover .eth-float-service__tip {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

/* --- 移动端底部固定菜单 --- */
.eth-mobile-float {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 500;
    display: none;
    background: color-mix(in srgb, var(--eth-bg-surface) 92%, transparent);
    backdrop-filter: blur(14px);
    border-top: 1px solid var(--eth-premium-border);
    box-shadow: 0 -12px 32px rgba(15, 23, 42, 0.08);
    padding-bottom: env(safe-area-inset-bottom);
}

.eth-mobile-float ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0;
    padding: 0.45rem 0.5rem;
    list-style: none;
}

.eth-mobile-float li {
    flex: 1;
    min-width: 0;
}

.eth-mobile-float a,
.eth-mobile-float button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    width: 100%;
    padding: 0.35rem 0.25rem;
    border: none;
    background: none;
    color: var(--eth-text-muted);
    text-decoration: none;
    cursor: pointer;
    font: inherit;
    transition: color 200ms ease;
}

.eth-mobile-float a:hover,
.eth-mobile-float button:hover {
    color: var(--eth-primary);
}

.eth-mobile-float__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.eth-mobile-float__icon svg {
    width: 22px;
    height: 22px;
}

.eth-mobile-float__label {
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* 移动端语言切换器（0.7.2） */
.eth-mobile-float__lang {
    position: relative;
}

.eth-mobile-float__lang-trigger {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    width: 100%;
    padding: 0.35rem 0.25rem;
    border: none;
    background: none;
    color: var(--eth-text-muted);
    cursor: pointer;
    font: inherit;
    transition: color 200ms ease;
}

.eth-mobile-float__lang-trigger:hover {
    color: var(--eth-primary);
}

.eth-mobile-float__lang-panel {
    display: none;
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);
    min-width: 160px;
    padding: 0.5rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 0.85rem;
    background: var(--eth-bg-surface);
    box-shadow: var(--eth-premium-shadow-md);
    z-index: 520;
}

.eth-mobile-float__lang-panel.is-open {
    display: block;
}

.eth-mobile-float__lang-panel ul {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.eth-mobile-float__lang-panel li {
    flex: none;
}

.eth-mobile-float__lang-panel a {
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0.45rem 0.6rem;
    font-size: 0.82rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: background-color 180ms ease, color 180ms ease;
}

.eth-mobile-float__lang-panel a:hover {
    background: color-mix(in srgb, var(--eth-primary) 8%, transparent);
    color: var(--eth-primary);
}

/* 移动端：body 底部留白，避免内容被菜单遮挡 */
@media (max-width: 767px) {
    .eth-mobile-float {
        display: block;
    }
    .eth-floating {
        bottom: calc(var(--eth-float-bottom, 24px) + 64px + env(safe-area-inset-bottom));
        right: 16px;
    }
    .eth-float-btn--top {
        width: 46px;
        height: 46px;
    }
    .eth-float-btn--top svg {
        width: 22px;
        height: 22px;
    }
    body:has(.eth-mobile-float) {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }
}

/* 桌面端：客服工具组 + FAB 可见，移动端菜单隐藏（默认） */
@media (min-width: 768px) {
    .eth-mobile-float {
        display: none !important;
    }
}

/* reduced-motion：禁用过渡与滚动平滑 */
@media (prefers-reduced-motion: reduce) {
    .eth-float-btn--top,
    .eth-float-service__item,
    .eth-float-service__tip {
        transition-duration: 0.01ms !important;
    }
}

/* =========================================================
 * 0.7.4 — 侧边栏统一 UI（文章 / 产品 / 分类三套合一）
 * ----------------------------------------------------
 * 统一卡片语言 + 链接样式 + 产品图片右对齐。
 * ========================================================= */

/* --- 1. 统一 widget 卡片语言 --- */
.eth-article-content__sidebar,
.eth-product-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* 三种 widget 统一为同一套卡片 */
.eth-article-widget,
.eth-product-widget,
.eth-widget {
    position: relative;
    padding: clamp(1.1rem, 2vw, 1.5rem);
    border: 1px solid var(--eth-premium-border);
    border-radius: 1rem;
    background:
        radial-gradient(120% 100% at 0% 0%, color-mix(in srgb, var(--eth-primary) 4%, transparent), transparent 55%),
        var(--eth-bg-surface);
    box-shadow: var(--eth-premium-shadow-sm);
    transition: box-shadow 280ms var(--eth-premium-ease), border-color 280ms ease;
}

.eth-article-widget:hover,
.eth-product-widget:hover,
.eth-widget:hover {
    border-color: color-mix(in srgb, var(--eth-primary) 22%, var(--eth-border));
    box-shadow: var(--eth-premium-shadow-md);
}

.eth-article-widget + .eth-article-widget,
.eth-product-widget + .eth-product-widget {
    margin-top: 0;
}

/* 标题统一 eyebrow 风格 */
.eth-article-widget__title,
.eth-product-widget__title,
.eth-widget__title {
    position: relative;
    margin: 0 0 1rem;
    padding: 0 0 0.8rem;
    border-bottom: 1px solid var(--eth-premium-border);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--eth-text-title);
}

/* 标题左侧品牌色小标（延续 TOC 语言） */
.eth-article-widget__title::before,
.eth-product-widget__title::before,
.eth-widget__title::before {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-right: 0.5rem;
    border-radius: 2px;
    background: linear-gradient(135deg, var(--eth-primary), var(--eth-tertiary));
    vertical-align: middle;
}

/* --- 2. 侧边栏链接样式（li / a） --- */
.eth-article-widget ul,
.eth-product-widget ul,
.eth-widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.eth-article-widget li,
.eth-product-widget li,
.eth-widget li {
    margin: 0;
}

.eth-article-widget li + li,
.eth-product-widget li + li,
.eth-widget li + li {
    margin-top: 0.3rem;
}

.eth-article-widget li a,
.eth-product-widget li a,
.eth-widget li a,
.eth-article-widget li > a,
.eth-product-widget li > a,
.eth-widget li > a {
    display: block;
    padding: 0.5rem 0.7rem;
    border-radius: 0.55rem;
    color: var(--eth-text-body);
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    transition: color 200ms ease, background-color 200ms ease, padding-left 260ms var(--eth-premium-ease);
}

.eth-article-widget li a:hover,
.eth-product-widget li a:hover,
.eth-widget li a:hover,
.eth-article-widget li.current-menu-item > a,
.eth-product-widget li.current-menu-item > a,
.eth-widget li.current-menu-item > a {
    color: var(--eth-primary);
    background: color-mix(in srgb, var(--eth-primary) 7%, transparent);
    padding-left: 0.95rem;
}

/* 分类/标签云：小胶囊 */
.eth-article-widget .tagcloud,
.eth-product-widget .tagcloud,
.eth-widget .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.eth-article-widget .tagcloud a,
.eth-product-widget .tagcloud a,
.eth-widget .tagcloud a {
    display: inline-flex;
    padding: 0.3rem 0.7rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 999rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--eth-text-muted);
    background: color-mix(in srgb, var(--eth-bg-surface) 90%, transparent);
    transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease;
}
.eth-article-widget .tagcloud a:hover,
.eth-product-widget .tagcloud a:hover,
.eth-widget .tagcloud a:hover {
    color: #fff;
    background: var(--eth-primary);
    border-color: var(--eth-primary);
}

/* 表单/搜索 widget 输入框 */
.eth-article-widget :is(input[type="text"], input[type="search"], input[type="email"], select, textarea),
.eth-product-widget :is(input[type="text"], input[type="search"], input[type="email"], select, textarea),
.eth-widget :is(input[type="text"], input[type="search"], input[type="email"], select, textarea) {
    width: 100%;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--eth-premium-border);
    border-radius: 0.6rem;
    background: var(--eth-bg-surface);
    color: var(--eth-text-title);
    font: inherit;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}
.eth-article-widget :is(input, select, textarea):focus,
.eth-product-widget :is(input, select, textarea):focus,
.eth-widget :is(input, select, textarea):focus {
    border-color: var(--eth-primary);
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--eth-primary) 12%, transparent);
}

/* --- 3. 产品侧边栏：图片右对齐 + 边距优化 --- */
.eth-product-widget img,
.eth-product-widget .wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0.75rem 0 0 auto;   /* 右对齐 */
    border-radius: 0.6rem;
    border: 1px solid var(--eth-premium-border);
}

/* 侧边栏内的小图（缩略图/头像等）右对齐 */
.eth-product-widget :is(.wp-block-image, figure) img {
    margin-left: auto;
}

/* --- 4. 正文链接（文章/页面内容）--- */
.eth-article-entry a,
.eth-product-entry a,
.entry-content a {
    color: var(--eth-link);
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: color 220ms ease, background-size 320ms var(--eth-premium-ease);
}
.eth-article-entry a:hover,
.eth-product-entry a:hover,
.entry-content a:hover {
    color: var(--eth-link-hover);
    background-size: 100% 1px;
}
/* 正文内的按钮/图片链接不去下划线 */
.eth-article-entry a:has(img),
.eth-product-entry a:has(img),
.entry-content a:has(img) {
    background-image: none;
}

/* --- 5. 响应式 --- */
@media (max-width: 992px) {
    .eth-article-content__sidebar,
    .eth-product-sidebar {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 1rem;
    }
}

/* =========================================================
 * 0.7.5 — product-5（hover 切换图集）细节修正
 * ----------------------------------------------------
 * - 标题居中（与 product-1 一致）
 * - hover 去除背景色衬底（0.6.4 曾给 product-1/5 加浅色背景）
 * ========================================================= */
.eth-loop-card--product-5:hover {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: var(--eth-radius-s);
}

.eth-loop-card--product-5 .eth-loop-card__title {
    text-align: center;
}

