/* reset.css - additional resets and responsive utilities */

/* Box sizing border-box for all elements */
html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

/* Remove default margins and paddings */
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, figure, figcaption, blockquote, dl, dd {
    margin: 0;
    padding: 0;
}

/* Remove list styles */
ul, ol {
    list-style: none;
}

/* Make images easier to work with */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

/* Inherit fonts for inputs and buttons */
input, button, textarea, select {
    font: inherit;
}

/* Remove default button styles */
button {
    cursor: pointer;
    border: none;
    background: none;
}

/* Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

/* Remove default link underline and set color */
a {
    text-decoration: none;
    color: inherit;
}

/* Table reset */
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

/* Responsive utilities */
.hide-mobile {
    display: none;
}

.show-mobile {
    display: block;
}

@media (min-width: 992px) {
    .hide-mobile {
        display: block;
    }
    .hide-desktop {
        display: none;
    }
    .show-mobile {
        display: none;
    }
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Focus visible for accessibility */
:focus-visible {
    outline: 0.2rem solid #0046C7;
    outline-offset: 0.2rem;
}

/* Print styles */
/* Knowledge Hub 桌面扩展 */
@media (min-width: 768px) {
    .hub-toolbar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .hub-cat-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .hub-answer {
        padding: 4rem;
    }
    .hub-faq-q {
        font-size: 1.8rem;
        padding: 2.4rem;
    }
    .hub-faq-a-inner {
        padding: 2rem 2.4rem 2.4rem;
    }
}
@media (min-width: 992px) {
    .hub-module-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .hub-cat-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .hub-faq-list {
        gap: 2rem;
    }
    .hub-lang-switch {
        bottom: 2.4rem;
        left: 2.4rem;
    }
    .hub-question-title {
        font-size: 2.8rem;
    }
}

/* Sitemap 产品 Top20 网格列数:手机 2 列(基础)→ 768 三列 → 992 四列 → 1200 五列 */
@media (min-width: 768px) {
    .sitemap-prod-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) {
    .sitemap-prod-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1200px) {
    .sitemap-prod-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* 案例详情页关联产品:手机 1 列 → 768 两列 → 1200 四列(每卡≤1/4 宽);整块居左,不再限宽居中 */
@media (min-width: 768px) {
    .case-related-products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1200px) {
    .case-related-products {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Applications:手机 2 列 → 768 三列 → 1200 五列(一行 5 个,卡片更紧凑) */
@media (min-width: 768px) {
    .applications-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1200px) {
    .applications-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media print {
    .header, .footer, .float-buttons, .mobile-bottom-bar, .cookie-bar {
        display: none !important;
    }
    body {
        font-size: 12pt;
        color: #000;
    }
    a {
        text-decoration: underline;
    }
}
