/* Novacore Chemical — small site-wide helpers that go beyond utility classes */

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
}

/* Hero/section background pattern used across pages */
.chem-grid-bg {
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.14) 1px, transparent 0);
    background-size: 28px 28px;
}

.text-gradient {
    background-image: linear-gradient(90deg, #5d96d2, #ff6a00);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Line clamp fallback (in case the Tailwind CDN build in use lacks the plugin) */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Product gallery thumbnail state */
.gallery-thumb {
    border: 2px solid transparent;
    transition: border-color 0.2s ease, opacity 0.2s ease;
}

.gallery-thumb.is-active {
    border-color: #ff6a00;
}

.product-rich-content {
    color: #475569;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.product-rich-content > * + * {
    margin-top: 1rem;
}

.product-rich-content h2,
.product-rich-content h3,
.product-rich-content h4,
.product-rich-content h5 {
    color: #0b1f3a;
    font-family: "DM Sans", sans-serif;
    font-weight: 700;
    line-height: 1.3;
}

.product-rich-content h2 {
    font-size: 1.5rem;
}

.product-rich-content h3 {
    font-size: 1.25rem;
}

.product-rich-content h4,
.product-rich-content h5 {
    font-size: 1.125rem;
}

.product-rich-content ul,
.product-rich-content ol {
    padding-left: 1.5rem;
}

.product-rich-content ul {
    list-style: disc;
}

.product-rich-content ol {
    list-style: decimal;
}

.product-rich-content li + li {
    margin-top: 0.375rem;
}

.product-rich-content a {
    color: #083d91;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.product-rich-content img {
    height: auto;
    max-width: 100%;
    border-radius: 0.75rem;
}

.product-rich-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.product-rich-content th,
.product-rich-content td {
    border: 1px solid #dbe3ed;
    padding: 0.625rem 0.75rem;
    text-align: left;
    vertical-align: top;
}

.product-rich-content th {
    background: #eff5fc;
    color: #0b1f3a;
    font-weight: 700;
}

::selection {
    background: #ff6a00;
    color: #ffffff;
}

/* Custom scrollbar for a slightly more polished feel */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #eff5fc;
}

::-webkit-scrollbar-thumb {
    background: #083D91;
    border-radius: 999px;
}
