/* Product details: explicit Divi selectors override existing module CSS without
 * changing the theme or hiding WooCommerce's real warnings and validation. */

body.single-product.trsp-product-ui .woocommerce-breadcrumb,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .woocommerce-breadcrumb {
    color: #445E86 !important;
    font: 500 13px/1.7 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
}

body.single-product.trsp-product-ui .woocommerce-breadcrumb a,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .woocommerce-breadcrumb a {
    color: #445E86 !important;
    font: inherit !important;
    text-decoration: none !important;
}

body.single-product.trsp-product-ui .woocommerce-breadcrumb a:hover,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .woocommerce-breadcrumb a:hover,
body.single-product.trsp-product-ui .woocommerce-breadcrumb a:focus-visible,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .woocommerce-breadcrumb a:focus-visible,
body.single-product.trsp-product-ui .product_meta .trs-brand-value a:hover,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-value a:hover,
body.single-product.trsp-product-ui .product_meta .trs-brand-value a:focus-visible,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-value a:focus-visible {
    color: #D1232A !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

body.single-product.trsp-product-ui .product_meta,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 8px 22px !important;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .product_meta .sku_wrapper,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .sku_wrapper,
body.single-product.trsp-product-ui .product_meta .trs-brand-wrapper,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-wrapper {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product.trsp-product-ui .product_meta .sku_wrapper.trsp-sku-enhanced::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .sku_wrapper.trsp-sku-enhanced::before,
body.single-product.trsp-product-ui .product_meta .trs-brand-wrapper::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-wrapper::before {
    content: none !important;
    display: none !important;
}

body.single-product.trsp-product-ui .product_meta .trsp-sku-label,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trsp-sku-label,
body.single-product.trsp-product-ui .product_meta .trs-brand-label,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-label {
    margin: 0 !important;
    color: #445E86 !important;
    font: 600 13px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    user-select: text !important;
    -webkit-user-select: text !important;
    cursor: text;
}

body.single-product.trsp-product-ui .product_meta .sku,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .sku,
body.single-product.trsp-product-ui .product_meta .trs-brand-value,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-value,
body.single-product.trsp-product-ui .product_meta .trs-brand-value a,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .product_meta .trs-brand-value a {
    color: #26354A !important;
    font: 600 14px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    user-select: text !important;
    -webkit-user-select: text !important;
}

body.single-product.trsp-product-ui .trs-product-price .price,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-product-price .price,
body.single-product.trsp-product-ui .summary > .price,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .summary > .price {
    color: #26354A !important;
    font: 600 28px/1.25 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    margin: 0 !important;
}

body.single-product.trsp-product-ui .trs-product-price:has(.tuners-call-pricing),
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-product-price:has(.tuners-call-pricing) {
    min-width: 0 !important;
    max-width: 100% !important;
    width: fit-content !important;
}

body.single-product.trsp-product-ui .trs-product-price .price:has(.tuners-call-pricing),
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-product-price .price:has(.tuners-call-pricing),
body.single-product.trsp-product-ui .summary > .price:has(.tuners-call-pricing),
body.single-product.trsp-product-ui #page-container #et-boc .et-l .summary > .price:has(.tuners-call-pricing) {
    font-size: 18px !important;
    line-height: 1.35 !important;
}

body.single-product.trsp-product-ui .trs-product-stock .stock,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-product-stock .stock {
    font: 600 13px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .trs-product-stock .stock.out-of-stock,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-product-stock .stock.out-of-stock {
    color: #B4232A !important;
}

body.single-product.trsp-product-ui .et_pb_wc_description,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .et_pb_wc_description,
body.single-product.trsp-product-ui .woocommerce-product-details__short-description,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .woocommerce-product-details__short-description {
    color: #334155 !important;
    font: 400 14px/1.7 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .trs-product-summary .et_pb_wc_description p,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-product-summary .et_pb_wc_description p,
body.single-product.trsp-product-ui .woocommerce-product-details__short-description p,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .woocommerce-product-details__short-description p {
    margin: 0 0 8px !important;
    padding: 0 !important;
}

body.single-product.trsp-product-ui .trs-sh-product-notice,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-sh-product-notice,
body.single-product.trsp-product-ui .trs-sh-product-notice strong,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-sh-product-notice strong,
body.single-product.trsp-product-ui .trs-sh-product-notice span,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-sh-product-notice span,
body.single-product.trsp-product-ui .trs-vf-compatibility,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-vf-compatibility,
body.single-product.trsp-product-ui .trs-vf-compatibility strong,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-vf-compatibility strong,
body.single-product.trsp-product-ui .trs-vf-compatibility span,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-vf-compatibility span {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    font-style: normal !important;
}

body.single-product.trsp-product-ui .trs-sh-product-notice,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trs-sh-product-notice {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.single-product.trsp-product-ui .trsp-order-options,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options {
    order: 1 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 4px !important;
    border: 1px solid #D7DFE9 !important;
    border-radius: 8px !important;
    background: #FFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .trsp-order-options__summary,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 58px !important;
    padding: 15px 18px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #F6F8FB !important;
    color: #26354A !important;
    font: 600 15px/1.45 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    text-transform: none !important;
    list-style: none !important;
    cursor: pointer;
    box-sizing: border-box;
}

body.single-product.trsp-product-ui .trsp-order-options__summary::-webkit-details-marker,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary::-webkit-details-marker,
body.single-product.trsp-product-ui .trsp-order-options__summary::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary::before,
body.single-product.trsp-product-ui .trsp-order-options__summary::after,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary::after {
    content: none !important;
    display: none !important;
}

body.single-product.trsp-product-ui .trsp-order-options__summary:hover,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary:hover {
    background: #EDF2F8 !important;
}

body.single-product.trsp-product-ui .trsp-order-options__summary:focus-visible,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary:focus-visible {
    outline: 2px solid #445E86 !important;
    outline-offset: 3px !important;
}

body.single-product.trsp-product-ui .trsp-order-options__title,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__title {
    flex: 1 1 auto;
    min-width: 0;
}

body.single-product.trsp-product-ui .trsp-order-options__count,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__count {
    color: #5A6A7E !important;
    font: 500 12px/1.4 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    white-space: nowrap;
}

body.single-product.trsp-product-ui .trsp-order-options__arrow,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__arrow {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #445E86;
    border-bottom: 2px solid #445E86;
    margin: -4px 2px 0 4px;
    transform: rotate(45deg);
}

body.single-product.trsp-product-ui .trsp-order-options[open] > summary .trsp-order-options__arrow,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options[open] > summary .trsp-order-options__arrow {
    margin-top: 4px;
    transform: rotate(225deg);
}

body.single-product.trsp-product-ui .trsp-order-options[open] > summary,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options[open] > summary {
    border-radius: 8px 8px 0 0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

body.single-product.trsp-product-ui .trsp-order-options > .wc-pao-addons-container,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options > .wc-pao-addons-container {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-radius: 0 0 8px 8px !important;
    background: #FFF !important;
    box-shadow: none !important;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .trsp-order-options > .wc-pao-addons-container::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options > .wc-pao-addons-container::before {
    content: none !important;
    display: none !important;
}

body.single-product.trsp-product-ui .trsp-order-options .wc-pao-addon-name,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options .wc-pao-addon-name,
body.single-product.trsp-product-ui .trsp-order-options .wc-pao-addon label,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options .wc-pao-addon label {
    color: #26354A !important;
    font: 600 14px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .trsp-order-options .wc-pao-addon-description,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options .wc-pao-addon-description,
body.single-product.trsp-product-ui .trsp-order-options .wc-pao-addon-description p,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options .wc-pao-addon-description p {
    color: #5A6A7E !important;
    font: 400 12px/1.6 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .trsp-order-options select,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options select,
body.single-product.trsp-product-ui .trsp-order-options input,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options input,
body.single-product.trsp-product-ui .trsp-order-options textarea,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options textarea {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .wc-pao-addons-container #required_addons_validation_message,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .wc-pao-addons-container #required_addons_validation_message {
    margin: 12px 0 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #D7DFE9 !important;
    border-radius: 5px !important;
    background: #F6F8FB !important;
    box-shadow: none !important;
    color: #334155 !important;
    font: 500 13px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body.single-product.trsp-product-ui .wc-pao-addons-container #required_addons_validation_message::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .wc-pao-addons-container #required_addons_validation_message::before {
    content: none !important;
    display: none !important;
}

body.single-product.trsp-product-ui .wc-pao-addons-container #required_addons_validation_message:empty,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .wc-pao-addons-container #required_addons_validation_message:empty,
body.single-product.trsp-product-ui .wc-pao-addons-container #required_addons_validation_message.trsp-empty-addon-notice,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .wc-pao-addons-container #required_addons_validation_message.trsp-empty-addon-notice {
    display: none !important;
}

@media (max-width: 767px) {
body.single-product.trsp-product-ui .trsp-order-options__summary,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options__summary {
    padding: 14px !important;
    gap: 8px !important;
    font-size: 14px !important;
}
}

@media (max-width: 767px) {
body.single-product.trsp-product-ui .trsp-order-options > .wc-pao-addons-container,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options > .wc-pao-addons-container {
    padding: 14px !important;
}
}

@media (max-width: 767px) {
body.single-product.trsp-product-ui .trsp-order-options select,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options select,
body.single-product.trsp-product-ui .trsp-order-options input:not([type="checkbox"]):not([type="radio"]),
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options input:not([type="checkbox"]):not([type="radio"]),
body.single-product.trsp-product-ui .trsp-order-options textarea,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-order-options textarea {
    font-size: 16px !important;
}
}

/* Consistent availability badges; WooCommerce supplies the status and wording. */
body.single-product.trsp-product-ui :is(.trs-product-summary, .summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock,
body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.trs-product-summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock {
    --trsp-stock-ink: #176442;
    --trsp-stock-bg: #eef8f2;
    --trsp-stock-border: #c5e5d1;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 11px !important;
    border: 1px solid var(--trsp-stock-border) !important;
    border-radius: 999px !important;
    background: var(--trsp-stock-bg) !important;
    color: var(--trsp-stock-ink) !important;
    font: 600 12px/1.4 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    letter-spacing: .01em !important;
    text-transform: capitalize !important;
    white-space: normal !important;
    box-shadow: none !important;
}
body.single-product.trsp-product-ui :is(.trs-product-summary, .summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock.out-of-stock,
body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.trs-product-summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock.out-of-stock {
    --trsp-stock-ink: #a7232b;
    --trsp-stock-bg: #fff1f2;
    --trsp-stock-border: #f0c6ca;
}
body.single-product.trsp-product-ui :is(.trs-product-summary, .summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock.available-on-backorder,
body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.trs-product-summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock.available-on-backorder {
    --trsp-stock-ink: #825510;
    --trsp-stock-bg: #fff8e8;
    --trsp-stock-border: #ead8aa;
}
body.single-product.trsp-product-ui :is(.trs-product-summary, .summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.trs-product-summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock::before {
    content: '' !important;
    display: inline-block !important;
    position: static !important;
    flex: 0 0 6px !important;
    width: 6px !important;
    height: 6px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: currentColor !important;
}
body.single-product.trsp-product-ui .stock.trsp-stock-duplicate,
body.single-product.trsp-product-ui .trsp-empty-stock-module,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .stock.trsp-stock-duplicate,
body.single-product.trsp-product-ui #page-container #et-boc .et-l .trsp-empty-stock-module {
    display: none !important;
}

/* Keep one dot when an availability label already contains its own bullet. */
body.single-product.trsp-product-ui :is(.trs-product-summary, .summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock.trsp-stock-has-text-dot::before,
body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.trs-product-summary, .et_pb_wc_stock, .et_pb_wc_add_to_cart) .stock.trsp-stock-has-text-dot::before {
    content: none !important;
    display: none !important;
}

/* Divi's image/card resets remove the fitment badge's original top margin. */
body.single-product.trsp-product-ui :is(.up-sells, .related, .cross-sells) ul.products > li.product .trs-vf-loop-badge,
body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.up-sells, .related, .cross-sells) ul.products > li.product .trs-vf-loop-badge {
    margin-top: 6px !important;
    flex-shrink: 0;
}

/* WooCommerce's phone percentage widths must not size a card again inside
 * Divi's two-column grid. Each card occupies the whole grid track. */
@media (max-width: 767px) {
    body.single-product.trsp-product-ui :is(.up-sells, .related, .cross-sells) ul.products,
    body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.up-sells, .related, .cross-sells) ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product.trsp-product-ui :is(.up-sells, .related, .cross-sells) ul.products::before,
    body.single-product.trsp-product-ui :is(.up-sells, .related, .cross-sells) ul.products::after,
    body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.up-sells, .related, .cross-sells) ul.products::before,
    body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.up-sells, .related, .cross-sells) ul.products::after {
        content: none !important;
        display: none !important;
    }

    body.single-product.trsp-product-ui :is(.up-sells, .related, .cross-sells) ul.products > li.product,
    body.single-product.trsp-product-ui #page-container #et-boc .et-l :is(.up-sells, .related, .cross-sells) ul.products > li.product {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        float: none !important;
        clear: none !important;
        justify-self: stretch !important;
        box-sizing: border-box !important;
    }
}
