@import "_fonts-CAVwYzf.css";
@import "_variables-LlOuVHK.css";
@import "_navbar-Z0rbuej.css";
@import "_footer-C-ZQerp.css";
@import "_cards-4SliRb7.css";
@import "_sidebar-l8mgSX3.css";
@import "_tables-WNyOK1Q.css";
@import "_animations-Bns4_Cq.css";
@import "_hero-OnToCdc.css";
@import "_badges-yr_hYl4.css";
@import "_logo-slider-3aCKi6g.css";
@import "_card-grid-Qtwt3X3.css";
@import "_divider-VW66BA7.css";
@import "_cta-142HhXf.css";
@import "_flash-banner-r9PS-2s.css";

html {
    scroll-behavior: smooth;
}


[id] {
    scroll-margin-top: 9rem;
}

body {
    font-family: var(--ci-font-family);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2 {
    font-weight: 700;
    position: relative;
    padding-bottom: 0.5rem;
    margin-bottom: 1.25rem;
}

h3, h4, h5, h6 {
    font-weight: 600;
}

h1::after, h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: var(--ci-primary);
    margin-top: 0.5rem;
}

.text-center h2::after,
h2.text-center::after,
h1.text-center::after {
    margin-left: auto;
    margin-right: auto;
}

hr {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(var(--ci-primary-rgb), 0.3), transparent);
    opacity: 1;
    margin-block: 3rem;
}

ul:not(.list-unstyled):not(.nav):not(.breadcrumb):not(.dropdown-menu):not(.navbar-nav) {
    list-style: none;
    padding-left: 1.25em;
}

ul:not(.list-unstyled):not(.nav):not(.breadcrumb):not(.dropdown-menu):not(.navbar-nav) > li::before {
    content: '\2022';
    color: var(--ci-primary);
    font-weight: 700;
    display: inline-block;
    width: 1.25em;
    margin-left: -1.25em;
}

.cta-section {
    margin-top: auto; /* push CTA+footer to bottom on short pages */
    background: linear-gradient(135deg, var(--ci-primary), color-mix(in srgb, var(--ci-primary) 70%, black));
}
.cta-section .btn {
    background-color: #fff;
    color: var(--ci-primary);
    border-color: #fff;
    border-radius: var(--ci-radius-btn);
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.cta-section .btn:hover,
.cta-section .btn:focus {
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--ci-primary-hover);
    border-color: rgba(255, 255, 255, 0.9);
}

/* Homepage logo */
.homepage-logo {
    height: 120px;
}

/* GLightbox: white background for transparent product images */
.gslide-media img {
    background-color: #fff;
}

/* GLightbox: magnifying glass overlay on hover */
a.glightbox {
    position: relative;
    display: inline-block;
    cursor: zoom-in;
}

/* Magnifier icon as inline SVG — no dependency on Bootstrap Icons font */
a.glightbox::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.35);
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2740%27%20height%3D%2740%27%20fill%3D%27white%27%20viewBox%3D%270%200%2016%2016%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M6.5%2012a5.5%205.5%200%201%200%200-11%205.5%205.5%200%200%200%200%2011M13%206.5a6.5%206.5%200%201%201-13%200%206.5%206.5%200%200%201%2013%200%27%2F%3E%3Cpath%20d%3D%27M10.344%2011.742q.044.06.098.115l3.85%203.85a1%201%200%200%200%201.415-1.414l-3.85-3.85a1%201%200%200%200-.115-.1%206.5%206.5%200%200%201-1.398%201.4z%27%2F%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M6.5%203a.5.5%200%200%201%20.5.5V6h2.5a.5.5%200%200%201%200%201H7v2.5a.5.5%200%200%201-1%200V7H3.5a.5.5%200%200%201%200-1H6V3.5a.5.5%200%200%201%20.5-.5%27%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    border-radius: inherit;
}

a.glightbox:hover::after {
    opacity: 1;
}

/* Stat cards */
.stat-card {
    padding: 2rem 1.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--ci-radius-card);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.stat-card__number {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--ci-primary);
    margin-bottom: 0.5rem;
}
.stat-card__label {
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}
.stat-card__text {
    font-size: 0.9rem;
    color: var(--bs-secondary-color);
    margin-bottom: 0;
}

[data-bs-theme="dark"] .stat-card {
    border-color: rgba(255, 255, 255, 0.08);
}
[data-bs-theme="dark"] .stat-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Stat badges */
.stat-badge {
    background-color: rgba(var(--ci-primary-rgb), 0.1);
    color: var(--ci-primary);
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    margin: 0.25rem;
}

/* Mark required form fields with an asterisk */
label.required::after {
    content: ' *';
    color: var(--ci-primary);
}
