/*
 * W1 component layer.
 * Visual values come from theme.json-generated custom properties.
 */

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

:where(a, button, input, textarea, select):focus-visible {
    outline: var(--wp--custom--border--width) solid var(--wp--preset--color--secondary);
    outline-offset: var(--wp--preset--spacing--2-xs);
}

.lh-container {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: var(--wp--custom--container--max-width);
    width: calc(100% - var(--wp--custom--container--gutter) - var(--wp--custom--container--gutter));
}

.lh-section {
    padding-block: var(--wp--custom--layout--section-spacing);
}

.lh-site-header {
    background: var(--wp--preset--color--surface);
    border-bottom: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
}

.lh-site-header__bar {
    gap: var(--wp--preset--spacing--sm);
    min-height: var(--wp--custom--header--min-height);
}

.lh-site-header .wp-block-site-title {
    font-weight: var(--wp--custom--typography--weight-brand);
    letter-spacing: var(--wp--custom--typography--tracking-tight);
    margin: 0;
}

.lh-primary-navigation {
    gap: var(--wp--custom--navigation--gap);
}

.lh-primary-navigation .wp-block-navigation-item__content {
    color: var(--wp--preset--color--text);
    font-weight: var(--wp--custom--typography--weight-semibold);
}

.lh-primary-navigation .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--secondary);
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 2.75rem;
    min-width: 2.75rem;
}

.wp-block-navigation__responsive-container.is-menu-open {
    background: var(--wp--preset--color--surface);
    color: var(--wp--preset--color--text);
    padding: var(--wp--preset--spacing--md);
}

.lh-hero {
    background: var(--wp--preset--color--background);
}

.wp-site-blocks .lh-container.lh-hero__copy {
    max-width: var(--wp--custom--container--content-width);
}

.wp-block-button__link,
.wp-block-search__button,
.lh-search-submit {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: var(--wp--custom--button--min-height);
    transition-duration: var(--wp--custom--motion--duration-fast);
    transition-property: filter;
    transition-timing-function: var(--wp--custom--motion--easing);
}

.wp-block-button__link:hover,
.wp-block-search__button:hover,
.lh-search-submit:hover {
    filter: brightness(var(--wp--custom--motion--hover-brightness));
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-lh-secondary .wp-block-button__link {
    background: var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--surface);
}

.wp-block-button.is-style-lh-text-link .wp-block-button__link {
    background: transparent;
    border-color: transparent;
    color: var(--wp--preset--color--secondary);
    min-height: auto;
    padding: 0;
}

.lh-card-grid {
    display: grid;
    gap: var(--wp--custom--layout--grid-gap);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wp--custom--card--min-width)), 1fr));
}

.is-style-lh-card,
.lh-card {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-large);
    box-shadow: var(--wp--custom--card--shadow);
    box-sizing: border-box;
    height: 100%;
    padding: var(--wp--preset--spacing--lg);
}

.lh-card > * + * {
    margin-block-start: var(--wp--custom--layout--card-gap);
}

.lh-card__media {
    align-items: center;
    background: var(--wp--preset--color--background);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-medium);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.lh-card__media--product {
    aspect-ratio: var(--wp--custom--media--product-ratio);
}

.lh-card__media--content {
    aspect-ratio: var(--wp--custom--media--content-ratio);
}

.lh-card__media--product img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.lh-card__media--content img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.lh-card__meta {
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-card--category .lh-card__meta {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.lh-card--category h3 {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    line-height: 1.2;
    margin-block: 0.25rem 0.75rem;
}

.is-style-lh-card > :first-child,
.lh-card > :first-child {
    margin-block-start: 0;
}

.is-style-lh-card > :last-child,
.lh-card > :last-child {
    margin-block-end: 0;
}

.lh-search-foundation {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-large);
    box-shadow: var(--wp--custom--card--shadow);
    padding: var(--wp--preset--spacing--lg);
}

.lh-search-form {
    align-items: end;
    display: grid;
    gap: var(--wp--custom--search--field-gap);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wp--custom--input--min-width)), 1fr));
}

.lh-search-field {
    display: grid;
    gap: var(--wp--preset--spacing--2-xs);
}

.lh-search-field label {
    font-size: var(--wp--preset--font-size--label);
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-search-input {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-medium);
    color: var(--wp--preset--color--text);
    min-height: var(--wp--custom--input--min-height);
    min-width: 0;
    padding: var(--wp--preset--spacing--sm);
    width: 100%;
}

.lh-search-input::placeholder {
    color: var(--wp--preset--color--muted);
}

.lh-search-submit {
    background: var(--wp--preset--color--primary);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--primary);
    border-radius: var(--wp--custom--border--radius-medium);
    color: var(--wp--preset--color--surface);
    cursor: pointer;
    font: inherit;
    font-weight: var(--wp--custom--typography--weight-bold);
    grid-column: 1 / -1;
    margin: 0;
    padding-inline: var(--wp--preset--spacing--md);
}

.lh-site-footer {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--surface);
}

.lh-site-footer .lh-section {
    padding-block: var(--wp--custom--footer--spacing);
}

.lh-site-footer a,
.lh-site-footer .wp-block-site-title a {
    color: inherit;
}

.lh-site-footer__meta {
    color: var(--wp--preset--color--surface);
    opacity: var(--wp--custom--footer--meta-opacity);
}

.lh-eyebrow {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--label);
    font-weight: var(--wp--custom--typography--weight-bold);
    letter-spacing: var(--wp--custom--typography--tracking-tight);
    text-transform: uppercase;
}

.lh-section-heading {
    margin-block-end: var(--wp--preset--spacing--lg);
}

.lh-section-heading > :last-child,
.lh-archive-heading > :last-child {
    margin-block-end: 0;
}

.lh-product-card {
    display: flex;
    flex-direction: column;
}

.lh-product-card__title {
    font-size: var(--wp--preset--font-size--h-3);
    margin-block: 0;
    overflow-wrap: anywhere;
}

.lh-product-card__status,
.lh-product-detail__status,
.lh-product-detail__stock {
    color: var(--wp--preset--color--success);
    font-size: var(--wp--preset--font-size--small);
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-product-card__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--sm);
    margin-block-start: auto;
    padding-block-start: var(--wp--preset--spacing--md);
}

.lh-text-link {
    color: var(--wp--preset--color--secondary);
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-product-detail__hero {
    align-items: start;
    display: grid;
    gap: var(--wp--custom--layout--grid-gap);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wp--custom--card--min-width)), 1fr));
}

.lh-product-detail__main-image {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.lh-product-detail__summary {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-large);
    padding: var(--wp--preset--spacing--lg);
}

.lh-product-detail__summary h1,
.lh-site-header .wp-block-site-title {
    overflow-wrap: anywhere;
}

.lh-product-section,
.lh-product-inquiry {
    border-top: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    margin-block-start: var(--wp--custom--layout--section-spacing);
    padding-block-start: var(--wp--preset--spacing--lg);
}

.lh-product-facts,
.lh-specification-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.lh-product-facts > div,
.lh-specification-list > div {
    border-bottom: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    display: grid;
    gap: var(--wp--preset--spacing--sm);
    grid-template-columns: minmax(var(--wp--custom--input--min-width), 1fr) 2fr;
    padding-block: var(--wp--preset--spacing--sm);
}

.lh-product-facts dt,
.lh-specification-list dt {
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-product-facts dd,
.lh-specification-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.lh-product-gallery {
    display: grid;
    gap: var(--wp--custom--layout--grid-gap);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wp--custom--card--min-width)), 1fr));
}

.lh-product-gallery img,
.lh-brand-logo img {
    height: auto;
    max-width: 100%;
}

.lh-feature-list,
.lh-document-list {
    padding-inline-start: var(--wp--preset--spacing--md);
}

.lh-complete-specifications {
    margin-block-start: var(--wp--preset--spacing--md);
}

.lh-complete-specifications summary {
    color: var(--wp--preset--color--secondary);
    cursor: pointer;
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-product-inquiry {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--custom--layout--grid-gap);
    justify-content: space-between;
}

.lh-search-no-results {
    margin-block: var(--wp--preset--spacing--lg);
}

.lh-search-result-card {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-large);
    box-shadow: var(--wp--custom--card--shadow);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: var(--wp--preset--spacing--lg);
}

.lh-search-result-card__type {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--label);
    font-weight: var(--wp--custom--typography--weight-bold);
    margin: 0 0 var(--wp--preset--spacing--xs);
}

.lh-search-result-card h2 {
    font-size: var(--wp--preset--font-size--h-3);
    margin: 0;
    overflow-wrap: anywhere;
}

.lh-search-result-card .lh-text-link {
    margin-top: auto;
    padding-top: var(--wp--preset--spacing--sm);
}

.lh-section-heading--actions {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--md);
    justify-content: space-between;
}

.lh-section-heading--actions h2,
.lh-section-heading--actions p {
    margin-block-end: 0;
}

.lh-month-navigation {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--xs);
    margin-block-start: var(--wp--preset--spacing--md);
}

.lh-month-link {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-medium);
    color: var(--wp--preset--color--primary);
    padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
}

.lh-month-link.is-current {
    background: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--surface);
}

.lh-archive-empty {
    margin-block-start: var(--wp--preset--spacing--lg);
}

.lh-article-card {
    display: flex;
    flex-direction: column;
}

.lh-article-card__title {
    font-size: var(--wp--preset--font-size--h-3);
    margin-block: 0;
}

.lh-article-card .lh-text-link {
    margin-block-start: auto;
    padding-block-start: var(--wp--preset--spacing--sm);
}

.lh-article-detail {
    margin-inline: auto;
    max-width: var(--wp--custom--container--content-width);
}

.lh-article-detail__header {
    margin-block-end: var(--wp--preset--spacing--lg);
}

.lh-article-detail__header h1 {
    font-size: var(--wp--preset--font-size--h-1);
}

.lh-article-detail__image {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.lh-reading-content {
    overflow-wrap: anywhere;
}

.lh-form-page__content {
    max-width: var(--wp--custom--form--max-width);
}

.lh-form-shell {
    background: var(--wp--preset--color--surface);
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-large);
    box-shadow: var(--wp--custom--card--shadow);
    margin-block-start: var(--wp--preset--spacing--lg);
    padding: var(--wp--preset--spacing--lg);
}

.lh-form-shell .forminator-ui.forminator-custom-form {
    margin: 0;
}

.lh-form-shell .forminator-label,
.lh-form-shell .forminator-description {
    color: var(--wp--preset--color--text);
    font-family: inherit;
}

.lh-form-shell .forminator-label {
    font-weight: var(--wp--custom--typography--weight-bold);
}

.lh-form-shell :where(.forminator-input, .forminator-textarea, .forminator-select2 + .forminator-select) {
    border-color: var(--wp--preset--color--border);
    border-radius: var(--wp--custom--border--radius-medium);
    color: var(--wp--preset--color--text);
    font-family: inherit;
    min-height: var(--wp--custom--input--min-height) !important;
}

.lh-form-shell .forminator-button-submit {
    background: var(--wp--preset--color--primary);
    border-radius: var(--wp--custom--border--radius-medium);
    color: var(--wp--preset--color--surface);
    font-family: inherit;
    font-weight: var(--wp--custom--typography--weight-bold);
    min-height: var(--wp--custom--button--min-height) !important;
    padding-inline: var(--wp--preset--spacing--md);
}

.lh-form-shell .forminator-error-message,
.lh-form-shell .forminator-response-message.forminator-error {
    color: var(--wp--preset--color--error);
}

.lh-form-shell .forminator-response-message {
    border-radius: var(--wp--custom--border--radius-medium);
    padding: var(--wp--custom--form--notice-padding);
}

.lh-form-shell .forminator-response-message.forminator-success {
    color: var(--wp--preset--color--success);
}

.lh-form-unavailable {
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--warning);
    border-radius: var(--wp--custom--border--radius-medium);
    color: var(--wp--preset--color--warning);
    padding: var(--wp--custom--form--notice-padding);
}

@media (max-width: 48rem) {
    .lh-form-shell {
        padding: var(--wp--preset--spacing--md);
    }

    .lh-product-facts > div,
    .lh-specification-list > div {
        gap: var(--wp--preset--spacing--2-xs);
        grid-template-columns: minmax(0, 1fr);
    }

    .lh-product-inquiry {
        align-items: stretch;
    }

    .lh-product-inquiry .wp-block-button,
    .lh-product-inquiry .wp-block-button__link,
    .lh-product-inquiry .wp-element-button {
        width: 100%;
    }
}

.lh-article-relations,
.lh-article-tags {
    border-top: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
    margin-block-start: var(--wp--custom--layout--section-spacing);
    padding-block-start: var(--wp--preset--spacing--lg);
}

.lh-article-tags {
    color: var(--wp--preset--color--muted);
}

/* WEB-PUB-001 publication candidate. */
.lh-official-logo {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 1 18rem;
    height: 6rem;
    max-width: calc(100vw - 8rem);
    overflow: hidden;
    padding: 0;
    width: 18rem;
}

.lh-official-logo img {
    height: auto;
    max-width: none;
    transform: none;
    width: 100%;
}

.lh-publication-hero {
    background: #0c1427;
    color: #fff;
    overflow: hidden;
    padding: clamp(3.5rem, 7vw, 7.5rem) 0;
}

.lh-publication-hero__grid {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
}

.lh-publication-hero__copy {
    max-width: 45rem;
}

.lh-publication-hero h1 {
    color: inherit;
    font-size: clamp(2.4rem, 5vw, 5rem);
    letter-spacing: -0.035em;
    line-height: 1.04;
    margin: 0.5rem 0 1.25rem;
}

.lh-publication-hero p:not(.lh-eyebrow) {
    color: #d7dfef;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.75;
    max-width: 42rem;
}

.lh-publication-hero__visual,
.lh-publication-hero__visual img {
    display: block;
}

.lh-publication-hero__visual img {
    height: auto;
    max-width: 100%;
}

.lh-publication-actions,
.lh-sourcing-card__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.lh-publication-hero .is-style-outline {
    background: transparent;
    border: 1px solid #fff;
    color: #fff;
}

.lh-publication-values {
    padding-top: clamp(3rem, 6vw, 5.5rem);
}

.lh-publication-value-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lh-publication-value-grid article,
.lh-sourcing-card,
.lh-sourcing-empty,
.lh-sourcing-filter {
    background: #fff;
    border: 1px solid rgba(20, 30, 52, 0.12);
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(20, 30, 52, 0.07);
}

.lh-publication-value-grid article {
    padding: 1.5rem;
}

.lh-publication-value-grid h3 {
    margin-top: 0;
}

.lh-sourcing-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lh-sourcing-card {
    border-top: 0.25rem solid #16d6d0;
    display: flex;
    flex-direction: column;
    min-height: 17rem;
    min-width: 0;
    overflow: hidden;
}

.lh-sourcing-card__visual {
    background: #0c1427;
    display: block;
}

.lh-sourcing-card__visual img {
    aspect-ratio: 5 / 3;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.lh-sourcing-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.5rem;
}

.lh-sourcing-card__brand,
.lh-sourcing-count {
    color: #4d5b73;
    font-size: 0.95rem;
}

.lh-sourcing-card__brand {
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 0 0 0.5rem;
}

.lh-sourcing-card h2 {
    font-size: clamp(1.55rem, 2.2vw, 2rem);
    line-height: 1.15;
    margin: 0 0 1.5rem;
    overflow-wrap: anywhere;
}

.lh-sourcing-card h2 a,
.lh-sourcing-card__actions .lh-text-link,
.lh-sourcing-filter > .lh-text-link {
    align-items: center;
    display: inline-flex;
    min-height: 2.75rem;
}

.lh-sourcing-card__actions {
    margin-top: auto;
}

.lh-sourcing-states {
    margin-top: 2.5rem;
}

.lh-sourcing-states ul {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.lh-sourcing-states li {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(20, 30, 52, 0.12);
    border-radius: 0.75rem;
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem;
}

.lh-sourcing-states img {
    border-radius: 0.5rem;
    flex: 0 0 4.5rem;
    height: 4.5rem;
    object-fit: cover;
    width: 4.5rem;
}

.lh-sourcing-states code,
.lh-sourcing-states span {
    display: block;
    overflow-wrap: anywhere;
}

.lh-sourcing-states span {
    color: #4d5b73;
    margin-top: 0.25rem;
}

.lh-sourcing-listing > header {
    max-width: 55rem;
}

.lh-sourcing-filter {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(14rem, 2fr) auto auto;
    margin: 2rem 0;
    padding: 1rem;
}

.lh-sourcing-filter label {
    display: block;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.lh-sourcing-filter input,
.lh-sourcing-filter select,
.lh-sourcing-filter button {
    min-height: 3rem;
    width: 100%;
}

.lh-sourcing-filter button {
    width: auto;
}

.lh-sourcing-empty {
    padding: clamp(2rem, 5vw, 4rem);
    text-align: center;
}

.lh-sourcing-detail__hero {
    background: #fff;
    border: 1px solid rgba(20, 30, 52, 0.12);
    border-radius: 1.25rem;
    box-shadow: 0 1rem 3rem rgba(20, 30, 52, 0.07);
    max-width: 56rem;
    padding: clamp(2rem, 5vw, 4rem);
}

.lh-sourcing-detail__brand {
    color: #4d5b73;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    margin: 0 0 0.5rem;
}

.lh-sourcing-detail h1 {
    font-size: clamp(2.25rem, 5vw, 4rem);
    line-height: 1.05;
    margin: 0 0 1.25rem;
    overflow-wrap: anywhere;
}

.lh-sourcing-detail__visual {
    background: #0c1427;
    border-radius: 1.25rem;
    overflow: hidden;
}

.lh-sourcing-detail__visual img {
    display: block;
    height: auto;
    width: 100%;
}

.lh-sourcing-facts {
    border-block: 1px solid rgba(20, 30, 52, 0.12);
    margin: 1.5rem 0;
    padding: 0.5rem 0;
}

.lh-sourcing-facts div {
    display: grid;
    gap: 1rem;
    grid-template-columns: 9rem minmax(0, 1fr);
    padding: 0.6rem 0;
}

.lh-sourcing-facts dt {
    color: #4d5b73;
    font-weight: 700;
}

.lh-sourcing-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.lh-sourcing-boundary {
    background: #f4f7fb;
    border-left: 0.3rem solid #16d6d0;
    margin-top: 3rem;
    padding: 1.5rem;
}

.lh-publication-contact {
    background-image: url('../images/web-pub-001/cta/cta-banner.svg');
    background-position: right center;
    background-repeat: no-repeat;
    background-size: auto 100%;
}

.lh-site-footer__grid {
    align-items: flex-start;
}

.lh-site-footer__title {
    font-size: 1.15rem;
    font-weight: 700;
}

.lh-site-footer__copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    margin: 0;
    padding: 1rem;
}

.lh-official-logo:focus-visible,
.lh-sourcing-card a:focus-visible,
.lh-sourcing-filter :focus-visible,
.lh-publication-actions a:focus-visible {
    outline: 3px solid #16d6d0;
    outline-offset: 4px;
}

@media (max-width: 1100px) {
    .lh-sourcing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lh-sourcing-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .lh-publication-hero__grid,
    .lh-publication-value-grid,
    .lh-sourcing-detail__hero {
        grid-template-columns: 1fr;
    }

    .lh-publication-hero__visual {
        margin-inline: auto;
        max-width: 34rem;
    }

    .lh-publication-contact {
        background-image: none;
    }
}

@media (max-width: 540px) {
    .lh-site-header__bar {
        flex-wrap: nowrap;
        gap: 0.5rem;
    }

    .lh-official-logo {
        flex-basis: 14rem;
        height: 4.75rem;
        max-width: calc(100vw - 7rem);
        width: 14rem;
    }

    .lh-primary-navigation {
        flex: 0 0 auto;
    }

    .lh-sourcing-grid,
    .lh-sourcing-filter,
    .lh-sourcing-states ul {
        grid-template-columns: 1fr;
    }

    .lh-sourcing-filter button {
        width: 100%;
    }

    .lh-sourcing-facts div {
        gap: 0.25rem;
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lh-publication-hero *,
    .lh-sourcing-card *,
    .lh-sourcing-detail * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
