/* Accessibility and layout enhancements — complements legacy LIBRA theme */
.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 10000;
    background: #0090c6;
    color: #fff;
    padding: 0.75rem 1rem;
    text-decoration: none;
}

.skip-link:focus {
    left: 1rem;
    top: 1rem;
    width: auto;
    height: auto;
}

.mega-menu-feature {
    display: block;
    line-height: 3;
    color: #333;
    font-size: 13px;
}

.breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

.breadcrumb-list li {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.breadcrumb-list li::before {
    content: none !important;
    display: none !important;
}

.breadcrumb-list li:not(:last-child)::after {
    content: "/";
    margin-left: 0.5rem;
    opacity: 0.6;
}

.request-demo__trigger {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

:focus-visible {
    outline: 2px solid #0090c6;
    outline-offset: 2px;
}

/* Header logo — one variant at a time; preserve SVG aspect ratio */
.header-area .logo a img {
    width: 220px;
    max-width: 220px;
    height: auto;
    object-fit: contain;
}

.header-area .logo .logo-sticky-none {
    display: none;
}

.header-area.stick .logo .logo-normally-none {
    display: none;
}

.header-area.stick .logo .logo-sticky-none {
    display: inline-block;
}

/* Solid (non-transparent) headers sit on a white bar — show the dark logo */
.header-area.sticky-bar:not(.transparent-bar) .logo .logo-normally-none {
    display: none;
}

.header-area.sticky-bar:not(.transparent-bar) .logo .logo-sticky-none {
    display: inline-block;
}

@media (max-width: 1199px) {
    .header-area .logo a img {
        width: 180px;
        max-width: 180px;
    }
}

@media (min-width: 1200px) {
    .header-area .main-menu {
        display: block;
    }
}

/* Non-transparent headers use a light background — default theme nav links are white */
.header-area.sticky-bar:not(.transparent-bar) .main-menu > nav > ul > li > a {
    color: var(--orange-style);
    line-height: 70px;
}

.header-area.sticky-bar:not(.transparent-bar) .header-search button span,
.header-area.sticky-bar:not(.transparent-bar) .bar-icon button span {
    color: var(--orange-style);
}

.header-area.sticky-bar:not(.transparent-bar) .header-search button:hover span,
.header-area.sticky-bar:not(.transparent-bar) .bar-icon button:hover span {
    color: #009c94;
}

/* Blog article detail */
.blog-article-detail .b-details-img-wrap {
    text-align: center;
}

.blog-article-detail .b-details-img-wrap > img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.blog-article-detail .b-details-img-wrap img.blog {
    height: 420px;
}

.blog-article-detail .b-details-content-wrap p {
    font-size: 14px;
    line-height: 26px;
    margin: 0 0 26px;
}

.blog-article-detail .blog-meta-2 {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
}

.blog-article-detail .blog-meta-2 li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.blog-article-detail .blog-meta-2 li::before {
    content: none !important;
    display: none !important;
}

.blogs-list .blog-card-date {
    color: #868e96 !important;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 12px;
}

.blogs-list .blog-card-excerpt {
    color: #444;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.blogs-list .blog-card-read-more {
    font-weight: 600;
}

.blog-article-detail--blocks {
    padding-bottom: 0 !important;
}

.breadcrumb-content .breadcrumb-list li.active span {
    color: inherit;
}

.libra-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.contact-from form input:not([type="hidden"]),
.contact-from form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
}

.contact-from .field-validation-error {
    display: block;
    color: #c0392b;
    font-size: 13px;
    margin-top: 6px;
    min-height: 0;
}

.contact-from .field-validation-error:empty {
    display: none;
}

.contact-from input[aria-invalid="true"],
.contact-from textarea[aria-invalid="true"] {
    border-color: #c0392b;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
