.table_product-img {
    object-fit: contain;
}
.visual_img.is-cover {
    object-fit: contain;
}
.visual_img.is-line {
    object-fit: cover;
}
/* Richtext resource cards for Info Block/Teaser descriptions */
.resource-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
}
.resource-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 0.9rem;
    align-items: start;
}
.resource-card_media {
    display: block;
    border: 1px solid #d9d9d9;
    background: #fff;
}
.resource-card_media img {
    width: 100%;
    height: auto;
    display: block;
}
.resource-card_title {
    display: inline-block;
    font-weight: 700;
    text-decoration: underline;
    margin-bottom: 0.25rem;
}
.resource-card_text {
    margin: 0;
}
@media (min-width: 992px) {
    .resource-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 640px) {
    .resource-card {
        grid-template-columns: 1fr;
    }
}

/* Series List optional 4-column layout */
.series_section .product-card_list.is-cols-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}
@media (max-width: 1280px) {
    .series_section .product-card_list.is-cols-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991px) {
    .series_section .product-card_list.is-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .series_section .product-card_list.is-cols-4 {
        grid-template-columns: 1fr;
    }
}

.search_section .search_results-wrap {
    max-width: 100%;
}

.table_double-wrap,
.table-wrapper.is-tbody {
    max-width: 100%;
}

.table_double-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.product_tab-plane,
.product_tab-info,
.tab_plane.is-table,
.tab_content {
    min-width: 0;
}

@media (max-width: 767px) {
    .nav_layout-mob .nav_btn-group.is-header {
        gap: 0.5rem;
    }

    .nav_layout-mob .a-cart {
        display: inline-flex;
        width: 2.75rem;
        height: 2.75rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(17, 17, 17, 0.12);
        border-radius: 999px;
        background: #fff;
        flex: 0 0 auto;
    }

    .nav_layout-mob .a-cart svg {
        width: 1.15rem;
        height: 1.15rem;
    }

    .nav_layout-mob #cartTotalMobile {
        top: -0.35rem !important;
        right: -0.2rem !important;
        min-width: 1rem !important;
        height: 1rem !important;
        line-height: 1rem !important;
        font-size: 0.65rem !important;
        padding: 0 0.2rem !important;
    }

    .cart-table-wrap .table {
        min-width: 40rem;
    }
}

.search_section .container-large .search_results-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(22rem, 1fr) !important;
    gap: 2rem;
    align-items: start;
    width: 100%;
}

.search_section .search_results-column {
    min-width: 0;
}

.search_section .search_results-column-title {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6f6f6f;
}

.search_section .search_result-list {
    display: block;
}

.search_section .search_result-item + .search_result-item {
    margin-top: 1rem;
}

.access_section .prod[id^="a_"] {
    scroll-margin-top: 9rem;
}

.mosaic_section {
    position: relative;
}

.mosaic_section.is-brand {
    background: linear-gradient(180deg, #fff6cf 0%, #fff 100%);
}

.mosaic_section.is-gray {
    background: #f4f4f4;
}

.mosaic_section.is-black {
    background: #0d0d0d;
    color: #fff;
}

.mosaic_layout {
    display: grid;
    gap: 1.5rem;
    grid-auto-flow: dense;
}

.mosaic_card {
    display: grid;
    gap: 1.5rem;
    min-height: 18rem;
    padding: 1.75rem;
    border-radius: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.mosaic_card.is-brand {
    background: #ffcf24;
    color: #111;
}

.mosaic_card.is-gray {
    background: #ececec;
    color: #111;
}

.mosaic_card.is-black {
    background: #111;
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.mosaic_card-body {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.mosaic_card-icon {
    display: inline-flex;
    width: 3.5rem;
    height: 3.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
}

.mosaic_card.is-black .mosaic_card-icon {
    background: rgba(255, 255, 255, 0.08);
}

.mosaic_card-title {
    margin: 0;
}

.mosaic_card-text {
    color: inherit;
}

.mosaic_card-text p {
    margin: 0;
}

.mosaic_card-footer {
    margin-top: auto;
}

.mosaic_card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-decoration: none;
}

.mosaic_card-link-arrow {
    display: inline-flex;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 0.4rem;
    font-size: 0.75rem;
}

.mosaic_layout.is-layout-1-1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mosaic_layout.is-layout-1-1-1 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mosaic_layout.is-layout-1-1-1-1 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mosaic_layout.is-layout-2-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mosaic_layout.is-layout-1-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(14rem, 1fr);
}

.mosaic_layout.is-layout-1-2 .mosaic_card:first-child {
    grid-row: span 2;
}

.mosaic_layout.is-layout-1-2-2 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(14rem, 1fr);
}

.mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}

.mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(4) {
    grid-column: 3;
    grid-row: 1 / span 2;
}

.search_request-total {
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}

.search_request-total-value.is-breakdown {
    color: #6f6f6f;
}

.search_result-text em,
.search_result-name em {
    font-style: normal;
    background: rgba(255, 202, 0, 0.28);
}

.checkout-shell {
    display: grid;
    gap: 1.5rem;
}

.checkout-page {
    margin-left: auto;
    margin-right: auto;
}

.checkout-page_wrap {
    background: #fff;
}

.checkout-page_title {
    margin-top: 0;
    margin-bottom: 0.4rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.05;
    font-weight: 800;
}

.checkout-page_subtitle {
    margin-top: 0;
    margin-bottom: 1rem;
}

.checkout-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.checkout-shell .checkout-progress {
    position: sticky;
    top: 5.5rem;
    z-index: 20;
    padding: 0.5rem 0;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
}

.checkout-progress_item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid #d9d9d9;
    border-radius: 999px;
    background: #fff;
    color: #666;
    width: 100%;
    text-align: left;
}

.checkout-progress_item.is-active,
.checkout-progress_item.is-complete {
    border-color: #111;
    color: #111;
}

.checkout-progress_item.is-active {
    background: #ffca00;
}

.checkout-progress_num {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-weight: 700;
}

.checkout-progress_item.is-active .checkout-progress_num {
    background: #fff;
    color: #111;
}

.checkout-progress_text {
    font-weight: 700;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.checkout-main {
    display: grid;
    gap: 1.5rem;
}

.checkout-sticky-nav {
    position: sticky;
    bottom: 1rem;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 30px rgba(17, 17, 17, 0.12);
    backdrop-filter: blur(10px);
}

.checkout-sticky-nav_meta {
    min-width: 0;
}

.checkout-sticky-nav_step {
    margin-bottom: 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #666;
}

.checkout-sticky-nav_title {
    font-size: 0.95rem;
    font-weight: 800;
    color: #111;
}

.checkout-sticky-nav_actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.checkout-sticky-nav_actions .btn {
    min-width: 8.5rem;
    justify-content: center;
}

.checkout-sticky-nav_actions .btn[hidden] {
    display: none !important;
}

.checkout-sticky-nav_actions .btn[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.checkout-panel {
    border: 1px solid #dedede;
    border-radius: 1.5rem;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.05);
}

.checkout-panel_head {
    display: block;
    width: 100%;
    padding: 1.5rem 1.75rem 0.75rem;
    border-bottom: 1px solid #ececec;
    text-align: left;
    background: transparent;
}

.checkout-panel_step {
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6c6c6c;
}

.checkout-panel_title {
    margin: 0;
}

.checkout-panel_body {
    padding: 1.5rem 1.75rem 1.75rem;
}

.checkout-panel:not(.is-open) .checkout-panel_head {
    border-bottom: 0;
}

.checkout-panel:not(.is-open) .checkout-panel_body {
    display: none;
}

.checkout-form .alert-danger,
.checkout-form .alert-info {
    border-radius: 1rem;
}

.checkout-form table.table {
    margin-bottom: 0;
}

.checkout-form .table > tbody > tr > td,
.checkout-form .table > tbody > tr > th,
.checkout-form .table > thead > tr > td,
.checkout-form .table > thead > tr > th {
    vertical-align: middle;
}

.cart-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cart-table-wrap .table {
    min-width: 46rem;
}

.checkout-form .product_cart_wrapper img {
    max-width: 6rem;
    margin: 0 auto 0.75rem;
}

.checkout-accessory-panel + .checkout-accessory-panel {
    margin-top: 1.25rem;
}

.checkout-accessory-panel {
    margin-top: 1.5rem;
    border: 1px solid #e3e3e3;
    border-radius: 1.25rem;
    background: #fcfcfc;
    overflow: hidden;
}

.checkout-accessory-panel_head {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid #ececec;
    text-align: left;
    background: transparent;
}

.checkout-accessory-panel_title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
}

.checkout-accessory-panel_meta {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.checkout-accessory-panel_count {
    display: inline-flex;
    min-width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    padding: 0 0.65rem;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-weight: 800;
}

.checkout-accessory-panel_icon {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
}

.checkout-accessory-panel_head.is-collapsed .checkout-accessory-panel_icon {
    transform: rotate(0deg);
}

.checkout-accessory-panel_head[aria-expanded="true"] .checkout-accessory-panel_icon {
    transform: rotate(45deg);
}

.checkout-accessory-panel_head.is-collapsed {
    border-bottom: 0;
}

.checkout-accessory-list {
    display: grid;
    gap: 1rem;
    padding: 1.25rem 1.5rem 1.5rem;
}

.checkout-accessory-list[hidden] {
    display: none !important;
}

.checkout-accessory-card {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid #ececec;
    border-radius: 1rem;
    background: #fff;
}

.checkout-accessory-card.is-in-cart {
    background: #fff9dd;
    border-color: #f0d665;
}

.checkout-accessory-card_media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    display: block;
    border-radius: 0.75rem;
    background: #f7f7f7;
}

.checkout-accessory-card_body {
    min-width: 0;
}

.checkout-accessory-card_kicker {
    margin-bottom: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b6b6b;
}

.checkout-accessory-card_title {
    margin: 0 0 0.35rem;
    font-size: 1.1rem;
    font-weight: 800;
}

.checkout-accessory-card_text {
    margin: 0;
    color: #4f4f4f;
}

.checkout-accessory-card_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: center;
    margin-top: 0.75rem;
}

.checkout-accessory-card_price {
    font-weight: 800;
}

.checkout-accessory-card_link {
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.checkout-accessory-card_actions {
    display: flex;
    align-items: center;
}

.checkout-accessory-card_actions .btn.disabled,
.checkout-accessory-card_actions .btn[disabled] {
    opacity: 1;
    cursor: default;
    background: #111;
    border-color: #111;
    color: #fff;
}

#cartContact .row + .row,
#cartContact .row + .clear + br + h4,
#cartContact h4 + .row {
    margin-top: 0.85rem;
}

#cartContact h4,
#cartReview h4 {
    margin-top: 0;
    margin-bottom: 1rem;
}

#cartContact .form-control {
    min-height: 3rem;
    border-radius: 0.85rem;
    border: 1px solid #d8d8d8;
    box-shadow: none;
    background: #fff;
    font-size: 1rem;
    padding: 0.85rem 1rem;
    width: 100%;
}

#cartContact textarea.form-control {
    min-height: 8rem;
}

.checkout-form_section + .checkout-form_section {
    margin-top: 2rem;
}

.checkout-form_section-title {
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 800;
}

.checkout-form_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
}

.checkout-form_grid.is-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-field {
    min-width: 0;
}

.checkout-field.is-full {
    grid-column: 1 / -1;
}

.checkout-field_label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #585858;
}

#cartContact .fspot.has-error .form-control {
    border-color: #d9534f;
}

#cartContact .fspot.has-success .form-control {
    border-color: #cfcfcf;
}

#cartContact em.help-block {
    display: block;
    margin-top: 0.45rem;
    color: #b3261e;
    font-style: normal;
    font-size: 0.85rem;
}

#cartReview table {
    width: 100%;
}

.cart-row_actions {
    display: inline-flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-end;
}

.cart-row_actions .btn,
.cart-update_all {
    min-width: 6rem;
    justify-content: center;
    text-decoration: none;
}

.checkout-form .table .cart-update_all {
    display: inline-flex;
}

#cartReview #bt-dropin,
#bt-dropin {
    min-height: 10rem;
    padding: 1rem;
    border: 1px solid #e1e1e1;
    border-radius: 1rem;
    background: #fafafa;
}

#cartReview .btn,
.checkout-form .btn {
    border-radius: 999px;
    font-weight: 700;
}

.checkout-review_summary {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(20rem, 0.9fr);
    gap: 1.5rem;
    align-items: start;
    margin-bottom: 1.5rem;
}

.checkout-review_contact {
    min-width: 0;
}

.checkout-review_block + .checkout-review_block {
    margin-top: 1.5rem;
}

.checkout-review_list {
    margin: 0;
}

.checkout-review_list-row {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 0.75rem;
    margin-bottom: 0.4rem;
}

.checkout-review_list-row dt {
    font-weight: 700;
    color: #4f4f4f;
}

.checkout-review_list-row dd {
    margin: 0;
}

.checkout-review_address,
.checkout-review_notes {
    color: #222;
    line-height: 1.55;
}

.checkout-review_totals {
    min-width: 0;
}

.checkout-totals_card {
    padding: 1.25rem 1.35rem;
    border: 1px solid #e3e3e3;
    border-radius: 1rem;
    background: #f4f4f4;
}

.checkout-totals_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-totals_row:last-child {
    border-bottom: 0;
}

.checkout-totals_row.is-total {
    margin-top: 0.35rem;
    padding-top: 0.85rem;
    font-size: 1.05rem;
}

.checkout-totals_row strong {
    white-space: nowrap;
}

.checkout-review_actions {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
    gap: 1.5rem;
    align-items: start;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #ececec;
}

.checkout-payment_column,
.checkout-rfq_column {
    border: 1px solid #e4e4e4;
    border-radius: 1rem;
    padding: 1.25rem;
    background: #fff;
}

.checkout-payment_column h4,
.checkout-rfq_column h4 {
    margin-top: 0;
    margin-bottom: 1rem;
}

.checkout-payment_submit {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

.checkout-payment_submit .btn {
    min-width: 11rem;
}

.checkout-notice {
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    border: 1px solid #e3e3e3;
    line-height: 1.6;
}

.checkout-notice-warning {
    background: #f6f6f6;
    border-color: #d8d8d8;
    color: #1f1f1f;
}

.checkout-notice a {
    color: inherit;
    font-weight: 700;
}

.checkout-rfq_column {
    background: #fff8dc;
    border-color: #f1dfa0;
}

.checkout-rfq_label {
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6c6c6c;
}

.checkout-rfq_title {
    margin: 0 0 0.5rem;
}

.checkout-rfq_text {
    margin-bottom: 1rem;
    color: #444;
}

.checkout-rfq_column .btn {
    width: 100%;
    justify-content: center;
}

.checkout-rfq_column .btn.is-white {
    background: #fff;
    border-color: #111;
    color: #111;
}

.checkout-rfq_share {
    margin-top: 1rem;
    font-size: 0.9rem;
}

.checkout-rfq_share input {
    margin-right: 0.4rem;
}

@media (max-width: 991px) {
    .checkout-progress {
        grid-template-columns: 1fr;
    }

    .checkout-shell .checkout-progress {
        position: static;
        padding: 0;
        background: transparent;
        backdrop-filter: none;
    }

    .checkout-panel_head,
    .checkout-panel_body {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .checkout-accessory-panel_head,
    .checkout-accessory-list {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .checkout-accessory-card {
        grid-template-columns: 1fr;
    }

    .checkout-accessory-card_media {
        max-width: 8rem;
    }

    .checkout-accessory-card_actions {
        justify-content: flex-start;
    }

    .checkout-form_grid,
    .checkout-form_grid.is-two {
        grid-template-columns: 1fr;
    }

    .checkout-review_actions {
        grid-template-columns: 1fr;
    }

    .checkout-review_summary {
        grid-template-columns: 1fr;
    }

    .checkout-sticky-nav {
        bottom: 0.75rem;
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-sticky-nav_actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .checkout-sticky-nav_actions .btn {
        width: 100%;
        min-width: 0;
    }

    .checkout-payment_submit {
        justify-content: stretch;
    }

    .checkout-payment_submit .btn {
        width: 100%;
    }

    .cart-row_actions {
        align-items: stretch;
    }
}

@media (max-width: 991px) {
    .search_section .container-large .search_results-grid {
        grid-template-columns: 1fr;
    }

    .access_section .prod[id^="a_"] {
        scroll-margin-top: 7rem;
    }

    .mosaic_layout,
    .mosaic_layout.is-layout-1-1,
    .mosaic_layout.is-layout-1-1-1,
    .mosaic_layout.is-layout-1-1-1-1,
    .mosaic_layout.is-layout-2-2,
    .mosaic_layout.is-layout-1-2,
    .mosaic_layout.is-layout-1-2-2 {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }

    .mosaic_layout.is-layout-1-2 .mosaic_card:first-child,
    .mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(1),
    .mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(2),
    .mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(3),
    .mosaic_layout.is-layout-1-2-2 .mosaic_card:nth-child(4) {
        grid-column: auto;
        grid-row: auto;
    }
}

.about_grid.is-text-only {
    grid-template-columns: minmax(0, 1fr);
}

.about_grid.is-text-only .about_info-wrap {
    max-width: 48rem;
}

.series_section .series_heading {
    width: 100%;
}

.series_section .series_heading.text-left {
    align-items: flex-start;
    justify-items: start;
    max-width: none !important;
    text-align: left !important;
    width: 100%;
}

.series_section .series_heading.text-left .heading_title,
.series_section .series_heading.text-left .heading_text {
    max-width: none !important;
    margin-left: 0;
    margin-right: 0;
    text-align: left !important;
    width: 100%;
}

.series_section .series_heading.text-center {
    align-items: center;
    justify-items: center;
    text-align: center !important;
    width: 100%;
}

.series_section .series_heading.text-center .heading_title,
.series_section .series_heading.text-center .heading_text {
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
}

.info-block_section {
    display: block !important;
}

.info-block_section .info-block_content {
    width: 100%;
    max-width: none;
}

.info-block_section .info_heading_title,
.info-block_section .heading_text {
    width: 100%;
    max-width: none;
}

.info-block_section:not(.is-center-align) .info_heading_title,
.info-block_section:not(.is-center-align) .heading_text {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.info-block_section.is-center-align .info-block_content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.info-block_section.is-center-align .info_heading_title,
.info-block_section.is-center-align .heading_text {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.infoBlockNoPadding .info-block_content {
    margin-left: 0;
    max-width: none;
}

.info-block_section.is-theme-gray {
    background: #f4f4f4 !important;
}

.service_section.managed-theme-white,
.about_section.managed-theme-white,
.solution-hero_section.managed-theme-white,
.cta_component.managed-theme-white,
.info-block_section.managed-theme-white,
.series_section.managed-theme-white,
.mosaic_section.managed-theme-white {
    background: #ffffff !important;
}

.service_section.managed-theme-gray,
.about_section.managed-theme-gray,
.solution-hero_section.managed-theme-gray,
.cta_component.managed-theme-gray,
.info-block_section.managed-theme-gray,
.series_section.managed-theme-gray,
.mosaic_section.managed-theme-gray {
    background: #f4f4f4 !important;
}

.service_section.managed-theme-dark,
.about_section.managed-theme-dark,
.solution-hero_section.managed-theme-dark,
.cta_component.managed-theme-dark,
.info-block_section.managed-theme-dark,
.series_section.managed-theme-dark,
.mosaic_section.managed-theme-dark {
    background: #111111 !important;
}

.service_section.managed-theme-dark .heading_title,
.service_section.managed-theme-dark .heading_text,
.service_section.managed-theme-dark .service_title,
.about_section.managed-theme-dark .about_title,
.about_section.managed-theme-dark .about_text,
.info-block_section.managed-theme-dark .info_heading_title,
.info-block_section.managed-theme-dark .heading_text,
.series_section.managed-theme-dark .heading_title,
.series_section.managed-theme-dark .heading_text,
.solution-hero_section.managed-theme-dark .heading-style-h1,
.solution-hero_section.managed-theme-dark .text-size-large,
.solution-hero_section.managed-theme-dark .btn-text_text,
.solution-hero_section.managed-theme-dark .g_font-icon,
.solution-hero_section.managed-theme-dark .icon-expand-right,
.cta_component.managed-theme-dark .cta-heading,
.cta_component.managed-theme-dark .cta-text {
    color: #ffffff !important;
}

.service_section.bg-color-dark .heading_title,
.service_section.bg-color-dark .heading_text,
.service_section.bg-color-dark .service_title,
.series_section.bg-color-dark .heading_title,
.series_section.bg-color-dark .heading_text,
.solution-hero_section.bg-color-dark .heading-style-h1,
.solution-hero_section.bg-color-dark .text-size-large,
.solution-hero_section.bg-color-dark .btn-text_text,
.solution-hero_section.bg-color-dark .g_font-icon,
.solution-hero_section.bg-color-dark .icon-expand-right {
    color: #fff !important;
}

.solution-hero_section.bg-color-secondary {
    background: #f4f4f4;
}

.solution-hero_section.bg-color-dark {
    background: #0d0d0d;
}

.cta_component.hero-theme-gray {
    background: #f4f4f4;
}
.admin-overlay-region {
    --admin-overlay-accent: #65ab13;
    --admin-overlay-accent-soft: rgba(101, 171, 19, 0.03);
    --admin-overlay-accent-border: rgba(101, 171, 19, 0.45);
    --admin-overlay-accent-line: rgba(101, 171, 19, 0.3);
    --admin-overlay-toolbar-bg: #eef5dd;
    --admin-overlay-toolbar-fg: #476c0b;
    --admin-overlay-detail-fg: #5b6f38;
    --admin-overlay-action-border: rgba(71, 108, 11, 0.24);
    position: relative;
    overflow: visible;
    border: 1px dashed transparent;
    border-radius: 1rem;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.admin-overlay-region--website-components,
.admin-overlay-region[data-admin-overlay-group="Website Components"] {
    --admin-overlay-accent: #7b4dff;
    --admin-overlay-accent-soft: rgba(123, 77, 255, 0.05);
    --admin-overlay-accent-border: rgba(123, 77, 255, 0.42);
    --admin-overlay-accent-line: rgba(123, 77, 255, 0.3);
    --admin-overlay-toolbar-bg: #f1ebff;
    --admin-overlay-toolbar-fg: #5731bf;
    --admin-overlay-detail-fg: #684db3;
    --admin-overlay-action-border: rgba(87, 49, 191, 0.25);
}

.admin-overlay-region--website-core,
.admin-overlay-region[data-admin-overlay-group="Website Core"] {
    --admin-overlay-accent: #65ab13;
    --admin-overlay-accent-soft: rgba(101, 171, 19, 0.03);
    --admin-overlay-accent-border: rgba(101, 171, 19, 0.45);
    --admin-overlay-accent-line: rgba(101, 171, 19, 0.3);
    --admin-overlay-toolbar-bg: #eef5dd;
    --admin-overlay-toolbar-fg: #476c0b;
    --admin-overlay-detail-fg: #5b6f38;
    --admin-overlay-action-border: rgba(71, 108, 11, 0.24);
}

.admin-overlay-region--salesforce,
.admin-overlay-region[data-admin-overlay-group="Salesforce"] {
    --admin-overlay-accent: #177ddc;
    --admin-overlay-accent-soft: rgba(23, 125, 220, 0.05);
    --admin-overlay-accent-border: rgba(23, 125, 220, 0.42);
    --admin-overlay-accent-line: rgba(23, 125, 220, 0.28);
    --admin-overlay-toolbar-bg: #eaf5ff;
    --admin-overlay-toolbar-fg: #0c5fa9;
    --admin-overlay-detail-fg: #3f6e95;
    --admin-overlay-action-border: rgba(12, 95, 169, 0.22);
}

.admin-overlay-region--product-data,
.admin-overlay-region[data-admin-overlay-group="Product Data"] {
    --admin-overlay-accent: #d28a00;
    --admin-overlay-accent-soft: rgba(210, 138, 0, 0.05);
    --admin-overlay-accent-border: rgba(210, 138, 0, 0.42);
    --admin-overlay-accent-line: rgba(210, 138, 0, 0.3);
    --admin-overlay-toolbar-bg: #fff4df;
    --admin-overlay-toolbar-fg: #9a6700;
    --admin-overlay-detail-fg: #916d22;
    --admin-overlay-action-border: rgba(154, 103, 0, 0.22);
}

.admin-overlay-toolbar {
    display: none;
    position: relative;
    z-index: 6;
}

.admin-legacy-edit-links {
    display: none;
}

body.admin-view-enabled .admin-overlay-region {
    margin: 0.5rem 0;
    border-color: var(--admin-overlay-accent-border);
    background: var(--admin-overlay-accent-soft);
}

body.admin-view-enabled .admin-legacy-edit-links {
    display: block;
}

body.admin-view-enabled .admin-overlay-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 0.65rem 0.9rem;
    border-radius: 1rem 1rem 0.75rem 0.75rem;
    background: var(--admin-overlay-toolbar-bg);
    color: var(--admin-overlay-toolbar-fg);
}

body.admin-view-enabled .admin-overlay-content {
    border-top: 1px dashed var(--admin-overlay-accent-line);
}

.product_layout > .admin-overlay-region {
    flex: 1 1 0;
    min-width: 0;
}

.product_layout > .admin-overlay-region > .admin-overlay-content {
    height: 100%;
}

.product_layout > .admin-overlay-region > .admin-overlay-content > .product_gallery {
    width: 100%;
}

.admin-overlay-toolbar-main {
    min-width: 0;
}

.admin-overlay-toolbar-group {
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-overlay-toolbar-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin-top: 0.2rem;
}

.admin-overlay-toolbar-detail {
    font-size: 0.8rem;
    margin-top: 0.15rem;
    color: var(--admin-overlay-detail-fg);
    word-break: break-word;
}

.admin-overlay-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.admin-overlay-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.35rem 0.8rem;
    border: 1px solid var(--admin-overlay-action-border);
    border-radius: 999px;
    background: #fff;
    color: var(--admin-overlay-toolbar-fg);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.admin-overlay-action.is-edit {
    background: var(--admin-overlay-accent);
    border-color: var(--admin-overlay-accent);
    color: #fff;
}

.admin-overlay-toggle {
    display: inline-flex;
    align-items: center;
    margin-right: 0.85rem;
}

.admin-overlay-toggle_label {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    cursor: pointer;
}

.admin-overlay-toggle_text {
    font-size: 0.85rem;
    font-weight: 700;
}

.admin-overlay-toggle_switch {
    position: relative;
    display: inline-flex;
    width: 3rem;
    height: 1.7rem;
}

.admin-overlay-toggle_switch input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.admin-overlay-toggle_slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #d8dfc8;
    transition: background-color 0.2s ease;
}

.admin-overlay-toggle_slider::before {
    content: "";
    position: absolute;
    top: 0.16rem;
    left: 0.18rem;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

.admin-overlay-toggle_switch input:checked + .admin-overlay-toggle_slider {
    background: #65ab13;
}

.admin-overlay-toggle_switch input:checked + .admin-overlay-toggle_slider::before {
    transform: translateX(1.28rem);
}

@media screen and (max-width: 767px) {
    body.admin-view-enabled .admin-overlay-toolbar {
        flex-direction: column;
    }

    .admin-overlay-toolbar-actions {
        justify-content: flex-start;
    }
}
