/* ==========================================================================
   Pine Research Instrumentation
   
   POSSIBLY DEPRECATED

   Kept here to watch pages to see if any styles are used, else, these rules
   did not have an obvious home, and are placed here for possible deletion.
   
   Author: Tim Paschkewitz
   ========================================================================== */

@media screen and (max-width:576px) {

    div#tmp-products-archive-page .et_pb_row {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    div#tmp-product-filters-row {
        margin-bottom: 15px;
    }

    .woocommerce ul.products {
        margin-bottom: 0px;
    }

    .et_pb_cta_0 {
        width: unset !important;
    }

    nav.woocommerce-breadcrumb {
        margin-bottom: 0px !important;
    }

    /* Login Modal */
    .custom-modal-content {
        margin: 40% auto 0 auto;
    }
}

/* Breadcrumbs <<< I don't think we use WC breadcrumbs, or Divi breadcrumbs, anymore. <<<
*/
.woocommerce .woocommerce-breadcrumb {
    color: var(--gray) !important;
    margin-bottom: 20px;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--pri-blue) !important;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--mid-blue-2) !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

.woocommerce .woocommerce-breadcrumb a:focus {
    color: var(--dark-pri-blue) !important;
}

/* Coupons <<< WE DO USE COUPONS NOW! <<<
*/
div.coupon {
    display: none;
}

/* General/Divi Product*/
.et_pb_gutters3.et-db #et-boc .et-l .et_pb_column_4_4 .et_pb_shop_grid .woocommerce ul.products li.product {
    margin-bottom: 3%;
}

/* WC Price <<< I think we use pri-cw namespaced rules now <<<
*/
.tmp-price-block {
    display: flex;
    flex-flow: column nowrap;
    padding-top: 0.5em;
    align-items: center;
}

.tmp-price-block.single-product {
    row-gap: 10px;
}

.tmp-price-block.category-page {
    align-items: center;
}

div.price-entry {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    column-gap: 5px;
}

div.sale-price .price-value {
    font-weight: bold;
}

.strikethrough-text {
    text-decoration: line-through;
    text-decoration-color: var(--pink);
    text-decoration-thickness: 1px;
    margin-left: 1px;
    margin-right: 3px;
}

.upsell-price {
    align-items: center;
}

/* PRICING (WoocCommerce) */
#page-container ul.products.loop-grid li a.woocommerce-LoopProduct-link.woocommerce-loop-product__link span.price,
#page-container ul.products.loop-grid li a.woocommerce-LoopProduct-link.woocommerce-loop-product__link span.price .amount {
    font-size: unset !important;
    display: unset !important;
    font-weight: unset !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    font-size: unset !important;
}

.price-row[data-price-type="regular"] bdi {
    position: relative;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(186, 55, 125, 0.6);
    text-decoration-skip-ink: none;
    display: inline-block;
}

.price-row[data-price-type="regular"] bdi::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -8px;
    right: -8px;
    height: 2px;
    background-color: rgba(186, 55, 125, 0.6);
}

.pri-price-block[data-price-location="archive"] {
    font-size: 0.9em;
    row-gap: 0.6em;
    align-items: center;
}

.pri-price-block[data-price-location="single-main"] {
    row-gap: 1em;
    font-size: 1em;
}

.upsells .pri-price-block {
    font-size: 0.9em;
    row-gap: 0.5em;
    padding-top: 0.5em;
    align-items: center;
}

.pri-price-block .price-row {
    width: fit-content;
}

.price-row[data-price-type="regular"] {
    color: var(--gray);
}

.pri-price-block[data-price-location="single-main"] .price-row[data-price-type="sale"],
.pri-price-block[data-price-location="archive"] .price-row[data-price-type="sale"] {
    padding: 0.5em;
    background: linear-gradient(to bottom, var(--mid-blue-2), rgba(0, 0, 0, 0));
    color: var(--dark-pri-blue);
}

.price-row[data-price-type="sale"] bdi {
    font-weight: 700;
    font-size: 1.1em;
}

@media screen and (max-width:576px) {

    span.price .tmp-price-block .price-entry {
        flex-flow: column nowrap;
        line-height: 1.5em;
    }

    .strikethrough-text {
        margin: unset;
    }
}

div#compatible-products div.tmp-price-block.single-product {
    row-gap: 0px;
}

.tmp-related-products {
    margin-bottom: 15px;
    padding-left: 20px;
}

/* ATTRIBUTES  <<< Seems dated and possibly replaced <<<
*/
.et_pb_wc_additional_info table.shop_attributes {
    margin-left: 20px;
    margin-right: 20px;
}

.woocommerce table.shop_attributes td {
    font-style: normal;
    border-bottom: 1px solid var(--lighter-gray);
}

.woocommerce table.shop_attributes th {
    border-bottom: 1px solid var(--lighter-gray);
    width: 40% !important;
}

.woocommerce table.shop_attributes {
    border-top: 1px solid var(--lighter-gray);
}

.tmp-pa-title {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 1em;
}

.tmp-pa-subtext {
    margin-bottom: 30px;
}

.custom-element-wrap .text {
    margin-left: 20px;
}

/* Custom Elements Container */
.custom-elements-container {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 3em;
}

/* Registration  <<< Pretty sure this is legacy WC registration, which we no longer use in favor of AJAX modal method <<<
*/
div.account-registration-wrapper>form {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 5px;
}

div.account-registration-wrapper>form>p.form-row.form-row-first,
div.account-registration-wrapper>form>p.form-row.form-row-last {
    width: 100%;
}

p.form-row.form-row-country>span {
    width: unset;
}

.page-template-shop-my-account-page #main-content>div>div>div>div>div>div.et_pb_module.et_pb_heading.et_pb_heading_0_tb_body.et_pb_bg_layout_>div>h1 {
    display: none;
}

.woocommerce-message>a.restore-item:hover {
    color: var(--mid-blue-2) !important;
}

/* References */
ol.zotero-references-list {
    list-style-position: outside !important;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    flex-flow: column wrap;
    row-gap: 8px;
}

ol.zotero-references-list>li {
    line-height: 1.4em;
}

.custom-subsection {
    margin-bottom: 10px !important;
}

#product-references-section {
    margin-bottom: 10px !important;
}

.product-element-title {
    margin-bottom: 0.5em;
}

.pine-button {
    border: 1px solid var(--pri-blue) !important;
    background-color: var(--pri-blue) !important;
    padding: 8px 12px !important;
    color: var(--white) !important;
    border-radius: 8px !important;
}

.pine-button:hover {
    background-color: var(--mid-blue-2) !important;
    border: 1px solid var(--mid-blue-1) !important;
    color: var(--dark-pri-blue) !important;
    cursor: pointer;
}

#pri-header {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

#pri-header .header-left {
    width: 10%;
}

#pri-header .header-right {
    min-width: 80%;
}

#quote-billing-form {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 0.4em;
}

#quote-billing-form .field-group {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 1em;
}

#quote-billing-form .field-group .label-input {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 0.2em;
    width: 100%;
}

#quote-billing-form .field-group.button {
    display: inline-flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.pri_gf-wrapper {
    padding: 1em !important;
}

/* QUOTE MODAL <<< Will not be needed after we switch to PRI QU <<<
*/
#quote-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 80, 108, 0.7);
    /* Semi-transparent background */
    z-index: 9998;
    /* Ensure the overlay is below the modal */
}

#quote-modal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    background: #fff;
    max-width: 500px;
    width: 90%;
    padding: 20px;
    text-align: center;
    /* Ensure content (like spinner) is centered */
}

#quote-modal .quote-modal-content {
    text-align: left;
}

#quote-modal input {
    width: 100%;
    /* Full width */
    margin-bottom: 10px;
    /* Spacing between inputs */
    height: 3em;
    padding: 0 0.5em;
}

#quote-modal label {
    color: var(--mid-blue-1);
    font-weight: 700;
    padding-bottom: 0.2em;
}

#quote-modal button {
    display: inline-block;
}

#quote-modal .close-modal {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 24px;
    color: var(--pink);
    cursor: pointer;
}

#quote-modal .close-modal:hover {
    color: var(--light-pink);
}

.loading-spinner {
    display: none;
    /* Initially hidden */
    text-align: center;
    margin-top: 20px;
    color: var(--dark-pri-blue);
}

.loading-spinner svg {
    width: 60px;
    height: 60px;
    fill: var(--dark-pri-blue);
    stroke: var(--dark-pri-blue);
}

.request-quote-wrapper {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    row-gap: 1em;
    padding: 0 1em 30px;
}

.request-quote-wrapper .text {
    font-style: italic;
    font-size: 0.9em;
}

/* PASSWORD RESET <<< Maybe used with Ajax Login plugin? <<<
*/
form#custom-forgot-password-form {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 20px;
}

.message {
    display: block;
    width: 60%;
    margin: 10px auto;
    padding: 10px;
    font-weight: 700;
}

.retry {
    border: 2px solid var(--orange);
    color: var(--orange);
    background-color: var(--light-orange);
}

.error {
    border: 2px solid var(--pink);
    color: var(--pink);
    background-color: var(--light-pink);
}

.success {
    border: 2px solid var(--green);
    color: var(--green);
    background-color: var(--light-green);
}

div.form-field.email {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    column-gap: 8px;
}

div.form-field.email>label {
    font-weight: 700;
}

div.form-field.email>input {
    line-height: 2.2em;
    padding: 5px;
    width: 40%;
}

span.pa-icon:before {
    font-family: ETmodules !important;
    content: '\e03e' !important;
    color: var(--pri-blue) !important;
}

#main-content>div>div>div>div>div>div.et_pb_module.et_pb_text.et_pb_text_0_tb_body.et_pb_text_align_left.et_pb_bg_layout_light>div>div::before,
#main-content>div>div>div>div>div>div.et_pb_module.et_pb_text.et_pb_text_0_tb_body.et_pb_text_align_left.et_pb_bg_layout_light>div>div::after {
    content: unset;
    display: unset;
    clear: unset;
}

td.product-remove a.remove {
    font-size: 20px;
}