        :root {
            --primary-red: #c41e3a;
            --primary-red-dark: #a0182f;
            --primary-red-light: #e8455c;
            --gold: #c8963e;
            --gold-light: #e0c080;
            --gold-pale: #fdf6ed;
            --white: #ffffff;
            --gray-50: #fafafa;
            --gray-100: #f5f5f5;
            --gray-200: #e8e8e8;
            --gray-300: #d4d4d4;
            --gray-400: #b0b0b0;
            --gray-500: #888888;
            --gray-600: #666666;
            --gray-700: #444444;
            --gray-800: #2a2a2a;
            --gray-900: #1a1a1a;
            --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
            --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
            --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.15);
            --radius-sm: 6px;
            --radius-md: 10px;
            --radius-lg: 16px;
            --radius-xl: 20px;
            --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            --max-width: 1280px;
            --header-height: 72px;
            --topbar-height: 38px;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: calc(var(--header-height) + var(--topbar-height) + 20px);
            font-size: 16px;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Helvetica Neue', Arial, sans-serif;
            color: var(--gray-800);
            background: var(--white);
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
        }

        /* ==================== TOP BAR ==================== */
        .top-bar {
            background: var(--gray-900);
            color: #ccc;
            font-size: 0.8rem;
            height: var(--topbar-height);
            line-height: var(--topbar-height);
            z-index: 1001;
            position: relative;
        }
        .top-bar .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 100%;
            flex-wrap: wrap;
        }
        .top-bar .welcome-text {
            display: flex;
            align-items: center;
            gap: 6px;
            white-space: nowrap;
        }
        .top-bar .welcome-text .icon-dot {
            display: inline-block;
            width: 7px;
            height: 7px;
            background: #4caf84;
            border-radius: 50%;
            animation: pulse-dot 2s infinite;
        }
        @keyframes pulse-dot {
            0%,
            100% {
                box-shadow: 0 0 0 0 rgba(76, 175, 132, 0.6);
            }
            50% {
                box-shadow: 0 0 0 8px rgba(76, 175, 132, 0);
            }
        }
        .top-bar .contact-links {
            display: flex;
            align-items: center;
            gap: 18px;
            white-space: nowrap;
        }
        .top-bar .contact-links a {
            color: #ccc;
            text-decoration: none;
            transition: color var(--transition);
            display: flex;
            align-items: center;
            gap: 5px;
        }
        .top-bar .contact-links a:hover {
            color: var(--gold-light);
        }
        .top-bar .contact-links .phone-highlight {
            color: var(--gold-light);
            font-weight: 600;
            font-size: 0.9rem;
            letter-spacing: 0.5px;
        }

        /* ==================== HEADER / NAV ==================== */
        .header {
            background: var(--white);
            position: sticky;
            top: 0;
            z-index: 1000;
            height: var(--header-height);
            box-shadow: var(--shadow-sm);
            transition: box-shadow var(--transition);
        }
        .header.scrolled {
            box-shadow: var(--shadow-md);
        }
        .header .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 100%;
        }
        .logo-area {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
            flex-shrink: 0;
        }
        .logo-icon {
            width: 46px;
            height: 46px;
            background: var(--primary-red);
            border-radius: var(--radius-sm);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: 700;
            font-size: 1.3rem;
            letter-spacing: 1px;
            flex-shrink: 0;
            position: relative;
            overflow: hidden;
        }
        .logo-icon::after {
            content: '';
            position: absolute;
            bottom: -4px;
            right: -4px;
            width: 18px;
            height: 18px;
            background: var(--gold);
            border-radius: 50%;
            opacity: 0.7;
        }
        .logo-text {
            display: flex;
            flex-direction: column;
            line-height: 1.2;
        }
        .logo-text .brand-name {
            font-size: 1.35rem;
            font-weight: 700;
            color: var(--gray-900);
            letter-spacing: 1px;
        }
        .logo-text .brand-name span {
            color: var(--primary-red);
        }
        .logo-text .brand-sub {
            font-size: 0.7rem;
            color: var(--gray-500);
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .nav-links {
            display: flex;
            list-style: none;
            gap: 6px;
            height: 100%;
            align-items: center;
        }
        .nav-links li {
            height: 100%;
            display: flex;
            align-items: center;
            position: relative;
        }
        .nav-links li>a {
            display: flex;
            align-items: center;
            height: 100%;
            padding: 0 16px;
            text-decoration: none;
            color: var(--gray-700);
            font-weight: 500;
            font-size: 0.95rem;
            transition: color var(--transition);
            position: relative;
            white-space: nowrap;
            letter-spacing: 0.5px;
        }
        .nav-links li>a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%) scaleX(0);
            width: calc(100% - 20px);
            height: 3px;
            background: var(--primary-red);
            border-radius: 3px 3px 0 0;
            transition: transform var(--transition);
            transform-origin: center;
        }
        .nav-links li>a:hover,
        .nav-links li>a.active {
            color: var(--primary-red);
        }
        .nav-links li>a:hover::after,
        .nav-links li>a.active::after {
            transform: translateX(-50%) scaleX(1);
        }
        .nav-links .dropdown {
            position: relative;
        }
        .nav-links .dropdown-menu {
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%) translateY(8px);
            background: #fff;
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-lg);
            padding: 8px 0;
            min-width: 170px;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: all var(--transition);
            list-style: none;
            z-index: 100;
            border: 1px solid var(--gray-200);
        }
        .nav-links .dropdown:hover .dropdown-menu,
        .nav-links .dropdown-menu:hover {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateX(-50%) translateY(0);
        }
        .nav-links .dropdown-menu li a {
            display: block;
            padding: 10px 20px;
            text-decoration: none;
            color: var(--gray-700);
            font-size: 0.9rem;
            transition: all var(--transition);
            white-space: nowrap;margin:0 auto;
        }
        .nav-links .dropdown-menu li a:hover {
            background: #fef5f6;
            color: var(--primary-red);
            padding-left: 26px;
        }

        .header-cta {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .btn-phone-header {
            display: flex;
            align-items: center;
            gap: 6px;
            background: var(--primary-red);
            color: #fff;
            padding: 10px 18px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9rem;
            transition: all var(--transition);
            white-space: nowrap;
            letter-spacing: 0.5px;
        }
        .btn-phone-header:hover {
            background: var(--primary-red-dark);
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }
        .btn-phone-header .pulse-ring {
            display: inline-block;
            width: 10px;
            height: 10px;
            background: #fff;
            border-radius: 50%;
            animation: pulse-ring 1.8s infinite;
        }
        @keyframes pulse-ring {
            0%,
            100% {
                box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
            }
            50% {
                box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
            }
        }

        /* Hamburger */
        .hamburger {
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            width: 38px;
            height: 38px;
            flex-direction: column;
            justify-content: center;
            gap: 7px;
            z-index: 1002;
            padding: 6px;
            border-radius: var(--radius-sm);
        }
        .hamburger span {
            display: block;
            height: 2.5px;
            background: var(--gray-800);
            border-radius: 2px;
            transition: all var(--transition);
            width: 26px;
            margin: 0 auto;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(6.5px, 6.5px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(6.5px, -6.5px);
        }

        /* ==================== CONTAINER ==================== */
        .container {
            max-width: var(--max-width);
            margin: 0 auto;
            padding: 0 24px;
            width: 100%;
        }
        .container-narrow {
            max-width: 1000px;
            margin: 0 auto;
            padding: 0 24px;
        }

        /* ==================== HERO BANNER ==================== */
.hero {
    position: relative;
    background: linear-gradient(125deg, #FEF5E6 0%, #F9F3E2 25%, #E9F5EC 70%, #DCEBE6 100%);
    color: #2D3E2F;
    overflow: hidden;
    min-height: 580px;
    display: flex;
    align-items: center;
}
    .hero .bg-pattern {
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse at 15% 40%, rgba(200, 150, 62, 0.12) 0%, transparent 55%), radial-gradient(ellipse at 90% 70%, rgba(120, 160, 100, 0.1) 0%, transparent 60%), radial-gradient(ellipse at 40% 20%, rgba(196, 30, 58, 0.03) 0%, transparent 70%);
        pointer-events: none;
    }
    .hero .grid-overlay {
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(120, 100, 70, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(120, 100, 70, 0.03) 1px, transparent 1px);
        background-size: 45px 45px;
        pointer-events: none;
    }
    .hero .container {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        align-items: center;
        padding-top: 20px;
        padding-bottom: 20px;
    }
.hero-content h1 {
    /*font-size: 2.8rem;
            font-weight: 700;
            line-height: 1.25;
            margin-bottom: 16px;
            letter-spacing: 1px;*/
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 16px;
    letter-spacing: 1px;
    color: #2C3A2B;
}
    .hero-content h1 .highlight {
        /*color: var(--gold-light);
            position: relative;*/
        color: #C28B3C;
        position: relative;
        display: inline-block;
    }
    .hero-content h1 .highlight-red {
        /*color: var(--primary-red-light);*/
        color: var(--primary-red);
    }
.hero-content .hero-subtitle {
    /*font-size: 1.15rem;
            color: #d0c8c8;
            margin-bottom: 28px;
            line-height: 1.7;
            max-width: 480px;*/ font-size: 1.15rem;
    margin-bottom: 28px;
    line-height: 1.7;
    max-width: 480px;
    color: #4E5F4C;
}
.hero-content .hero-badges {
    /*display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 32px;*/
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
}
.hero-content .hero-badge {
    /*display: flex;
            align-items: center;
            gap: 8px;
            background: rgba(255, 255, 255, 0.07);
            border: 1px solid rgba(255, 255, 255, 0.15);
            padding: 10px 16px;
            border-radius: 50px;
            font-size: 0.85rem;
            color: #e8d8d8;
            backdrop-filter: blur(4px);
            white-space: nowrap;*/
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 247, 240, 0.85);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(160, 130, 90, 0.2);
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 0.85rem;
    color: #4B3E2C;
    font-weight: 500;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}
        .hero-content .hero-badge .badge-icon {
            font-size: 1.2rem;
        }
        .hero-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
        }
.btn-hero-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary-red);
    color: #fff;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all var(--transition);
    letter-spacing: 0.5px;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(196, 30, 58, 0.2);
}
        .btn-hero-primary:hover {
            background: var(--primary-red-light);
            transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(196, 30, 58, 0.4);
        }
.btn-hero-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 240, 0.75);
    backdrop-filter: blur(4px);
    color: #B1662C;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all var(--transition);
    letter-spacing: 0.5px;
    border: 1.5px solid #D6B17E;
    cursor: pointer;
}
    .btn-hero-outline:hover {
        border-color: var(--primary-red);
        background: rgba(255, 245, 235, 0.9);
        color: var(--primary-red-dark);
        transform: translateY(-3px);
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.05);
    }
.hero-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.hero-card-stack {
    position: relative;
    width: 320px;
    height: 380px;
}
.hero-card {
    position: absolute;
    background: rgba(255, 252, 245, 0.92);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(200, 170, 120, 0.3);
    border-radius: var(--radius-lg);
    padding: 28px 20px;
    text-align: center;
    transition: all 0.25s ease;
    width: 200px;
    box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.08);
}
    .hero-card:nth-child(1) {
        top: 10px;
        left: 10px;
        z-index: 3;
        background: rgba(255, 245, 235, 0.96);
        border-left: 3px solid var(--primary-red-light);
    }
    .hero-card:nth-child(2) {
        top: 80px;
        left: 90px;
        z-index: 2;
    }
    .hero-card:nth-child(3) {
        top: 150px;
        left: 30px;
        z-index: 1;
    }
    .hero-card:nth-child(4) {
        top: 210px;
        left: 110px;
        z-index: 0;
    }
    .hero-card .card-icon-large {
        font-size: 3rem;
        margin-bottom: 10px;
        display: block;
    }
    .hero-card .card-label {
        font-size: 0.9rem;
        font-weight: 700;
        color: #7C5E3A;
        letter-spacing: 1px;
    }

        /* ==================== SECTION COMMON ==================== */
        .section {
            padding: 70px 0;
        }
        .section-header {
            text-align: center;
            margin-bottom: 48px;
        }
        .section-header .section-tag {
            display: inline-block;
            background: #fef5f6;
            color: var(--primary-red);
            padding: 6px 16px;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-bottom: 12px;
        }
        .section-header h2 {
            font-size: 2rem;
            font-weight: 700;
            color: var(--gray-900);
            margin-bottom: 8px;
            letter-spacing: 1px;
        }
        .section-header .section-desc {
            color: var(--gray-500);
            font-size: 0.95rem;
            max-width: 560px;
            margin: 0 auto;
            line-height: 1.6;
        }
        .section-header .divider {
            width: 50px;
            height: 4px;
            background: var(--primary-red);
            border-radius: 2px;
            margin: 14px auto 0;
        }

        /* ==================== PRODUCTS SECTION ==================== */
        .products-section {
            background: var(--gray-50);
            position: relative;
        }
        .products-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
        }
        .product-card {
            background: #fff;
            border-radius: var(--radius-lg);
            padding: 32px 22px;
            text-align: center;
            transition: all var(--transition);
            box-shadow: var(--shadow-sm);
            text-decoration: none;
            color: inherit;
            display: block;
            border: 1px solid transparent;
            position: relative;
            overflow: hidden;
        }
        .product-card:hover {
            transform: translateY(-8px);
            box-shadow: var(--shadow-lg);
            border-color: #fdd;
        }
        .product-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: var(--primary-red);
            border-radius: 0 0 4px 4px;
            transform: scaleX(0);
            transform-origin: center;
            transition: transform var(--transition);
        }
        .product-card:hover::before {
            transform: scaleX(1);
        }
            .product-card .product-icon-wrap {
                width: 150px;
                height: 200px;
                margin: 0 auto 18px;
              
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 2rem;
                transition: all var(--transition);
            }
            .product-card .product-icon-wrap img{display:block;width:100%;height:100%;margin:0 auto;border-radius:10px}
            .product-card:hover .product-icon-wrap {
                background:#f9f9f9;
                transform: scale(1.08);
            }
        .product-card:hover .product-icon-wrap .icon-emoji {
            filter: brightness(0) invert(1);
        }
        .product-card .icon-emoji {
            transition: filter var(--transition);
            font-size: 2rem;
            line-height: 1;
        }
        .product-card h3 {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--gray-900);
            margin-bottom: 8px;
        }
        .product-card p {
            font-size: 0.85rem;
            color: var(--gray-500);
            line-height: 1.6;
        }
        .product-card .card-arrow {
            display: inline-block;
            margin-top: 10px;
            color: var(--primary-red);
            font-weight: 600;
            font-size: 0.85rem;
            transition: all var(--transition);
        }
        .product-card:hover .card-arrow {
            transform: translateX(4px);
        }





        /*index product-card*/ 

.index-pros .products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.index-pros .product-card {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 32px 22px;
    text-align: center;
    transition: all var(--transition);
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    color: inherit;
    border: 1px solid transparent;
}


    .index-pros .product-card:hover {
        transform: translateY(-8px);
        box-shadow: var(--shadow-lg);
        border-color: #fdd;
    }


    .index-pros .product-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: var(--primary-red);
        border-radius: 0 0 4px 4px;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform var(--transition);
    }


    .index-pros .product-card:hover::before {
        transform: scaleX(1);
    }


    .index-pros .product-card .product-icon-wrap {
        width: 72px;
        height: 72px;
        margin: 0 auto 18px;
        background: linear-gradient(135deg, #fef5f6 0%, #fde8eb 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        transition: all var(--transition);
    }


    .index-pros .product-card:hover .product-icon-wrap {
        background: linear-gradient(135deg, var(--primary-red) 0%, var(--primary-red-dark) 100%);
        transform: scale(1.08);
    }


        .index-pros .product-card:hover .product-icon-wrap .icon-emoji {
            filter: brightness(0) invert(1);
        }


.index-pros .product-card .icon-emoji {
    transition: filter var(--transition);
    font-size: 2rem;
}


.index-pros .product-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 8px;
}


.index-pros .product-card p {
    font-size: 0.85rem;
    color: var(--gray-500);
}


.index-pros .product-card .card-arrow {
    display: inline-block;
    margin-top: 10px;
    color: var(--primary-red);
    font-weight: 600;
    font-size: 0.85rem;
    transition: all var(--transition);
}


.index-pros .product-card:hover .card-arrow {
    transform: translateX(4px);
}








        /* ==================== ABOUT / HONORS SECTION ==================== */
        .about-section {
            background: #fff;
        }
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
            align-items: center;
        }
        .about-text h2 {
            font-size: 2rem;
            font-weight: 700;
            color: var(--gray-900);
            margin-bottom: 16px;
            letter-spacing: 1px;
        }
        .about-text .experience-highlight {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--primary-red);
            color: #fff;
            padding: 8px 18px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 0.9rem;
            margin-bottom: 18px;
            letter-spacing: 1px;
        }
        .about-text p {
            color: var(--gray-600);
            font-size: 0.95rem;
            line-height: 1.8;
            margin-bottom: 12px;
        }
        .about-text .service-philosophy {
            background: var(--gold-pale);
            border-left: 4px solid var(--gold);
            padding: 16px 20px;
            border-radius: 0 var(--radius-md) var(--radius-md) 0;
            margin-top: 16px;
            font-weight: 600;
            color: #7a5a20;
            font-size: 1rem;
            letter-spacing: 0.5px;
        }
        .honors-panel {
            background: #fefefe;
            border-radius: var(--radius-xl);
            box-shadow: var(--shadow-lg);
            padding: 32px 28px;
            border: 1px solid var(--gray-200);
        }
        .honors-panel h3 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--gray-900);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 8px;
            letter-spacing: 1px;
        }
        .honors-panel h3 .star-icon {
            color: var(--gold);
            font-size: 1.3rem;
        }
        .honors-list {
            list-style: none;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }
        .honors-list li {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 12px 14px;
            background: var(--gray-50);
            border-radius: var(--radius-md);
            font-size: 0.88rem;
            color: var(--gray-700);
            transition: all var(--transition);
            border: 1px solid transparent;
            line-height: 1.5;
        }
        .honors-list li:hover {
            background: #fffdf7;
            border-color: var(--gold-light);
            box-shadow: var(--shadow-sm);
        }
        .honors-list li .honor-check {
            flex-shrink: 0;
            width: 22px;
            height: 22px;
            background: var(--gold);
            color: #fff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            font-weight: 700;
            margin-top: 1px;
        }
        .honors-badge-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 18px;
            padding-top: 16px;
            border-top: 1px dashed var(--gray-300);
        }
.honor-badge-item {
    float: left;
    margin: 0 10px 5px 0;
    width: 20%;
    display: block;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid var(--gray-300);
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--gray-700);
    transition: all var(--transition);
}
        .honor-badge-item:hover {
            border-color: var(--primary-red);
            color: var(--primary-red);
            background: #fef5f6;
        }
        .honor-badge-item .badge-medal {
            font-size: 1rem;
        }

        /* ==================== CASES SECTION ==================== */
        .cases-section {
            background: var(--gray-50);
        }
        .cases-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 22px;
        }
        .case-card {
            background: #fff;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-sm);
            transition: all var(--transition);
            text-decoration: none;
            color: inherit;
            display: block;
        }
        .case-card:hover {
            transform: translateY(-6px);
            box-shadow: var(--shadow-lg);
        }
        .case-card .case-image {
            height: 250px;
            background: linear-gradient(135deg, #e8e0d8 0%, #d5ccc0 50%, #c8bfb5 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3.5rem;
            position: relative;
            overflow: hidden;
        }
            .case-card .case-image img {
                display: block;
                margin: 0 auto; 
                width: 100%;height:100%
            }
            /*.case-card:nth-child(2) .case-image {
            background: linear-gradient(135deg, #dce8f0 0%, #c5d5e2 50%, #b8c9d8 100%);
        }
        .case-card:nth-child(3) .case-image {
            background: linear-gradient(135deg, #e8e4dc 0%, #d9d3c8 50%, #cbc4b6 100%);
        }*/
            .case-card .case-tag {
                position: absolute;
                top: 14px;
                left: 14px;
                background: var(--primary-red);
                color: #fff;
                padding: 5px 12px;
                border-radius: 50px;
                font-size: 0.75rem;
                font-weight: 600;
                letter-spacing: 1px;
            }
        .case-card .case-info {
            padding: 20px;
        }
        .case-card .case-info h4 {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--gray-900);
            margin-bottom: 6px;
        }
        .case-card .case-info p {
            font-size: 0.85rem;
            color: var(--gray-500);
            line-height: 1.5;
        }
        .btn-view-all {
            display: inline-block;
            margin-top: 32px;
            background: transparent;
            color: var(--primary-red);
            border: 2px solid var(--primary-red);
            padding: 12px 28px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9rem;
            transition: all var(--transition);
            letter-spacing: 0.5px;
            text-align: center;
        }
        .btn-view-all:hover {
            background: var(--primary-red);
            color: #fff;
            box-shadow: var(--shadow-md);
        }
        .text-center {
            text-align: center;
        }

        /* ==================== SERVICE CENTER ==================== */
        .service-section {
            background: #fff;
        }
        .service-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
        }
        .service-card {
            text-align: center;
            padding: 28px 18px;
            border-radius: var(--radius-lg);
            transition: all var(--transition);
            background: #fff;
            border: 1px solid var(--gray-200);
        }
        .service-card:hover {
            box-shadow: var(--shadow-md);
            border-color: #fcc;
            transform: translateY(-4px);
        }
        .service-card .service-icon {
            width: 60px;
            height: 60px;
            margin: 0 auto 14px;
            background: #fef5f6;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            transition: all var(--transition);
        }
        .service-card:hover .service-icon {
            background: var(--primary-red);
            transform: rotateY(180deg);
        }
        .service-card h4 {
            font-weight: 700;
            font-size: 1rem;
            color: var(--gray-900);
            margin-bottom: 6px;
        }
        .service-card p {
            font-size: 0.82rem;
            color: var(--gray-500);
        }

        /* ==================== NEWS SECTION ==================== */
        .news-section {
            background: var(--gray-50);
        }
        .news-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 22px;
        }
        .news-card {
            background: #fff;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-sm);
            transition: all var(--transition);
            text-decoration: none;
            color: inherit;
            display: block;
        }
        .news-card:hover {
            transform: translateY(-6px);
            box-shadow: var(--shadow-lg);
        }
        .news-card .news-img-placeholder {
            height: 250px;
            background: linear-gradient(135deg, #f0ece8 0%, #e5e0d8 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.5rem;
            position: relative;
        }
        .news-card .news-date-badge {
            position: absolute;
            top: 12px;
            right: 12px;
            background: var(--primary-red);
            color: #fff;
            padding: 6px 12px;
            border-radius: 50px;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.5px;
        }
        .news-card .news-body {
            padding: 18px 20px;
        }
        .news-card .news-body .news-category {
            font-size: 0.75rem;
            color: var(--primary-red);
            font-weight: 600;
            letter-spacing: 1px;
            margin-bottom: 6px;
            text-transform: uppercase;
        }
        .news-card .news-body h4 {
            font-size: 1rem;
            font-weight: 700;
            color: var(--gray-900);
            margin-bottom: 6px;
            line-height: 1.4;
        }
        .news-card .news-body p {
            font-size: 0.82rem;
            color: var(--gray-500);
            line-height: 1.5;
        }

        /* ==================== CTA BANNER ==================== */
        .cta-banner {
            background: linear-gradient(135deg, var(--primary-red-dark) 0%, var(--primary-red) 30%, #b01a30 100%);
            color: #fff;
            padding: 50px 0;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .cta-banner::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse at 30% 50%, rgba(255, 255, 255, 0.08) 0%, transparent 60%);
            pointer-events: none;
        }
        .cta-banner .container {
            position: relative;
            z-index: 1;
        }
        .cta-banner h2 {
            font-size: 1.8rem;
            font-weight: 700;
            margin-bottom: 10px;
            letter-spacing: 1px;
        }
        .cta-banner p {
            font-size: 1rem;
            opacity: 0.9;
            margin-bottom: 24px;
        }
        .btn-cta-white {
            display: inline-block;
            background: #fff;
            color: var(--primary-red);
            padding: 14px 32px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 700;
            font-size: 1rem;
            transition: all var(--transition);
            letter-spacing: 0.5px;
        }
        .btn-cta-white:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
            background: #fffa;
        }

        /* ==================== FOOTER ==================== */
        .footer {
            background: var(--gray-900);
            color: #bbb;
            padding: 50px 0 0;
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1.5fr;
            gap: 36px;
            padding-bottom: 36px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }
        .footer h4 {
            color: #fff;
            font-size: 1rem;
            font-weight: 700;
            margin-bottom: 16px;
            letter-spacing: 1px;
            position: relative;
            padding-bottom: 10px;
        }
        .footer h4::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 30px;
            height: 2px;
            background: var(--primary-red);
            border-radius: 1px;
        }
        .footer p,
        .footer li {
            font-size: 0.85rem;
            line-height: 1.8;
        }
        .footer ul {
            list-style: none;
        }
        .footer ul li a {
            color: #bbb;
            text-decoration: none;
            transition: color var(--transition);
        }
        .footer ul li a:hover {
            color: var(--gold-light);
        }
        .footer .contact-info p {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin-bottom: 8px;
        }
        .footer-bottom {
            padding: 20px 0;
            text-align: center;
            font-size: 0.8rem;
            color: #777;
        }

        /* ==================== MOBILE NAV OVERLAY ==================== */
        .mobile-nav-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.6);
            z-index: 999;
            opacity: 0;
            transition: opacity var(--transition);
        }
        .mobile-nav-overlay.show {
            opacity: 1;
        }
        .mobile-nav-panel {
            position: fixed;
            top: 0;
            right: -320px;
            width: 300px;
            height: 100vh;
            background: #fff;
            z-index: 1000;
            padding: 80px 24px 30px;
            overflow-y: auto;
            transition: right var(--transition);
            box-shadow: var(--shadow-xl);
        }
        .mobile-nav-panel.open {
            right: 0;
        }
        .mobile-nav-panel ul {
            list-style: none;
        }
        .mobile-nav-panel ul li {
            border-bottom: 1px solid var(--gray-200);
        }
        .mobile-nav-panel ul li a {
            display: block;
            padding: 14px 0;
            text-decoration: none;
            color: var(--gray-800);
            font-weight: 500;
            font-size: 1rem;
            transition: color var(--transition);
        }
        .mobile-nav-panel ul li a:hover {
            color: var(--primary-red);
        }
        .mobile-nav-panel .sub-links {
            padding-left: 16px;
        }
        .mobile-nav-panel .sub-links li a {
            font-size: 0.9rem;
            color: var(--gray-600);
            padding: 8px 0;
        }

        /* ==================== RESPONSIVE ==================== */
        @media (max-width: 1200px) {
            .container {
                padding: 0 18px;
            }
            .hero-content h1 {
                font-size: 2.3rem;
            }
            .hero-card-stack {
                width: 280px;
                height: 340px;
            }
            .hero-card {
                width: 170px;
                padding: 22px 16px;
            }
            .hero-card:nth-child(2) {
                left: 70px;
            }
            .hero-card:nth-child(4) {
                left: 90px;
            }
            .products-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 18px;
            }
            .index-pros .products-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 24px;
            }
            .cases-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .news-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 28px;
            }
        }

        @media (max-width: 900px) {
          .footer li {
                float: left;
                margin: 0 15px 5px 0;
            }
            .honor-badge-item {
                display: flex;  width:auto;
            }
            .top-bar .welcome-text {
                display: none;
            }
            .top-bar .contact-links {
                gap: 10px;
                font-size: 0.75rem;
            }
            .nav-links {
                display: none;
            }
            .hamburger {
                display: flex;
            }
            .mobile-nav-overlay {
                display: block;
                pointer-events: none;
            }
            .mobile-nav-overlay.show {
                pointer-events: auto;
            }
            .header-cta .btn-phone-header span.label {
                display: none;
            }
            .btn-phone-header {
                padding: 10px 14px;
                font-size: 0.8rem;
            }
            .hero {
                min-height: auto;
                padding: 40px 0;
            }
            .hero .container {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 24px;
            }
            .hero-content h1 {
                font-size: 1.9rem;
            }
            .hero-content .hero-subtitle {
                max-width: 100%;
                margin: 0 auto 24px;
            }
            .hero-content .hero-badges {
                justify-content: center;
            }
            .hero-buttons {
                justify-content: center;
            }
            .hero-visual {
                display: none;
            }
            .about-grid {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            .honors-list {
                grid-template-columns: 1fr 1fr;
            }
            .service-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 14px;
            }
            .section {
                padding: 48px 0;
            }
            .section-header h2 {
                font-size: 1.6rem;
            }
            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 24px;
            }
        }

        @media (max-width: 600px) {
            :root {
                --header-height: 60px;
                --topbar-height: 32px;
            }
            .top-bar {
                font-size: 0.7rem;
                height: var(--topbar-height);
                line-height: var(--topbar-height);
            }
            .top-bar .contact-links {
                gap: 6px;
                font-size: 0.7rem;
            }
            .top-bar .contact-links .phone-highlight {
                font-size: 0.75rem;
            }
            .logo-text .brand-name {
                font-size: 1.1rem;
            }
            .logo-text .brand-sub {
                font-size: 0.6rem;
            }
            .logo-icon {
                width: 36px;
                height: 36px;
                font-size: 1rem;
            }
            .hero {
                padding: 30px 0;
                min-height: auto;
            }
            .hero-content h1 {
                font-size: 1.5rem;
            }
            .hero-content .hero-subtitle {
                font-size: 0.9rem;
            }
            .hero-content .hero-badges {
                gap: 8px;
            }
            .hero-content .hero-badge {
                font-size: 0.7rem;
                padding: 7px 12px;
            }
            .btn-hero-primary,
            .btn-hero-outline {
                padding: 11px 20px;
                font-size: 0.85rem;
            }
            .products-grid {
                grid-template-columns: 1fr 1fr;
                gap: 12px;
            }
            .product-card {
                padding: 20px 12px;
            }
            .product-card .product-icon-wrap {
                width: 52px;
                height: 52px;
                font-size: 1.4rem;
            }
            .product-card h3 {
                font-size: 0.9rem;
            }
            .product-card p {
                font-size: 0.75rem;
            }
            .cases-grid {
                grid-template-columns: 1fr;
                gap: 14px;
            }
            .news-grid {
                grid-template-columns: 1fr;
                gap: 14px;
            }
            .service-grid {
                grid-template-columns: 1fr 1fr;
                gap: 10px;
            }
            .service-card {
                padding: 18px 10px;
            }
            .honors-list {
                grid-template-columns: 1fr;
                gap: 8px;
            }
            .honors-list li {
                font-size: 0.8rem;
                padding: 10px;
            }
            .honor-badge-item {
                font-size: 0.7rem;
                padding: 6px 10px;
            }
            .footer-grid {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            .section {
                padding: 36px 0;
            }
            .section-header {
                margin-bottom: 28px;
            }
            .section-header h2 {
                font-size: 1.4rem;
            }
            .cta-banner h2 {
                font-size: 1.3rem;
            }
            .cta-banner p {
                font-size: 0.85rem;
            }
            .btn-cta-white {
                padding: 12px 24px;
                font-size: 0.9rem;
            }
            .container {
                padding: 0 12px;
            }
            .container-narrow {
                padding: 0 12px;
            }
            .index-pros .products-grid {
                grid-template-columns: 1fr;
                gap: 24px;
            }
        }

        @media (max-width: 380px) {
            .products-grid {
                grid-template-columns: 1fr;
                gap: 10px;
            }
            .service-grid {
                grid-template-columns: 1fr;
            }
            .hero-content h1 {
                font-size: 1.3rem;
            }
        }

/* ==================== 内页 / 详情页 公共样式 ==================== */
.page-banner{
  background: linear-gradient(135deg, #1a0a0d 0%, #2d1018 50%, #1a0a0d 100%);
  color:#fff;padding:64px 0 56px;position:relative;overflow:hidden;
}
.page-banner::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(196, 30, 58, .25) 0%, transparent 60%),
    radial-gradient(ellipse at 75% 30%, rgba(200, 150, 62, .12) 0%, transparent 50%);
  pointer-events:none;
}
.page-banner .container{position:relative;z-index:1;}
.page-banner h1{font-size:2.2rem;font-weight:700;letter-spacing:1px;margin-bottom:8px;}
.page-banner .crumb{font-size:.85rem;color:#d0c8c8;}
.page-banner .crumb a{color:var(--gold-light);text-decoration:none;}
.page-banner .crumb a:hover{color:#fff;}
.page-banner .crumb .sep{color:#888;margin:0 6px;}

.section.page-section{padding:56px 0;}

/* 产品列表 / 详情 */
.product-detail{display:grid;grid-template-columns:0.6fr 1fr;gap:48px;align-items:start;}
.product-detail .pd-cover{
  background:linear-gradient(135deg, #fef5f6 0%, #fde8eb 100%);
  border-radius:var(--radius-xl);padding:60px 30px;text-align:center;font-size:5rem;
  box-shadow:var(--shadow-md);position:sticky;top:120px;
}
.product-detail .pd-body h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:8px;}
.product-detail .pd-body .pd-summary{
  font-size:1rem;color:var(--gray-600);line-height:1.85;margin:14px 0 24px;
  padding:14px 18px;background:var(--gray-50);border-left:3px solid var(--primary-red);border-radius:0 var(--radius-md) var(--radius-md) 0;
}
.product-detail .pd-body h3{font-size:1.1rem;font-weight:700;color:var(--gray-900);margin:24px 0 10px;letter-spacing:.5px;}
.product-detail .pd-body p{color:var(--gray-700);line-height:1.85;margin-bottom:10px;}
.product-detail .pd-body ul{padding-left:18px;color:var(--gray-700);line-height:1.9;}
.product-detail .pd-body li{margin-bottom:6px;}
@media(max-width:900px){
  .product-detail{grid-template-columns:1fr;gap:24px;}
  .product-detail .pd-cover{position:static;padding:40px 20px;font-size:3.5rem;}
}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0;}
.feature-item{padding:16px 18px;background:#fef5f6;border-radius:var(--radius-md);}
.feature-item .ft-icon{font-size:1.5rem;margin-bottom:6px;display:block;}
.feature-item h4{font-size:.95rem;font-weight:700;color:var(--gray-900);margin-bottom:4px;}
.feature-item p{font-size:.8rem;color:var(--gray-600);line-height:1.55;}
@media(max-width:600px){.feature-grid{grid-template-columns:1fr;}}

/* 列表分页 */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:36px;flex-wrap:wrap;}
.pagination a, .pagination span{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;
  border-radius:var(--radius-md);background:#fff;border:1px solid var(--gray-200);
  color:var(--gray-700);font-size:.9rem;font-weight:500;text-decoration:none;transition:all var(--transition);
}
.pagination a:hover{border-color:var(--primary-red);color:var(--primary-red);}
.pagination .cur{background:var(--primary-red);color:#fff;border-color:var(--primary-red);}
.pagination .disabled{color:#ccc;cursor:not-allowed;}

/* 新闻详情 */
.article{max-width:820px;margin:0 auto;background:#fff;padding:36px 40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);}
.article h1{font-size:1.8rem;line-height:1.4;color:var(--gray-900);margin-bottom:14px;}
.article .meta{display:flex;gap:16px;font-size:.85rem;color:var(--gray-500);padding-bottom:18px;border-bottom:1px solid var(--gray-200);margin-bottom:24px;flex-wrap:wrap;}
.article .meta .cat{color:var(--primary-red);font-weight:600;}
.article .body{font-size:1rem;color:var(--gray-700);line-height:1.95;}
.article .body p{margin-bottom:14px;}
    .article .body p img{display:block;max-width:100%;}
    .article .body h2, .article .body h3 {
        margin: 24px 0 10px;
        color: var(--gray-900);
    }
@media(max-width:600px){.article{padding:24px 18px;}.article h1{font-size:1.4rem;}}

.article-foot{margin-top:32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.article-foot a{color:var(--primary-red);text-decoration:none;font-weight:600;font-size:.9rem;}
.article-foot a:hover{text-decoration:underline;}

/* 服务页（流程） */
.process-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:30px;}
.process-step{text-align:center;padding:18px 12px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all var(--transition);}
.process-step:hover{border-color:var(--primary-red);box-shadow:var(--shadow-md);transform:translateY(-3px);}
.process-step .step-num{width:36px;height:36px;border-radius:50%;background:var(--primary-red);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
.process-step h4{font-size:.95rem;color:var(--gray-900);margin-bottom:4px;}
.process-step p{font-size:.78rem;color:var(--gray-500);line-height:1.5;}
@media(max-width:1100px){.process-steps{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.process-steps{grid-template-columns:repeat(2,1fr);}}

/* 联系页 */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.contact-info-card{background:#fff;border-radius:var(--radius-xl);padding:30px 32px;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);}
.contact-info-card h3{font-size:1.2rem;color:var(--gray-900);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
    .contact-info-card .ci-row {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 17px 0;
        border-bottom: 1px solid var(--gray-100);
    }
.contact-info-card .ci-row:last-child{border-bottom:none;}
.contact-info-card .ci-icon{width:38px;height:38px;border-radius:50%;background:#fef5f6;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.contact-info-card .ci-row strong{display:block;font-size:.85rem;color:var(--gray-500);font-weight:500;margin-bottom:2px;}
.contact-info-card .ci-row .ci-val{color:var(--gray-900);font-weight:600;}
.contact-info-card .ci-row .ci-val a{color:var(--primary-red);text-decoration:none;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}

/* 表单 */
.form-card{background:#fff;border-radius:var(--radius-xl);padding:30px 32px;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);}
.form-card h3{font-size:1.2rem;color:var(--gray-900);margin-bottom:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-field{margin-bottom:14px;}
.form-field label{display:block;font-size:.85rem;color:var(--gray-700);font-weight:500;margin-bottom:6px;}
.form-field label .req{color:var(--primary-red);}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:10px 14px;font-size:.95rem;font-family:inherit;color:var(--gray-800);
  background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);outline:none;transition:all var(--transition);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(196,30,58,.08);}
.form-field textarea{resize:vertical;min-height:100px;}
.form-msg{padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem;display:none;margin-bottom:12px;}
.form-msg.show{display:block;}
.form-msg.ok{background:#e9f7ee;color:#1d6d3a;border:1px solid #a5d6b6;}
.form-msg.err{background:#fdeaea;color:#a01818;border:1px solid #f0b0b0;}
.btn-submit{display:inline-block;background:var(--primary-red);color:#fff;border:none;padding:12px 28px;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--transition);font-family:inherit;}
.btn-submit:hover{background:var(--primary-red-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;}

@media(max-width:600px){.form-row{grid-template-columns:1fr;}}

/* ==================== ADMIN ==================== */
.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;}
.admin-side{background:#1f1419;color:#dfd5d5;padding:0;position:sticky;top:0;height:100vh;overflow-y:auto;}
.admin-side .a-brand{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08);font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:1px;}
.admin-side .a-brand small{color:var(--gold-light);font-size:.7rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;display:block;margin-top:2px;}
.admin-side ul{list-style:none;padding:14px 12px;}
.admin-side li a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);color:#cbb;text-decoration:none;font-size:.92rem;transition:all .2s;margin-bottom:2px;}
.admin-side li a:hover{background:rgba(255,255,255,.05);color:#fff;}
.admin-side li a.active{background:var(--primary-red);color:#fff;}
.admin-main{padding:24px 32px;background:#f6f6f7;}
.admin-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.admin-bar h1{font-size:1.4rem;font-weight:700;color:var(--gray-900);}
.admin-bar p{font-size:.85rem;color:var(--gray-500);}
.admin-bar .who{font-size:.85rem;color:var(--gray-600);}
.admin-bar .who a{color:var(--primary-red);text-decoration:none;margin-left:14px;}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;}
.kpi{background:#fff;border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-sm);border-top:3px solid var(--primary-red);}
.kpi.gold{border-top-color:var(--gold);}
.kpi.green{border-top-color:#4caf84;}
.kpi.blue{border-top-color:#3b82f6;}
.kpi .lbl{font-size:.8rem;color:var(--gray-500);}
.kpi .val{font-size:1.8rem;font-weight:700;color:var(--gray-900);margin-top:4px;font-feature-settings:"tnum";}
.card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;}
.card-h{padding:14px 20px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;}
.card-h h3{font-size:1rem;font-weight:700;color:var(--gray-900);}
.card-b{padding:0;}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;}
.tbl th{padding:10px 14px;text-align:left;background:var(--gray-50);color:var(--gray-600);font-size:.78rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--gray-200);}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);}
.tbl tr:last-child td{border-bottom:none;}
.tbl tr:hover td{background:var(--gray-50);}
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:.85rem;font-weight:600;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;font-family:inherit;transition:all .15s;}
.btn-pri{background:var(--primary-red);color:#fff;}
.btn-pri:hover{background:var(--primary-red-dark);}
.btn-line{background:#fff;color:var(--gray-700);border-color:var(--gray-300);}
.btn-line:hover{border-color:var(--primary-red);color:var(--primary-red);}
.btn-danger{background:#fff;color:#a01818;border-color:#f0b0b0;}
.btn-danger:hover{background:#a01818;color:#fff;}
.tag{display:inline-block;padding:2px 8px;font-size:.72rem;font-weight:600;border-radius:4px;}
.t-success{background:#dcfce7;color:#166534;}
.t-warn{background:#fef3c7;color:#92400e;}
.t-info{background:#dbeafe;color:#1e40af;}
.t-gray{background:#e5e7eb;color:#374151;}
.t-red{background:#fee2e2;color:#991b1b;}

.admin-form{background:#fff;border-radius:var(--radius-md);padding:24px 28px;box-shadow:var(--shadow-sm);}
.admin-form .form-field input,.admin-form .form-field select,.admin-form .form-field textarea{font-size:.95rem;}
.admin-form .form-actions{display:flex;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--gray-200);}

.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a0a0d 0%,#2d1018 100%);padding:20px;}
.login-card{background:#fff;border-radius:var(--radius-xl);padding:40px 36px;box-shadow:var(--shadow-xl);width:100%;max-width:400px;}
.login-card h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);text-align:center;margin-bottom:6px;}
.login-card .sub{font-size:.85rem;color:var(--gray-500);text-align:center;margin-bottom:24px;}
.login-card .form-field input{padding:12px 14px;}
.login-card .btn-submit{width:100%;padding:12px;}
.login-card .tip{margin-top:16px;padding:10px 14px;background:#fef5f6;border-radius:var(--radius-sm);font-size:.78rem;color:var(--primary-red);text-align:center;}
.login-card .tip code{background:#fff;padding:1px 5px;border-radius:3px;}
.okmsg {
    font-size: 17px;
    color: #392;
    font-weight: 700;
}
.loader {
color:#999;font-size:14px;}
.zizhi-grid img{display:block;margin:0 auto;width:100%;}
.zizhi-grid .service-card .service-icon {
    width: 210px;
    height: 300px;overflow:hidden;
    margin: 0 auto 14px;
    background: none;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    transition: all var(--transition);
}
.zizhi-grid .service-card:hover .service-icon {
    background: none;
    transform: none;
}
.service-grid2 { 
    grid-template-columns: repeat(3, 1fr); 
}
.cf:before, .cf:after {
    content: "";
    display: table
}

.cf:after {
    clear: both
}

.cf {
    zoom: 1
}
.nopro{text-align:center;font-size:14px;color:#999;padding:50px 10px}
.pagebar {
    line-height: 30px;
    margin: 20px 10px;
    padding: 10px 5px 15px;
    text-align: center;
    background: #f9f9f9;
    font-size: 14px;
}
a {
text-decoration:none;}
a.pagebtn {
    padding: 0 8px;
    margin: 0;
    height: 25px;
    display: inline-block;
    border: solid 1px #ced4da;
    background: #f9f9f9;
    color: #666;
    margin-right: 5px;
    line-height: 25px
}

    a.pagebtn:hover {
        text-decoration: none;
        background: #f1f1f1;
        border: solid 1px #bbb
    }

a.pagedisable, a.pagedisable:hover {
    background: #dedede;
    cursor: text;
    color: #a9a6a6
}

    a.pagecurr, a.pagecurr:hover {
        background: #c41e3a;
        color: #fff;
        border: solid 1px #c41e3a;
    }

a.pagepre {
    border-radius: 5px 0 0 5px
}

a.pagenext {
    border-radius: 0 5px 5px 0
}

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

    .pagedata span {
        padding: 0 3px
    }
.product-info {
}
    .product-info img{display:block;max-width:99%;}
    @media(max-width:780px) {
        .admin-shell{grid-template-columns:1fr;}
  .admin-side{position:static;height:auto;}
  .admin-side ul{display:flex;flex-wrap:wrap;padding:8px;gap:4px;}
  .admin-side li a{padding:7px 12px;font-size:.85rem;}
  .kpis{grid-template-columns:1fr 1fr;}
  .admin-main{padding:18px;}
}