/*
Theme Name: Mubei Stone
Theme URI: https://github.com/mubei-stone
Author: Mubei Stone Team
Description: 高端墓碑纪念石材企业主题 - 庄重典雅，深度支持询盘与多语言，无购物车功能
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: mubei-stone
Tags: memorial, tombstone, stone, inquiry, multilingual, business
*/

/* ===================================================
   CSS 变量
=================================================== */
:root {
    --ms-primary:         #0d0d0d;
    --ms-primary-soft:    #1a1a1a;
    --ms-gold:            #c9a86c;
    --ms-gold-dark:       #a8883a;
    --ms-gold-light:      #e8d5a8;
    --ms-surface:         #f9f8f5;
    --ms-surface-alt:     #f0ede6;
    --ms-surface-dark:    #161410;
    --ms-text:            #1c1c1c;
    --ms-text-light:      #ffffff;
    --ms-text-muted:      #8a8880;
    --ms-text-secondary:  #5a5855;
    --ms-border:          #e5e3da;
    --ms-border-dark:     #3a3830;
    --ms-shadow:          rgba(0,0,0,0.12);
    --ms-shadow-hover:    rgba(0,0,0,0.22);

    /* Customizer 可覆盖 */
    --ms-header-bg:       #0d0d0d;
    --ms-header-text:     #ffffff;
    --ms-footer-bg:       #0d0d0d;
    --ms-footer-text:     #cccccc;
    --ms-hero-overlay:    rgba(0,0,0,0.55);
    --ms-accent:          #c9a86c;
    --ms-btn-radius:      2px;

    --font-heading:  'Playfair Display', 'Georgia', serif;
    --font-body:     'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --container-xl:  1280px;
    --container-lg:  1100px;
    --container-md:  900px;
    --space-xs:      0.5rem;
    --space-sm:      1rem;
    --space-md:      2rem;
    --space-lg:      4rem;
    --space-xl:      6rem;
}

/* ===================================================
   重置 & 基础
=================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.75;
    color: var(--ms-text);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--ms-gold); text-decoration: none; transition: color .25s; }
a:hover { color: var(--ms-gold-dark); }
button { cursor: pointer; font-family: var(--font-body); }
ul { list-style: none; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    line-height: 1.25;
    color: var(--ms-text);
    font-weight: 600;
}

/* ===================================================
   工具类
=================================================== */
.container {
    width: 100%;
    max-width: var(--container-xl);
    margin: 0 auto;
    padding: 0 1.5rem;
}
.container--md { max-width: var(--container-md); }

.section-pad { padding: var(--space-xl) 0; }
.section-pad--sm { padding: var(--space-lg) 0; }

.text-center { text-align: center; }
.text-gold { color: var(--ms-gold); }
.bg-dark { background: var(--ms-primary); color: var(--ms-text-light); }
.bg-surface { background: var(--ms-surface); }
.bg-surface-alt { background: var(--ms-surface-alt); }

.sr-only {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ===================================================
   排版
=================================================== */
.section-label {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 700;
    margin-bottom: .75rem;
}
.section-label::before,
.section-label::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--ms-gold);
    vertical-align: middle;
}
.section-label::before { margin-right: .6rem; }
.section-label::after  { margin-left: .6rem; }

.section-title {
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    margin-bottom: 1rem;
}
.section-desc {
    font-size: 1.05rem;
    color: var(--ms-text-secondary);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.8;
}

/* ===================================================
   按钮
=================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 2rem;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 2px solid transparent;
    border-radius: var(--ms-btn-radius);
    transition: all .3s ease;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}
.btn--primary {
    background: var(--ms-gold);
    color: #0d0d0d;
    border-color: var(--ms-gold);
}
.btn--primary:hover {
    background: var(--ms-gold-dark);
    border-color: var(--ms-gold-dark);
    color: #fff;
}
.btn--outline {
    background: transparent;
    color: var(--ms-text-light);
    border-color: rgba(255,255,255,.7);
}
.btn--outline:hover {
    background: var(--ms-text-light);
    color: var(--ms-primary);
    border-color: var(--ms-text-light);
}
.btn--outline-dark {
    background: transparent;
    color: var(--ms-text);
    border-color: var(--ms-text);
}
.btn--outline-dark:hover {
    background: var(--ms-text);
    color: #fff;
}
.btn--gold-outline {
    background: transparent;
    color: var(--ms-gold);
    border-color: var(--ms-gold);
}
.btn--gold-outline:hover {
    background: var(--ms-gold);
    color: #0d0d0d;
}
.btn--lg { padding: 1.1rem 2.5rem; font-size: 1rem; }
.btn--sm { padding: .55rem 1.25rem; font-size: .8rem; }
.btn--full { width: 100%; justify-content: center; }

/* ===================================================
   促销条
=================================================== */
#ms-promo-bar {
    background: var(--ms-gold);
    color: #0d0d0d;
    text-align: center;
    padding: .6rem 3rem;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .03em;
    position: relative;
    z-index: 9999;
}
#ms-promo-bar a { color: #0d0d0d; text-decoration: underline; font-weight: 700; }
#ms-promo-bar-close {
    position: absolute; right: 1rem; top: 50%; transform: translateY(-50%);
    background: none; border: none; font-size: 1.2rem; cursor: pointer;
    color: #0d0d0d; opacity: .7; padding: .25rem .5rem; line-height: 1;
}
#ms-promo-bar-close:hover { opacity: 1; }

/* ===================================================
   Header
=================================================== */
#ms-header {
    background: var(--ms-header-bg, #0d0d0d);
    position: sticky;
    top: 0;
    z-index: 9000;
    transition: box-shadow .3s, background .3s;
}
#ms-header.is-scrolled {
    box-shadow: 0 2px 20px rgba(0,0,0,.4);
}
.ms-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 76px;
    gap: 2rem;
}
.ms-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none;
}
.ms-logo__img { height: 46px; width: auto; }
.ms-logo__text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
.ms-logo__name {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--ms-text-light);
    letter-spacing: .04em;
}
.ms-logo__tagline {
    font-size: .65rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 500;
}

/* Main Nav */
.ms-nav { display: flex; align-items: center; gap: .25rem; }
.ms-nav__item { position: relative; }
.ms-nav__link {
    display: block;
    padding: .5rem .9rem;
    color: rgba(255,255,255,.85);
    font-size: .88rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-bottom: 2px solid transparent;
    transition: color .25s, border-color .25s;
    white-space: nowrap;
    text-decoration: none;
}
.ms-nav__link:hover,
.ms-nav__link.is-active {
    color: var(--ms-gold);
    border-bottom-color: var(--ms-gold);
}
.ms-nav__item:hover > .ms-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.ms-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    min-width: 200px;
    background: #fff;
    border-top: 3px solid var(--ms-gold);
    box-shadow: 0 8px 30px rgba(0,0,0,.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all .25s ease;
    z-index: 100;
}
.ms-dropdown__link {
    display: block;
    padding: .7rem 1.25rem;
    color: var(--ms-text);
    font-size: .85rem;
    border-bottom: 1px solid var(--ms-border);
    transition: background .2s, color .2s;
    text-decoration: none;
}
.ms-dropdown__link:hover { background: var(--ms-surface); color: var(--ms-gold); }
.ms-dropdown__link:last-child { border-bottom: none; }

/* ── Products Category Dropdown ── */
.ms-nav__item--has-cats { position: relative; }
.ms-nav__item--has-cats:hover > .ms-dropdown--cats {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.ms-dropdown--cats {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border-top: 3px solid var(--ms-gold);
    box-shadow: 0 8px 30px rgba(0,0,0,.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all .25s ease;
    z-index: 200;
}
.ms-dropdown__group { position: relative; }
.ms-dropdown__link--parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    color: var(--ms-text);
}
.ms-dropdown__link--parent:hover { background: var(--ms-surface); color: var(--ms-gold); }
.ms-dropdown__sub-arrow {
    font-size: .65em;
    opacity: .6;
    margin-left: auto;
    padding-left: .5rem;
    transition: transform .2s;
}
/* Sub-category flyout */
.ms-dropdown--sub {
    position: absolute;
    top: 0;
    left: 100%;
    min-width: 200px;
    background: #fff;
    border-top: 3px solid var(--ms-gold);
    box-shadow: 8px 8px 30px rgba(0,0,0,.15);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-8px);
    transition: all .25s ease;
    z-index: 300;
}
.ms-dropdown__group--has-sub:hover > .ms-dropdown--sub {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.ms-dropdown__group--has-sub:hover .ms-dropdown__sub-arrow {
    transform: rotate(90deg);
}

/* ── Language Switcher ── */
.ms-lang-switcher {
    position: relative;
}
.ms-lang-btn {
    display: flex;
    align-items: center;
    gap: .4rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 2px;
    padding: .4rem .75rem;
    color: rgba(255,255,255,.9);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .04em;
    cursor: pointer;
    transition: all .25s;
    white-space: nowrap;
}
.ms-lang-btn:hover {
    background: rgba(201,168,108,.15);
    border-color: var(--ms-gold);
    color: var(--ms-gold);
}
.ms-lang-flag { font-size: 1rem; line-height: 1; }
.ms-lang-name { font-size: .8rem; }
.ms-lang-arrow {
    font-size: .6em;
    opacity: .7;
    transition: transform .25s;
}
.ms-lang-switcher.is-open .ms-lang-arrow,
.ms-lang-switcher:hover .ms-lang-arrow { transform: rotate(180deg); }
.ms-lang-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 160px;
    background: #fff;
    border-top: 3px solid var(--ms-gold);
    box-shadow: 0 8px 30px rgba(0,0,0,.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all .25s ease;
    z-index: 200;
}
.ms-lang-switcher:hover .ms-lang-dropdown,
.ms-lang-switcher.is-open .ms-lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.ms-lang-option {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem 1rem;
    color: var(--ms-text);
    font-size: .85rem;
    border-bottom: 1px solid var(--ms-border);
    text-decoration: none;
    transition: background .2s, color .2s;
}
.ms-lang-option:last-child { border-bottom: none; }
.ms-lang-option:hover { background: var(--ms-surface); color: var(--ms-gold); }
.ms-lang-option--active {
    background: var(--ms-surface);
    color: var(--ms-gold);
    font-weight: 600;
}

/* Hide fanyi2 default floating switcher */
#fanyi2-switcher,
.fanyi2-switcher,
[id*="fanyi2"] > .fanyi2-float-btn { display: none !important; }

/* Header actions */
.ms-header-actions { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
.ms-header-lang { display: flex; align-items: center; gap: .4rem; }
.ms-header-inquiry-btn {
    background: var(--ms-gold);
    color: #0d0d0d;
    padding: .55rem 1.4rem;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    border: none;
    border-radius: var(--ms-btn-radius);
    text-decoration: none;
    transition: background .25s, color .25s;
    white-space: nowrap;
    display: inline-block;
}
.ms-header-inquiry-btn:hover { background: var(--ms-gold-dark); color: #fff; }

/* Mobile menu toggle */
.ms-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    padding: .5rem;
    cursor: pointer;
}
.ms-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    transition: all .3s;
}
.ms-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ms-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.ms-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav */
.ms-mobile-nav {
    display: none;
    position: fixed;
    top: 76px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0d0d0d;
    overflow-y: auto;
    z-index: 8999;
    padding: 1.5rem;
    flex-direction: column;
    gap: .25rem;
}
.ms-mobile-nav.is-open { display: flex; }
.ms-mobile-nav a {
    display: block;
    padding: .9rem 1rem;
    color: rgba(255,255,255,.85);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .05em;
    border-bottom: 1px solid #2a2a2a;
    text-decoration: none;
}
.ms-mobile-nav a:hover { color: var(--ms-gold); }
.ms-mobile-nav a.sub-item { padding-left: 2rem; font-size: .9rem; color: rgba(255,255,255,.6); }
.ms-mobile-nav a.sub-item:hover { color: var(--ms-gold); }

/* ===================================================
   Hero
=================================================== */
.ms-hero {
    position: relative;
    min-height: 92vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.ms-hero__bg {
    position: absolute;
    inset: 0;
    /* background 由 PHP 内联输出，支持 Customizer 替换 */
    background-size: cover;
    background-position: center;
}
.ms-hero__overlay {
    position: absolute;
    inset: 0;
    background: var(--ms-hero-overlay);
}
.ms-hero__content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    padding: 2rem 0;
}
.ms-hero__label {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 700;
    margin-bottom: 1.25rem;
    padding-left: 2.5rem;
    position: relative;
}
.ms-hero__label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.8rem;
    height: 1px;
    background: var(--ms-gold);
}
.ms-hero__title {
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 1.5rem;
}
.ms-hero__title span { color: var(--ms-gold); }
.ms-hero__desc {
    font-size: 1.1rem;
    color: rgba(255,255,255,.8);
    line-height: 1.8;
    margin-bottom: 2.5rem;
    max-width: 560px;
}
.ms-hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

.ms-hero__scroll {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    color: rgba(255,255,255,.5);
    font-size: .7rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    z-index: 2;
    cursor: pointer;
    border: none;
    background: none;
}
.ms-hero__scroll-line {
    width: 1px;
    height: 36px;
    background: linear-gradient(to bottom, rgba(201,168,108,.8), transparent);
    animation: scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse {
    0%, 100% { transform: scaleY(1); opacity: 1; }
    50% { transform: scaleY(.7); opacity: .4; }
}

/* ===================================================
   Stats Bar
=================================================== */
.ms-stats {
    background: var(--ms-primary-soft);
    padding: 0;
}
.ms-stats__inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-left: 1px solid var(--ms-border-dark);
}
.ms-stats__item {
    padding: 2rem 1.5rem;
    text-align: center;
    border-right: 1px solid var(--ms-border-dark);
    border-bottom: 3px solid transparent;
    transition: border-color .3s;
}
.ms-stats__item:hover { border-bottom-color: var(--ms-gold); }
.ms-stats__number {
    font-family: var(--font-heading);
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--ms-gold);
    line-height: 1;
    display: block;
}
.ms-stats__suffix { font-size: 1.4rem; }
.ms-stats__label {
    font-size: .8rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-top: .4rem;
    display: block;
}

/* ===================================================
   About Section
=================================================== */
.ms-about-home__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}
.ms-about-home__image-wrap {
    position: relative;
}
.ms-about-home__image {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
}
.ms-about-home__badge {
    position: absolute;
    bottom: -1.5rem;
    right: -1.5rem;
    width: 120px;
    height: 120px;
    background: var(--ms-gold);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #0d0d0d;
}
.ms-about-home__badge-number {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}
.ms-about-home__badge-text {
    font-size: .65rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.3;
    margin-top: .25rem;
}
.ms-about-home__content { }
.ms-about-home__title { margin-bottom: 1.25rem; }
.ms-about-home__text {
    font-size: 1rem;
    color: var(--ms-text-secondary);
    line-height: 1.9;
    margin-bottom: 1.25rem;
}
.ms-about-home__features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin-bottom: 2rem;
}
.ms-about-home__feature {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .9rem;
    color: var(--ms-text-secondary);
}
.ms-about-home__feature::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--ms-gold);
    border-radius: 50%;
    flex-shrink: 0;
}

/* ===================================================
   Product Categories
=================================================== */
.ms-categories__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
}
.ms-category-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/4;
    cursor: pointer;
    display: block;
    text-decoration: none;
}
.ms-category-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.ms-category-card:hover .ms-category-card__image { transform: scale(1.06); }
.ms-category-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.1) 60%);
    transition: background .3s;
}
.ms-category-card:hover .ms-category-card__overlay {
    background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.3) 70%);
}
.ms-category-card__body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.75rem 1.5rem;
}
.ms-category-card__count {
    font-size: .72rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 600;
    margin-bottom: .4rem;
}
.ms-category-card__name {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    color: #fff;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: .5rem;
}
.ms-category-card__arrow {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .78rem;
    color: rgba(255,255,255,.6);
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 600;
    transition: color .25s, gap .25s;
}
.ms-category-card:hover .ms-category-card__arrow { color: var(--ms-gold); gap: .7rem; }

/* ===================================================
   Featured Products
=================================================== */
.ms-products__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 3rem;
}
.ms-products__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.ms-product-card {
    background: #fff;
    border: 1px solid var(--ms-border);
    transition: box-shadow .3s, transform .3s;
    overflow: hidden;
}
.ms-product-card:hover {
    box-shadow: 0 16px 48px var(--ms-shadow-hover);
    transform: translateY(-4px);
}
.ms-product-card__image-wrap {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
}
.ms-product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.ms-product-card:hover .ms-product-card__image { transform: scale(1.04); }
.ms-product-card__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--ms-gold);
    color: #0d0d0d;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .3rem .7rem;
}
.ms-product-card__body { padding: 1.5rem; }
.ms-product-card__cat {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 600;
    margin-bottom: .5rem;
}
.ms-product-card__title {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    color: var(--ms-text);
    font-weight: 600;
    margin-bottom: .75rem;
    line-height: 1.3;
}
.ms-product-card__title a { color: inherit; text-decoration: none; }
.ms-product-card__title a:hover { color: var(--ms-gold); }
.ms-product-card__desc {
    font-size: .88rem;
    color: var(--ms-text-secondary);
    line-height: 1.7;
    margin-bottom: 1.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ms-product-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    border-top: 1px solid var(--ms-border);
}
.ms-product-card__material {
    font-size: .78rem;
    color: var(--ms-text-muted);
    display: flex;
    align-items: center;
    gap: .4rem;
}
.ms-product-card__material::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ms-gold);
    display: inline-block;
}

/* Inquiry button in product card */
.ms-inquiry-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem 1.2rem;
    background: var(--ms-primary);
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid var(--ms-primary);
    transition: background .25s, color .25s, border-color .25s;
    text-decoration: none;
    border-radius: var(--ms-btn-radius);
}
.ms-inquiry-btn:hover {
    background: var(--ms-gold);
    border-color: var(--ms-gold);
    color: #0d0d0d;
}

/* ===================================================
   Materials Section
=================================================== */
.ms-materials__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
}
.ms-material-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.ms-material-card {
    background: #fff;
    border: 1px solid var(--ms-border);
    overflow: hidden;
    transition: box-shadow .3s, transform .3s;
}
.ms-material-card:hover,
.ms-material-card-link:hover .ms-material-card {
    box-shadow: 0 8px 30px var(--ms-shadow);
    transform: translateY(-3px);
}
.ms-material-card__image-wrap {
    aspect-ratio: 1;
    overflow: hidden;
}
.ms-material-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.ms-material-card:hover .ms-material-card__image,
.ms-material-card-link:hover .ms-material-card__image { transform: scale(1.05); }
.ms-material-card__body { padding: 1.25rem; }
.ms-material-card__type {
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 600;
    margin-bottom: .35rem;
}
.ms-material-card__name {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    color: var(--ms-text);
    font-weight: 600;
    margin-bottom: .5rem;
}
.ms-material-card__origin {
    font-size: .82rem;
    color: var(--ms-text-muted);
}
.ms-material-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .75rem;
}
.ms-material-card__tag {
    font-size: .68rem;
    padding: .2rem .6rem;
    background: var(--ms-surface);
    color: var(--ms-text-secondary);
    letter-spacing: .06em;
}

/* ===================================================
   Why Choose Us
=================================================== */
.ms-why__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-top: 3.5rem;
}
.ms-why-item { text-align: center; }
.ms-why-item__icon {
    width: 72px;
    height: 72px;
    background: var(--ms-surface-alt);
    border: 2px solid var(--ms-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
    transition: background .3s, border-color .3s;
    font-size: 1.6rem;
}
.ms-why-item:hover .ms-why-item__icon {
    background: var(--ms-gold);
    border-color: var(--ms-gold);
}
.ms-why-item__title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    margin-bottom: .6rem;
    color: var(--ms-text);
}
.ms-why-item__desc {
    font-size: .9rem;
    color: var(--ms-text-secondary);
    line-height: 1.75;
}

/* ===================================================
   News Section
=================================================== */
.ms-news__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}
.ms-news-card {
    background: #fff;
    border: 1px solid var(--ms-border);
    overflow: hidden;
    transition: box-shadow .3s;
}
.ms-news-card:hover { box-shadow: 0 8px 30px var(--ms-shadow); }
.ms-news-card__image-wrap {
    aspect-ratio: 16/9;
    overflow: hidden;
}
.ms-news-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.ms-news-card:hover .ms-news-card__image { transform: scale(1.04); }
.ms-news-card__body { padding: 1.5rem; }
.ms-news-card__meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: .75rem;
}
.ms-news-card__date {
    font-size: .75rem;
    color: var(--ms-text-muted);
    letter-spacing: .05em;
}
.ms-news-card__cat {
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 700;
}
.ms-news-card__title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    color: var(--ms-text);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: .75rem;
}
.ms-news-card__title a { color: inherit; text-decoration: none; }
.ms-news-card__title a:hover { color: var(--ms-gold); }
.ms-news-card__excerpt {
    font-size: .88rem;
    color: var(--ms-text-secondary);
    line-height: 1.7;
    margin-bottom: 1.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ms-news-card__link {
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ms-text);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    transition: color .25s, gap .25s;
}
.ms-news-card__link:hover { color: var(--ms-gold); gap: .7rem; }

/* ===================================================
   Contact CTA
=================================================== */
.ms-contact-cta {
    background: var(--ms-primary);
    padding: var(--space-xl) 0;
    position: relative;
    overflow: hidden;
}
.ms-contact-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(201,168,108,.1);
    border-radius: 50%;
}
.ms-contact-cta::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 400px;
    height: 400px;
    border: 1px solid rgba(201,168,108,.08);
    border-radius: 50%;
}
.ms-contact-cta__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: center;
}
.ms-contact-cta__label { color: var(--ms-gold); }
.ms-contact-cta__title {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    margin-bottom: 1rem;
}
.ms-contact-cta__desc {
    color: rgba(255,255,255,.65);
    font-size: 1rem;
    line-height: 1.8;
    max-width: 560px;
}
.ms-contact-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
    flex-shrink: 0;
    min-width: 260px;
}
.ms-contact-cta__info {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: rgba(255,255,255,.7);
    font-size: .9rem;
}
.ms-contact-cta__info-icon { color: var(--ms-gold); font-size: 1rem; }

/* ===================================================
   Footer
=================================================== */
#ms-footer {
    background: var(--ms-footer-bg, #0d0d0d);
    color: var(--ms-footer-text, #cccccc);
    padding-top: var(--space-lg);
}
.ms-footer__grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--ms-border-dark);
}
.ms-footer__brand {}
.ms-footer__brand-desc {
    font-size: .9rem;
    line-height: 1.8;
    color: rgba(255,255,255,.5);
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}
.ms-footer__social {
    display: flex;
    gap: .75rem;
}
.ms-footer__social-link {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ms-border-dark);
    color: rgba(255,255,255,.5);
    font-size: .9rem;
    transition: all .25s;
    text-decoration: none;
}
.ms-footer__social-link:hover {
    border-color: var(--ms-gold);
    color: var(--ms-gold);
}
.ms-footer__col-title {
    font-family: var(--font-heading);
    font-size: .95rem;
    color: #fff;
    font-weight: 600;
    letter-spacing: .05em;
    margin-bottom: 1.25rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--ms-gold);
    display: inline-block;
}
.ms-footer__links { display: flex; flex-direction: column; gap: .6rem; }
.ms-footer__link {
    font-size: .88rem;
    color: rgba(255,255,255,.5);
    text-decoration: none;
    transition: color .25s;
    display: flex;
    align-items: center;
    gap: .5rem;
}
.ms-footer__link::before {
    content: '';
    width: 4px;
    height: 4px;
    background: var(--ms-gold);
    border-radius: 50%;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity .25s;
}
.ms-footer__link:hover { color: var(--ms-gold); }
.ms-footer__link:hover::before { opacity: 1; }
.ms-footer__contact-item {
    display: flex;
    gap: .75rem;
    margin-bottom: .85rem;
    font-size: .88rem;
    color: rgba(255,255,255,.5);
    line-height: 1.6;
}
.ms-footer__contact-icon { color: var(--ms-gold); flex-shrink: 0; margin-top: .1rem; }
.ms-footer__bottom {
    padding: 1.25rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: .82rem;
    color: rgba(255,255,255,.35);
}
.ms-footer__bottom-links {
    display: flex;
    gap: 1.5rem;
}
.ms-footer__bottom-links a {
    color: rgba(255,255,255,.35);
    text-decoration: none;
    transition: color .25s;
}
.ms-footer__bottom-links a:hover { color: var(--ms-gold); }

/* ===================================================
   Floating Social
=================================================== */
#ms-floating-social {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 8000;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ms-float-item {
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--ms-primary);
    border-left: 3px solid var(--ms-gold);
    transition: all .3s ease;
    max-width: 46px;
    text-decoration: none;
}
.ms-float-item:hover { max-width: 180px; }
.ms-float-icon {
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ms-gold);
    font-size: 1rem;
    flex-shrink: 0;
}
.ms-float-label {
    white-space: nowrap;
    padding-right: 1rem;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .05em;
    color: #fff;
    opacity: 0;
    transition: opacity .25s;
}
.ms-float-item:hover .ms-float-label { opacity: 1; }
.ms-float-item--wa { border-left-color: #25D366; }
.ms-float-item--wa .ms-float-icon { color: #25D366; }
.ms-float-item--tg { border-left-color: #229ED9; }
.ms-float-item--tg .ms-float-icon { color: #229ED9; }
.ms-float-item--email { border-left-color: var(--ms-gold); }
.ms-float-item--phone { border-left-color: #4CAF50; }
.ms-float-item--phone .ms-float-icon { color: #4CAF50; }

/* WeChat QR */
.ms-float-item--wechat { position: relative; }
.ms-float-qr {
    display: none;
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    padding: .75rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.2);
    margin-right: 8px;
}
.ms-float-qr img { width: 100px; height: 100px; }
.ms-float-qr::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    border: 6px solid transparent;
    border-right: none;
    border-left-color: #fff;
}
.ms-float-item--wechat:hover .ms-float-qr { display: block; }

/* Float popup (email / phone) */
.ms-float-item--popup { position: relative; cursor: pointer; overflow: visible; }
.ms-float-popup {
    display: none;
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    color: #1a1a1a;
    border-radius: 6px;
    padding: .9rem 1rem;
    min-width: 200px;
    box-shadow: 0 6px 24px rgba(0,0,0,.2);
    text-align: left;
    z-index: 1;
}
.ms-float-popup::after {
    content: '';
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-right: none;
    border-left-color: #fff;
}
.ms-float-popup__label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--ms-text-muted);
    margin-bottom: .3rem;
}
.ms-float-popup__value {
    font-size: .88rem;
    font-weight: 600;
    word-break: break-all;
    margin-bottom: .55rem;
    color: #1a1a1a;
}
.ms-float-popup__copy {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .76rem;
    padding: .3rem .65rem;
    border: 1px solid var(--ms-gold);
    background: transparent;
    color: var(--ms-gold);
    border-radius: 3px;
    cursor: pointer;
    transition: background .2s, color .2s;
}
.ms-float-popup__copy:hover { background: var(--ms-gold); color: #0d0d0d; }
.ms-float-item--popup.is-open .ms-float-popup { display: block; }

/* ===================================================
   Inner Pages
=================================================== */
.ms-page-hero {
    background: var(--ms-primary);
    padding: 5rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.ms-page-hero__bg {
    position: absolute;
    inset: 0;
    background: url('https://images.unsplash.com/photo-1541123437800-1bb1317badc2?w=1600&q=80') center/cover no-repeat;
    opacity: .25;
}
.ms-page-hero__content { position: relative; z-index: 2; }
.ms-page-hero__title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3.2rem);
    color: #fff;
    font-weight: 700;
    margin-bottom: .75rem;
}
.ms-page-hero__breadcrumb {
    font-size: .85rem;
    color: rgba(255,255,255,.55);
}
.ms-page-hero__breadcrumb a { color: var(--ms-gold); }
.ms-page-hero__breadcrumb span.sep { margin: 0 .5rem; }

/* Breadcrumb */
.ms-breadcrumb {
    padding: 1rem 0;
    background: var(--ms-surface);
    border-bottom: 1px solid var(--ms-border);
    font-size: .82rem;
    color: var(--ms-text-muted);
}
.ms-breadcrumb a { color: var(--ms-text-secondary); text-decoration: none; }
.ms-breadcrumb a:hover { color: var(--ms-gold); }
.ms-breadcrumb .sep { margin: 0 .5rem; }

/* ===================================================
   About Page
=================================================== */
.ms-about-story { padding: var(--space-xl) 0; }
.ms-about-story__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: start;
}
.ms-about-team { padding: var(--space-xl) 0; background: var(--ms-surface); }
.ms-team__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}
.ms-team-card { text-align: center; }
.ms-team-card__image {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    margin-bottom: 1.25rem;
}
.ms-team-card__name {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    margin-bottom: .25rem;
}
.ms-team-card__role {
    font-size: .8rem;
    color: var(--ms-gold);
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 600;
}
.ms-certifications { padding: var(--space-lg) 0; }
.ms-cert__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}
.ms-cert-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem 1rem;
    border: 1px solid var(--ms-border);
    text-align: center;
    transition: border-color .25s;
}
.ms-cert-item:hover { border-color: var(--ms-gold); }
.ms-cert-item__icon { font-size: 2rem; margin-bottom: .75rem; }
.ms-cert-item__name { font-size: .8rem; font-weight: 600; color: var(--ms-text-secondary); }

/* ===================================================
   Products Page
=================================================== */
.ms-products-page { padding: var(--space-lg) 0; }
.ms-products-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 3rem;
    align-items: start;
}
.ms-sidebar { }
.ms-sidebar__widget {
    background: var(--ms-surface);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.ms-sidebar__title {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--ms-text);
    margin-bottom: 1.25rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--ms-gold);
}
.ms-cat-list { }
.ms-cat-list__item { border-bottom: 1px solid var(--ms-border); }
.ms-cat-list__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 0;
    font-size: .9rem;
    color: var(--ms-text-secondary);
    text-decoration: none;
    transition: color .25s;
}
.ms-cat-list__link:hover,
.ms-cat-list__link.is-active { color: var(--ms-gold); }
.ms-cat-list__count { font-size: .78rem; color: var(--ms-text-muted); }
.ms-cat-list--sub .ms-cat-list__link { padding-left: 1rem; font-size: .85rem; }

/* WooCommerce loop overrides */
.ms-wc-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

/* ===================================================
   Materials Page
=================================================== */
.ms-materials-page { padding: var(--space-lg) 0; }
.ms-materials-filter {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}
.ms-filter-btn {
    padding: .5rem 1.25rem;
    border: 1px solid var(--ms-border);
    background: #fff;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .25s;
    color: var(--ms-text-secondary);
}
.ms-filter-btn:hover,
.ms-filter-btn.is-active {
    background: var(--ms-gold);
    border-color: var(--ms-gold);
    color: #0d0d0d;
}
.ms-materials-full-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.ms-material-full-card {
    border: 1px solid var(--ms-border);
    overflow: hidden;
    transition: box-shadow .3s, transform .3s;
    background: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
}
.ms-material-full-card:hover {
    box-shadow: 0 8px 30px var(--ms-shadow);
    transform: translateY(-3px);
}
.ms-material-full-card__image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}
.ms-material-full-card__body { padding: 1.25rem; }
.ms-material-full-card__type {
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 600;
    margin-bottom: .35rem;
}
.ms-material-full-card__img-link { display: block; overflow: hidden; }
.ms-material-full-card__img-link img { transition: transform .5s; }
.ms-material-full-card:hover .ms-material-full-card__img-link img { transform: scale(1.05); }
.ms-material-full-card__name {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: .5rem;
    color: var(--ms-text);
    text-decoration: none;
    display: block;
    transition: color .25s;
}
a.ms-material-full-card__name:hover { color: var(--ms-gold); }
.ms-material-full-card__specs {
    font-size: .82rem;
    color: var(--ms-text-muted);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ms-material-full-card__specs span { display: block; }
/* Card body flex: CTA pinned to bottom */
.ms-material-full-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ms-material-full-card__cta { margin-top: auto; padding-top: .75rem; }

/* ===================================================
   Contact Page
=================================================== */
.ms-contact-page { padding: var(--space-xl) 0; }
.ms-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: start;
}
.ms-contact-info { }
.ms-contact-info-item {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 2rem;
}
.ms-contact-info-icon {
    width: 52px;
    height: 52px;
    background: var(--ms-surface-alt);
    border: 1px solid var(--ms-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--ms-gold);
    flex-shrink: 0;
}
.ms-contact-info-text h4 {
    font-size: .85rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ms-text-muted);
    font-weight: 600;
    margin-bottom: .4rem;
}
.ms-contact-info-text p {
    font-size: .95rem;
    color: var(--ms-text-secondary);
    line-height: 1.7;
}
.ms-contact-map {
    margin-top: 2rem;
    background: var(--ms-surface);
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ms-border);
    color: var(--ms-text-muted);
    font-size: .9rem;
}
.ms-contact-form-wrap {
    background: var(--ms-surface);
    padding: 2.5rem;
}
.ms-contact-form-wrap h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    margin-bottom: 1.75rem;
}

/* ===================================================
   Single Product (WooCommerce)
=================================================== */
.ms-single-product { padding: var(--space-lg) 0; }
.ms-single-product__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}
.ms-product-gallery {}
.ms-product-gallery__main {
    aspect-ratio: 1;
    overflow: hidden;
    margin-bottom: 1rem;
    background: var(--ms-surface);
}
.ms-product-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.ms-product-gallery__thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem;
}
.ms-product-gallery__thumb {
    aspect-ratio: 1;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color .25s;
}
.ms-product-gallery__thumb.is-active { border-color: var(--ms-gold); }
.ms-product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ms-product-info {}
.ms-product-info__cat {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 600;
    margin-bottom: .75rem;
}
.ms-product-info__title {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.25;
}
.ms-product-info__desc {
    font-size: .95rem;
    color: var(--ms-text-secondary);
    line-height: 1.9;
    margin-bottom: 1.75rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--ms-border);
}
.ms-product-specs {
    margin-bottom: 2rem;
}
.ms-product-spec {
    display: flex;
    padding: .65rem 0;
    border-bottom: 1px solid var(--ms-border);
    font-size: .9rem;
}
.ms-product-spec__label {
    width: 140px;
    flex-shrink: 0;
    color: var(--ms-text-muted);
    font-weight: 600;
}
.ms-product-spec__value { color: var(--ms-text-secondary); }
.ms-product-inquiry-area {
    background: var(--ms-surface);
    padding: 1.75rem;
    border-left: 4px solid var(--ms-gold);
}
.ms-product-inquiry-area h4 {
    font-size: 1rem;
    margin-bottom: .5rem;
}
.ms-product-inquiry-area p {
    font-size: .88rem;
    color: var(--ms-text-secondary);
    margin-bottom: 1rem;
}

/* ===================================================
   Blog / Archive
=================================================== */
.ms-blog-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 3rem;
    padding: var(--space-lg) 0;
}
.ms-post-card {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 2rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--ms-border);
    align-items: start;
}
.ms-post-card__image-wrap {
    aspect-ratio: 4/3;
    overflow: hidden;
}
.ms-post-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.ms-post-card:hover .ms-post-card__image { transform: scale(1.04); }
.ms-post-card__meta {
    display: flex;
    gap: 1rem;
    margin-bottom: .75rem;
    font-size: .78rem;
    color: var(--ms-text-muted);
}
.ms-post-card__cat { color: var(--ms-gold); font-weight: 700; }
.ms-post-card__title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    margin-bottom: .75rem;
    line-height: 1.35;
}
.ms-post-card__title a { color: inherit; text-decoration: none; }
.ms-post-card__title a:hover { color: var(--ms-gold); }
.ms-post-card__excerpt {
    font-size: .9rem;
    color: var(--ms-text-secondary);
    line-height: 1.75;
    margin-bottom: 1rem;
}

/* Single post */
.ms-single-post { padding: var(--space-lg) 0; }
.ms-single-post-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 3rem;
}
.ms-article-content {
    font-size: .95rem;
    line-height: 1.9;
    color: var(--ms-text-secondary);
}
.ms-article-content h2,
.ms-article-content h3,
.ms-article-content h4 { color: var(--ms-text); margin: 1.5em 0 .75em; }
.ms-article-content p { margin-bottom: 1.25em; }
.ms-article-content img { width: 100%; margin: 1.5rem 0; }
.ms-article-content ul, .ms-article-content ol {
    margin: 1em 0 1em 1.5em;
}
.ms-article-content ul { list-style: disc; }
.ms-article-content ol { list-style: decimal; }

/* ===================================================
   Pagination
=================================================== */
.ms-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 2.5rem 0;
}
.ms-pagination a,
.ms-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--ms-border);
    font-size: .88rem;
    color: var(--ms-text-secondary);
    text-decoration: none;
    transition: all .25s;
}
.ms-pagination a:hover,
.ms-pagination span.current {
    background: var(--ms-gold);
    border-color: var(--ms-gold);
    color: #0d0d0d;
}

/* ===================================================
   Forms (General)
=================================================== */
.ms-form {}
.ms-form-group { margin-bottom: 1.25rem; }
.ms-form-label {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .05em;
    color: var(--ms-text-secondary);
    margin-bottom: .4rem;
}
.ms-form-label .required { color: #e74c3c; }
.ms-form-input,
.ms-form-textarea,
.ms-form-select {
    width: 100%;
    padding: .8rem 1rem;
    border: 1px solid var(--ms-border);
    background: #fff;
    font-family: var(--font-body);
    font-size: .9rem;
    color: var(--ms-text);
    transition: border-color .25s, box-shadow .25s;
    appearance: none;
    outline: none;
    border-radius: 0;
}
.ms-form-input:focus,
.ms-form-textarea:focus,
.ms-form-select:focus {
    border-color: var(--ms-gold);
    box-shadow: 0 0 0 3px rgba(201,168,108,.15);
}
.ms-form-textarea { resize: vertical; min-height: 130px; }

/* ZCI Inquiry Hub integration */
.zci-inquiry-form { }
.zci-inquiry-form .form-group { margin-bottom: 1.25rem; }
.zci-inquiry-form label {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    color: var(--ms-text-secondary);
    margin-bottom: .4rem;
}
.zci-inquiry-form input,
.zci-inquiry-form textarea,
.zci-inquiry-form select {
    width: 100%;
    padding: .8rem 1rem;
    border: 1px solid var(--ms-border);
    font-family: var(--font-body);
    font-size: .9rem;
    outline: none;
    border-radius: 0;
    transition: border-color .25s;
}
.zci-inquiry-form input:focus,
.zci-inquiry-form textarea:focus {
    border-color: var(--ms-gold);
}
.ms-product-inquiry-area input[type="submit"],
.ms-product-inquiry-area button[type="submit"],
.zci-inquiry-form input[type="submit"],
.zci-inquiry-form button[type="submit"],
.zci-inquiry-form .submit-btn,
.zci-submit-btn {
    background: var(--ms-gold) !important;
    color: #0d0d0d !important;
    border: none !important;
    padding: .85rem 2rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    font-size: .88rem !important;
    transition: background .25s !important;
    border-radius: 0 !important;
    width: 100% !important;
}
.ms-product-inquiry-area input[type="submit"]:hover,
.ms-product-inquiry-area button[type="submit"]:hover,
.zci-inquiry-form input[type="submit"]:hover,
.zci-inquiry-form button[type="submit"]:hover,
.zci-inquiry-form .submit-btn:hover,
.zci-submit-btn:hover {
    background: var(--ms-gold-dark) !important;
    color: #fff !important;
}
/* Product inquiry button on single product page */
.zci-product-inquiry-btn,
.zci-inquiry-button {
    background: var(--ms-gold) !important;
    color: #0d0d0d !important;
    border: 2px solid var(--ms-gold) !important;
    padding: .9rem 2rem !important;
    font-weight: 700 !important;
    font-size: .9rem !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all .25s !important;
    border-radius: 0 !important;
    display: inline-block !important;
    text-decoration: none !important;
}
.zci-product-inquiry-btn:hover,
.zci-inquiry-button:hover {
    background: var(--ms-gold-dark) !important;
    border-color: var(--ms-gold-dark) !important;
    color: #fff !important;
}

/* Hide WooCommerce cart/checkout things */
.woocommerce-cart-form,
.woocommerce-checkout,
.cart-collaterals,
.woocommerce-mini-cart,
.cart-contents,
.wc-block-cart,
.wc-block-checkout { display: none !important; }
a.cart-contents { display: none !important; }

/* ===================================================
   Language Switcher (woo-fanyi)
=================================================== */
.fanyi2-switcher,
.fanyi-lang-switcher {
    display: flex;
    align-items: center;
    gap: .4rem;
}
.fanyi2-switcher select,
.fanyi-lang-switcher select {
    background: transparent;
    color: rgba(255,255,255,.8);
    border: 1px solid rgba(255,255,255,.2);
    padding: .3rem .6rem;
    font-size: .78rem;
    cursor: pointer;
    outline: none;
    border-radius: 2px;
    font-family: var(--font-body);
}
.fanyi2-switcher select:focus,
.fanyi-lang-switcher select:focus {
    border-color: var(--ms-gold);
}
.fanyi2-switcher option { background: #0d0d0d; color: #fff; }

/* ===================================================
   WooCommerce General Overrides
=================================================== */
.woocommerce,
.woocommerce-page {
    font-family: var(--font-body);
}
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    font-size: .85rem;
    color: var(--ms-text-muted);
}
.woocommerce .orderby { border: 1px solid var(--ms-border); padding: .5rem; font-size: .85rem; }
.woocommerce div.product .product_title {
    font-family: var(--font-heading);
    font-size: 2rem;
}
.woocommerce div.product .price { color: var(--ms-gold); font-size: 1.1rem; display: none; }
.woocommerce .single_add_to_cart_button { display: none !important; }
.woocommerce-cart .wc-proceed-to-checkout { display: none !important; }

/* Woo product loop reset (grid is now handled by ms-wc-products-grid via loop-start/end override) */
.woocommerce ul.products { margin: 0 !important; padding: 0 !important; }
.woocommerce ul.products li.product { list-style: none !important; }
.woocommerce ul.products li.product .button { display: none !important; }

/* ===================================================
   Product Gallery (Custom Override)
=================================================== */
.ms-product-gallery { width: 100%; }
.ms-product-gallery__main-wrap {
    position: relative;
    overflow: hidden;
    background: var(--ms-surface-alt);
    aspect-ratio: 1;
    cursor: zoom-in;
}
.ms-pg-slide {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
}
.ms-pg-slide.is-active { display: block; }
.ms-pg-zoom-link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.ms-pg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
    display: block;
}
.ms-product-gallery__main-wrap:hover .ms-pg-img { transform: scale(1.06); }
.ms-pg-zoom-icon {
    position: absolute;
    bottom: .75rem;
    right: .75rem;
    width: 36px;
    height: 36px;
    background: rgba(0,0,0,.5);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: .85rem;
    opacity: 0;
    transition: opacity .25s;
}
.ms-product-gallery__main-wrap:hover .ms-pg-zoom-icon { opacity: 1; }

/* Arrows */
.ms-pg-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(0,0,0,.5);
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background .2s;
    font-size: .9rem;
}
.ms-pg-arrow:hover { background: var(--ms-gold); }
.ms-pg-arrow--prev { left: .75rem; }
.ms-pg-arrow--next { right: .75rem; }

/* Counter */
.ms-pg-counter {
    position: absolute;
    bottom: .75rem;
    left: .75rem;
    background: rgba(0,0,0,.5);
    color: #fff;
    font-size: .78rem;
    padding: .25rem .6rem;
    border-radius: 2px;
}

/* Thumbnails */
.ms-product-gallery__thumbs {
    display: flex;
    gap: .5rem;
    margin-top: .5rem;
    overflow-x: auto;
    padding-bottom: .25rem;
}
.ms-pg-thumb {
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    padding: 0;
    border: 2px solid transparent;
    background: none;
    cursor: pointer;
    overflow: hidden;
    transition: border-color .2s;
}
.ms-pg-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ms-pg-thumb.is-active { border-color: var(--ms-gold); }
.ms-pg-thumb:hover { border-color: var(--ms-gold-light); }

/* Lightbox */
.ms-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
}
.ms-lightbox.is-open { display: flex; }
.ms-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.92);
    cursor: pointer;
}
.ms-lightbox__inner {
    position: relative;
    z-index: 1;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ms-lightbox__img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ms-lightbox__img {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    display: block;
    box-shadow: 0 20px 60px rgba(0,0,0,.6);
}
.ms-lightbox__close,
.ms-lightbox__prev,
.ms-lightbox__next {
    position: fixed;
    background: rgba(255,255,255,.1);
    border: none;
    color: #fff;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.1rem;
    transition: background .2s;
    z-index: 2;
}
.ms-lightbox__close:hover,
.ms-lightbox__prev:hover,
.ms-lightbox__next:hover { background: var(--ms-gold); }
.ms-lightbox__close { top: 1.5rem; right: 1.5rem; }
.ms-lightbox__prev { top: 50%; left: 1.5rem; transform: translateY(-50%); }
.ms-lightbox__next { top: 50%; right: 1.5rem; transform: translateY(-50%); }
.ms-lightbox__counter {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,.6);
    font-size: .85rem;
}

/* ===================================================
   Product Detail Page — 3-column layout
   [Related sidebar] [Gallery] [Info+Form]
=================================================== */
.ms-product-detail-page { padding: 2.5rem 0 4rem; }
.ms-product-detail-wrap {
    display: grid;
    grid-template-columns: 220px 1fr 340px;
    gap: 2rem;
    align-items: stretch;   /* 三列等高 */
    margin-bottom: 3rem;
}

/* Left sidebar — full height, flex column */
.ms-product-detail-sidebar {
    display: flex;
    flex-direction: column;
}
.ms-product-detail-sidebar__inner {
    flex: 1;                /* 撑满整列高度 */
    border: 1px solid var(--ms-border);
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.ms-product-detail-sidebar__title {
    font-family: var(--font-heading);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ms-text-muted);
    padding: .9rem 1rem .7rem;
    border-bottom: 1px solid var(--ms-border);
    margin: 0;
    flex-shrink: 0;
}
/* Related list — vertical card stack, fills remaining height */
.ms-product-related-list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.ms-product-related-item {
    border-bottom: 1px solid var(--ms-border);
    display: flex;
    overflow: hidden;
}
.ms-product-related-item:last-child { border-bottom: none; }
.ms-product-related-link {
    display: flex;
    flex-direction: column;   /* 图片在上，文字在下 */
    text-decoration: none;
    width: 100%;
    transition: background .2s;
    overflow: hidden;
}
.ms-product-related-link:hover { background: var(--ms-bg); }
.ms-product-related-img {
    width: 100%;
    aspect-ratio: 4 / 3;     /* 固定比例，不随条数拉伸 */
    object-fit: cover;
    display: block;
    flex-shrink: 0;
    transition: transform .4s ease;
}
.ms-product-related-link:hover .ms-product-related-img { transform: scale(1.04); }
.ms-product-related-name {
    font-size: .78rem;
    color: var(--ms-text-secondary);
    line-height: 1.4;
    padding: .45rem .7rem;
    flex-shrink: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .2s;
    background: #fff;
}
.ms-product-related-link:hover .ms-product-related-name { color: var(--ms-gold); }
.ms-product-detail-sidebar__back {
    display: block;
    font-size: .75rem;
    color: var(--ms-text-muted);
    text-decoration: none;
    padding: .75rem 1rem;
    border-top: 1px solid var(--ms-border);
    background: var(--ms-bg);
    transition: color .2s;
    flex-shrink: 0;
}
.ms-product-detail-sidebar__back:hover { color: var(--ms-gold); }

/* Center: gallery column */
.ms-product-detail-gallery {
    display: flex;
    flex-direction: column;
}
.ms-product-detail-gallery .ms-product-gallery { position: sticky; top: 90px; }
.ms-product-detail-page .woocommerce-product-gallery { float: none !important; width: 100% !important; margin: 0 !important; }
.ms-product-detail-page div.product .summary { float: none !important; width: 100% !important; }

/* Right: info column */
.ms-product-detail-info {
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--ms-border);
    padding-left: 1.75rem;
}

/* Right: info */
.ms-product-detail-info .product_title {
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: .75rem;
    line-height: 1.25;
}
.ms-product-detail-info .product_meta { font-size: .82rem; color: var(--ms-text-muted); margin-bottom: 1.25rem; }
.ms-product-detail-info .woocommerce-product-details__short-description {
    font-size: .9rem;
    line-height: 1.8;
    color: var(--ms-text-secondary);
    margin-bottom: 1.5rem;
}
.ms-product-detail-info .woocommerce-review-link { display: none !important; }
.woocommerce-product-rating { display: none !important; }

/* Below: description tab */
.ms-product-detail-below {
    border-top: 1px solid var(--ms-border);
    padding-top: 2.5rem;
    margin-top: 1rem;
}
.ms-product-detail-below .woocommerce-tabs { margin-bottom: 2rem; }

/* ===================================================
   Material Detail Page
=================================================== */
.ms-material-detail { }
.ms-material-detail__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}
/* Left column */
.ms-material-detail__left { position: sticky; top: 90px; }
.ms-material-detail__img-wrap {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.5rem;
    cursor: zoom-in;
}
.ms-material-detail__img-wrap:hover .ms-pg-zoom-icon { opacity: 1; }
.ms-material-zoom-link { display: block; overflow: hidden; position: relative; }
.ms-material-detail__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.ms-material-detail__img-wrap:hover .ms-material-detail__img { transform: scale(1.04); }
.ms-material-detail__img--placeholder {
    background: var(--ms-surface-alt);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Right column */
.ms-material-detail__right { }
/* CTA Box — white style */
.ms-material-detail__cta-box {
    background: #fff;
    border: 1px solid var(--ms-border);
    border-top: 3px solid var(--ms-gold);
    padding: 2rem;
}
.ms-material-detail__cta-icon {
    width: 48px;
    height: 48px;
    background: var(--ms-surface-alt);
    color: var(--ms-gold);
    border: 1px solid var(--ms-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}
.ms-material-detail__cta-box h4 {
    color: var(--ms-text);
    font-family: var(--font-heading);
    font-size: 1.15rem;
    margin-bottom: .5rem;
}
.ms-material-detail__cta-box p {
    font-size: .88rem;
    color: var(--ms-text-secondary);
    line-height: 1.7;
}
/* Material image lightbox */
.ms-material-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
}
.ms-material-lightbox.is-open { display: flex; }
.ms-material-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.9);
    cursor: pointer;
}
.ms-material-lightbox__inner {
    position: relative;
    z-index: 1;
    max-width: 90vw;
    max-height: 90vh;
}
.ms-material-lightbox__img {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    display: block;
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.ms-material-lightbox__close {
    position: fixed;
    top: 1.5rem;
    right: 1.5rem;
    width: 48px;
    height: 48px;
    background: rgba(255,255,255,.15);
    border: none;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
    z-index: 2;
}
.ms-material-lightbox__close:hover { background: var(--ms-gold); color: #0d0d0d; }
.ms-material-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem;
    margin-top: .5rem;
}
.ms-material-gallery__thumb {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color .25s;
}
.ms-material-gallery__thumb:hover { border-color: var(--ms-gold); }
.ms-material-detail__name {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: .5rem;
}
.ms-material-detail__type {
    display: inline-block;
    font-size: .72rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--ms-gold);
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-left: 2rem;
    position: relative;
}
.ms-material-detail__type::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.3rem;
    height: 1px;
    background: var(--ms-gold);
}
.ms-material-detail__excerpt {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--ms-text-secondary);
    margin-bottom: 2rem;
}
.ms-material-specs { margin-bottom: 2rem; }
.ms-material-specs__title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    padding-bottom: .6rem;
    border-bottom: 2px solid var(--ms-gold);
    display: inline-block;
}
.ms-material-specs__table {
    width: 100%;
    border-collapse: collapse;
}
.ms-material-specs__table tr {
    border-bottom: 1px solid var(--ms-border);
}
.ms-material-specs__table tr:last-child { border-bottom: none; }
.ms-material-specs__table th {
    text-align: left;
    width: 40%;
    padding: .65rem 0;
    font-size: .82rem;
    font-weight: 600;
    color: var(--ms-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
}
.ms-material-specs__table td {
    padding: .65rem 0;
    font-size: .92rem;
    color: var(--ms-text-secondary);
}
.ms-material-detail__cta {
    padding-top: 2rem;
    border-top: 1px solid var(--ms-border);
}
.ms-material-detail__desc {
    margin-bottom: 4rem;
    padding-top: 2rem;
    border-top: 1px solid var(--ms-border);
}
.ms-material-detail__desc h3 {
    font-family: var(--font-heading);
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
}
.ms-material-related { margin-bottom: 2rem; }

/* ===================================================
   Animations
=================================================== */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-in { animation: fadeInUp .6s ease forwards; }

/* ===================================================
   Responsive
=================================================== */
@media (max-width: 1200px) {
    .ms-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .ms-cert__grid { grid-template-columns: repeat(4, 1fr); }
    .ms-materials-full-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 992px) {
    :root { --space-xl: 4rem; --space-lg: 3rem; }
    .ms-nav, .ms-header-inquiry-btn { display: none; }
    .ms-menu-toggle { display: flex; }
    .ms-about-home__grid { grid-template-columns: 1fr; gap: 3rem; }
    .ms-categories__grid { grid-template-columns: repeat(2, 1fr); }
    .ms-products__grid { grid-template-columns: repeat(2, 1fr); }
    .ms-materials__grid { grid-template-columns: repeat(2, 1fr); }
    .ms-why__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .ms-news__grid { grid-template-columns: repeat(2, 1fr); }
    .ms-contact-cta__inner { grid-template-columns: 1fr; gap: 2rem; }
    .ms-products-layout { grid-template-columns: 1fr; }
    .ms-single-product__layout { grid-template-columns: 1fr; }
    .ms-material-detail__layout { grid-template-columns: 1fr; gap: 2rem; }
    .ms-material-detail__left { position: static; }
    .ms-product-detail-wrap { grid-template-columns: 1fr 1fr; }
    .ms-product-detail-sidebar { display: none; }
    .ms-product-detail-gallery .ms-product-gallery { position: static; }
    .ms-contact-grid { grid-template-columns: 1fr; gap: 3rem; }
    .ms-blog-layout { grid-template-columns: 1fr; }
    .ms-single-post-layout { grid-template-columns: 1fr; }
    .ms-about-story__grid { grid-template-columns: 1fr; gap: 2rem; }
    .ms-team__grid { grid-template-columns: repeat(2, 1fr); }
    .ms-stats__inner { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .ms-about-home__badge { bottom: -.75rem; right: -.75rem; width: 90px; height: 90px; }
    .ms-about-home__badge-number { font-size: 1.5rem; }
    .ms-categories__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
    .ms-news__grid { grid-template-columns: 1fr; }
    .ms-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
    .ms-footer__bottom { flex-direction: column; text-align: center; }
    .ms-post-card { grid-template-columns: 1fr; gap: 1rem; }
    .ms-cert__grid { grid-template-columns: repeat(3, 1fr); }
    .ms-team__grid { grid-template-columns: 1fr 1fr; }
    .ms-wc-products-grid { grid-template-columns: repeat(2, 1fr); }
    .ms-materials-full-grid { grid-template-columns: repeat(2, 1fr); }
    .ms-product-detail-wrap { grid-template-columns: 1fr; }
    .ms-product-detail-sidebar { display: none; }
    #ms-floating-social { top: 50%; transform: translateY(-50%); right: 0; }
    .ms-float-item { max-width: 40px; }
    .ms-float-icon { width: 40px; height: 40px; font-size: .9rem; }
    .ms-float-label { display: none; }
    .ms-float-icon { width: 50px; height: 50px; }
}

@media (max-width: 576px) {
    .ms-hero { min-height: 80vh; }
    .ms-categories__grid { grid-template-columns: 1fr; }
    .ms-products__grid { grid-template-columns: 1fr; }
    .ms-why__grid { grid-template-columns: 1fr; }
    .ms-stats__inner { grid-template-columns: repeat(2, 1fr); }
    .ms-cert__grid { grid-template-columns: repeat(2, 1fr); }
    .ms-team__grid { grid-template-columns: 1fr; }
    .ms-wc-products-grid { grid-template-columns: 1fr; }
    .ms-materials-full-grid { grid-template-columns: repeat(2, 1fr); }
    .ms-contact-form-wrap { padding: 1.5rem; }
}
