/*
 * 艾迪云官网专业视觉系统
 * 设计方向：克制、工业、清晰；参考成熟软硬件企业站的结构语言，
 * 保留艾迪云品牌资产与内容，不复刻第三方页面。
 */
:root {
    --idy-brand: #2f6f91;
    --idy-brand-dark: #245a79;
    --idy-brand-soft: #edf4f8;
    --idy-brand-line: #c8d8e2;
    --idy-ink: #202a31;
    --idy-navy: #172532;
    --idy-navy-soft: #223645;
    --idy-muted: #66717a;
    --idy-line: #dfe4e6;
    --idy-surface: #f4f6f3;
    --idy-white: #ffffff;
}

html { scroll-behavior: smooth; }

body {
    font-family: "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif !important;
    color: var(--idy-ink) !important;
    background: var(--idy-white) !important;
    font-size: 16px;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}

body * { letter-spacing: normal; }

/* 导航：深色首屏、滚动后白色，保持企业站的稳定感。 */
#navbar {
    height: 72px;
    padding: 0 !important;
    background: rgba(23, 37, 50, 0.97) !important;
    border-bottom: 1px solid rgba(255,255,255,.13);
    box-shadow: none !important;
    transition: background .22s ease, border-color .22s ease !important;
}

#navbar > .container {
    max-width: 1180px !important;
    height: 72px;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

#navbar a[href="/"] {
    height: 72px;
    display: inline-flex;
    align-items: center;
}

#navbar a[href="/"] img {
    width: 136px !important;
    height: 56px !important;
    padding: 0;
    object-fit: contain;
    background: transparent !important;
    border-radius: 0 !important;
}

/* 保留原始 logo 图形，浏览器端统一使用透明 PNG，避免深色导航出现白色方块。 */
img[src$="/site/assets/logo.jpg"],
img[src$="/site/assets/company-logo.jpg"] {
    content: url('/site/assets/logo-transparent.png');
    background-color: transparent !important;
}

img.idy-image-fallback {
    padding: 24px !important;
    object-fit: contain !important;
    background: #eef2f4 !important;
}

#siteNavbar {
    height: 72px;
    align-items: stretch !important;
    gap: 0 !important;
}

#siteNavbar .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 72px;
    margin: 0 !important;
    padding: 0 18px;
    color: rgba(255,255,255,.84) !important;
    font-size: 15px;
    font-weight: 400 !important;
    text-decoration: none;
    transition: color .2s ease !important;
}

#siteNavbar .nav-link::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 3px;
    background: var(--idy-brand);
    transform: scaleX(0);
    transition: transform .2s ease;
}

#siteNavbar .nav-link:hover,
#siteNavbar .nav-link.active { color: #fff !important; }
#siteNavbar .nav-link:hover::after,
#siteNavbar .nav-link.active::after { transform: scaleX(1); }

#siteNavbar .btn-primary {
    align-self: center;
    margin-left: 14px;
    padding: 10px 22px !important;
    border: 1px solid var(--idy-brand) !important;
    border-radius: 0 !important;
    background: var(--idy-brand) !important;
    color: #fff !important;
    font-size: 15px;
    line-height: 1.2;
}

#navbar.is-scrolled {
    background: rgba(255,255,255,.98) !important;
    border-color: var(--idy-line);
    box-shadow: 0 2px 10px rgba(17, 31, 40, .07) !important;
}

#navbar.is-scrolled #siteNavbar .nav-link { color: #343d43 !important; }
#navbar.is-scrolled #siteNavbar .nav-link:hover,
#navbar.is-scrolled #siteNavbar .nav-link.active { color: var(--idy-brand-dark) !important; }
#navbar button { color: #fff !important; }
#navbar.is-scrolled button { color: var(--idy-ink) !important; }

#mobile-menu {
    top: 72px;
    background: var(--idy-navy) !important;
    border-top: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}
#mobileNavbar .nav-link {
    color: rgba(255,255,255,.88) !important;
    padding: 10px 2px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

/* 首屏：使用真实产品资料、深色基底、直角信息层级。 */
#home.hero-gradient {
    min-height: 620px;
    padding-top: 128px !important;
    padding-bottom: 62px !important;
    background: var(--idy-navy) !important;
    color: #fff !important;
}

#home > .container { max-width: 1180px !important; }
#home > .container > .flex { gap: 54px; }
#home > .container > .flex > div:first-child { width: 47% !important; }
#home > .container > .flex > div:last-child { width: 53% !important; }
#home h1 {
    margin-bottom: 22px !important;
    color: #fff !important;
    font-size: clamp(38px, 4.2vw, 56px) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
}
#home h1::before {
    content: "IDIYT DIGITAL SOLUTIONS";
    display: block;
    margin-bottom: 12px;
    color: var(--idy-brand);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2.4px;
}
#home p { color: rgba(255,255,255,.7) !important; font-size: 18px !important; line-height: 1.85; }
#home .relative > .absolute { display: none !important; }
#home img {
    width: 100%;
    height: 410px;
    object-fit: cover;
    object-position: 69% center;
    border: 0 !important;
    border-left: 4px solid var(--idy-brand) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#home a {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 16px !important;
}
#home a[href="#products"] {
    border-left: 4px solid var(--idy-brand) !important;
    background: #fff !important;
    color: var(--idy-brand-dark) !important;
}
#home a[href="#contact"] { border-color: rgba(255,255,255,.65) !important; }
#home .mt-12.grid {
    margin-top: 38px !important;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.15);
}
#home .mt-12.grid > div { text-align: left !important; }
#home .mt-12.grid .text-3xl { font-size: 20px !important; font-weight: 600 !important; }
#home .mt-12.grid .text-sm { color: rgba(255,255,255,.55) !important; }

/* 统一内容宽度、节奏与标题。 */
body .container { max-width: 1180px; }
.section-padding { padding-top: 78px !important; padding-bottom: 78px !important; }
.page-section { padding-top: 68px !important; padding-bottom: 68px !important; }
.section-title {
    position: relative;
    margin-bottom: 18px !important;
    padding-bottom: 18px;
    color: var(--idy-ink) !important;
    font-size: 34px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}
.section-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 46px;
    height: 3px;
    background: var(--idy-brand);
    transform: translateX(-50%);
}
.section-subtitle {
    max-width: 760px !important;
    margin-bottom: 42px !important;
    color: var(--idy-muted) !important;
    font-size: 16px !important;
    line-height: 1.85;
}

body .bg-gray-50,
body .bg-gray-100 { background-color: var(--idy-surface) !important; }
body [class*="bg-gradient-to"] { background-image: none !important; }

/* 卡片只使用边线和清晰层级，不使用漂浮玻璃效果。 */
.product-card,
.solution-card,
.page-card,
.card-hover,
body .card,
body .rounded-xl,
body .rounded-2xl,
body .rounded-lg {
    border-radius: 2px !important;
}

.product-card,
.solution-card,
.page-card,
.card-hover {
    border: 1px solid var(--idy-line) !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color .2s ease !important;
}
.product-card:hover,
.solution-card:hover,
.page-card:hover,
.card-hover:hover {
    border-color: #9db8c7 !important;
    box-shadow: none !important;
    transform: none !important;
}
.product-card { position: relative; overflow: hidden; }
.product-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--idy-brand);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}
.product-card:hover::after { transform: scaleX(1); }
.product-card .h-48,
.product-thumbnail-frame {
    height: 248px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: #f1f4f6 !important;
}
.product-card img,
.product-thumbnail {
    width: 100% !important;
    height: 100% !important;
    padding: 8px;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff;
    transition: none !important;
}
.product-card:hover img { transform: none !important; }
.product-card h3,
.solution-card h3,
.page-card h3 { color: var(--idy-ink) !important; font-weight: 600 !important; }
.product-card a,
.solution-card a { color: var(--idy-brand-dark) !important; }

.solution-card { padding: 30px !important; }
.solution-card .text-blue-700,
.feature-icon,
body a.text-blue-700,
body button.text-blue-700 { color: var(--idy-brand-dark) !important; }
.feature-icon {
    width: 54px !important;
    height: 54px !important;
    border: 1px solid var(--idy-brand-line);
    border-radius: 50% !important;
    background: var(--idy-brand-soft) !important;
}

/* 公司介绍卡片：旧模板保留了白字类，移除渐变后必须显式恢复高对比度。 */
.company-intro-panel {
    border: 1px solid var(--idy-line) !important;
    border-left: 4px solid var(--idy-brand) !important;
    background: #f5f8fa !important;
    color: var(--idy-ink) !important;
}
.company-intro-panel h3,
.company-intro-panel #about-title,
.company-intro-panel #about-content,
.company-intro-panel #about-content p {
    color: var(--idy-ink) !important;
}
.company-intro-panel #about-content {
    font-size: 16px;
    line-height: 1.95;
}

/* 关于我们核心优势：固定可见图标底色，并使用稳定的三列信息架构。 */
.about-credential-card {
    width: 100%;
    min-height: 220px;
    padding: 30px 26px !important;
    border: 1px solid var(--idy-line) !important;
    border-top: 3px solid var(--idy-brand) !important;
    background: #fff !important;
    text-align: left !important;
}
.about-credential-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    border-radius: 2px;
    background: var(--idy-brand) !important;
    color: #fff !important;
    font-size: 25px;
    line-height: 1;
}
.about-credential-icon .fa { color: #fff !important; }
.about-credential-card h5 { color: var(--idy-ink) !important; }
.about-credential-card p { line-height: 1.8; }

body .shadow-md,
body .shadow-lg,
body .shadow-xl,
body .hover\:shadow-lg:hover,
body .hover\:shadow-xl:hover { box-shadow: 0 1px 4px rgba(22,35,45,.08) !important; }
body .hover\:-translate-y-2:hover,
body .card-hover:hover { transform: none !important; }

/* 按钮、表单与标签统一为工业风直角样式。 */
body .btn-primary,
body a[class*="bg-blue-"],
body button[class*="bg-blue-"] {
    border-color: var(--idy-brand) !important;
    border-radius: 1px !important;
    background-color: var(--idy-brand) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
}
body .btn-primary:hover,
body a[class*="bg-blue-"]:hover,
body button[class*="bg-blue-"]:hover {
    border-color: var(--idy-brand-dark) !important;
    background-color: var(--idy-brand-dark) !important;
}

/* 旧页面里残留的 Tailwind green 工具类统一归入工业蓝色体系。 */
body [class*="text-green-"] { color: var(--idy-brand) !important; }
body [class*="bg-green-"] { background-color: var(--idy-brand-soft) !important; }
body a[class*="bg-green-"],
body button[class*="bg-green-"] {
    border-color: var(--idy-brand) !important;
    background-color: var(--idy-brand) !important;
    color: #fff !important;
}
body [class*="border-green-"] { border-color: var(--idy-brand-line) !important; }
body .btn-secondary,
body .btn-outline-primary {
    border-color: var(--idy-ink) !important;
    border-radius: 1px !important;
    color: var(--idy-ink) !important;
    background: transparent !important;
}
body input:not([type="checkbox"]):not([type="radio"]),
body textarea,
body select,
.lead-captcha-image,
.lead-captcha-code,
.lead-captcha-refresh {
    border-radius: 1px !important;
    box-shadow: none !important;
}
body input:focus,
body textarea:focus,
body select:focus {
    border-color: var(--idy-brand) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(47,111,145,.14) !important;
}

.timeline-item { border-color: #d6dcce !important; }
.timeline-item::before { background: var(--idy-brand) !important; }
.page-kicker { color: var(--idy-brand-dark) !important; }
.mock-panel { border-radius: 2px !important; }

/* 列表页与内页顶部保持一致的深色企业横幅。 */
body section[class*="from-blue-"],
body section[class*="from-indigo-"],
body section[class*="from-purple-"],
body section.bg-blue-700,
body section.bg-blue-800 {
    background: var(--idy-navy) !important;
    background-image: none !important;
}
body section[class*="from-blue-"] h1,
body section[class*="from-indigo-"] h1,
body section[class*="from-purple-"] h1 { color: #fff !important; }

/* 页脚 */
.footer,
#siteFooter footer {
    background: var(--idy-navy) !important;
    color: rgba(255,255,255,.76) !important;
}
.footer h3,
.footer h4,
#siteFooter h3,
#siteFooter h4 { color: #fff !important; font-weight: 500 !important; }
.footer a,
#siteFooter a { color: rgba(255,255,255,.68) !important; }
.footer a:hover,
#siteFooter a:hover { color: var(--idy-brand) !important; }
.back-to-top,
#back-to-top {
    border-radius: 1px !important;
    background: var(--idy-brand) !important;
    box-shadow: none !important;
}

/* 动效只保留轻微淡入，避免模板化的漂浮和弹跳。 */
.animate-on-scroll { transform: translateY(10px) !important; transition-duration: .35s !important; }
.animate-on-scroll.animated { transform: translateY(0) !important; }
.animate-bounce,
.animate-pulse,
.animate-bounce-slow,
.animate-pulse-slow { animation: none !important; }

@media (max-width: 1024px) {
    #siteNavbar .nav-link { padding-left: 11px; padding-right: 11px; font-size: 14px; }
    #siteNavbar .nav-link::after { left: 11px; right: 11px; }
    #home > .container > .flex { gap: 32px; }
}

@media (max-width: 767px) {
    #navbar,
    #navbar > .container,
    #navbar a[href="/"] { height: 64px; }
    #navbar a[href="/"] img { width: 124px !important; height: 52px !important; }
    #mobile-menu { top: 64px; }
    #home.hero-gradient {
        min-height: auto;
        padding-top: 104px !important;
        padding-bottom: 48px !important;
    }
    #home > .container > .flex > div:first-child,
    #home > .container > .flex > div:last-child { width: 100% !important; }
    #home h1 { font-size: 36px !important; }
    #home p { font-size: 16px !important; }
    #home img { height: 270px; object-position: 68% center; }
    #home .mt-12.grid > div { text-align: center !important; }
    .section-padding,
    .page-section { padding-top: 54px !important; padding-bottom: 54px !important; }
    .section-title { font-size: 28px !important; }
    .section-subtitle { font-size: 15px !important; margin-bottom: 30px !important; }
    .product-card .h-48,
    .product-thumbnail-frame { height: 220px !important; padding: 10px; }
}
