/*
 * PeptaCo Product Detail Page Styles
 * Scoped to .peptaco-product-page (single product only)
 * Follows homepage VI: --pt-navy, --pt-blue, --pt-cyan, rounded cards
 */

.peptaco-product-page {
    --pt-navy: #10233f;
    --pt-blue: #315ff4;
    --pt-blue-dark: #2349c9;
    --pt-cyan: #19a9c6;
    --pt-ink: #14213a;
    --pt-muted: #66758d;
    --pt-surface: #f3f7fb;
    --pt-soft-blue: #edf4ff;
    --pt-line: rgba(16, 35, 63, 0.1);
    --pt-shadow: 0 22px 60px rgba(24, 48, 84, 0.12);
    background: linear-gradient(180deg, #f7fbff 0, #fff 360px);
}

/* ---- inherited theme clean-up ---- */
.peptaco-product-page .single-header-img {
    min-height: 240px;
    background: radial-gradient(circle at top left, rgba(25, 169, 198, 0.18), transparent 38%),
        linear-gradient(135deg, #071a32 0%, #10233f 44%, #315ff4 100%) !important;
    overflow: hidden;
}

.peptaco-product-page .single-header-img .post-thumbnail {
    opacity: 0.16;
    filter: saturate(1.1) contrast(1.05);
}

.peptaco-product-page .single-header-heading .entry-title {
    max-width: 860px;
    margin: 0 auto;
    color: #fff !important;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 800;
    letter-spacing: -1.4px;
    line-height: 1.05;
}

.peptaco-product-page .single-header-heading .breadcrumb,
.peptaco-product-page .single-header-heading .breadcrumb a,
.peptaco-product-page .single-header-heading .breadcrumb span {
    color: rgba(255, 255, 255, 0.82) !important;
}

.peptaco-product-page #content.contentsecwrap,
.peptaco-product-page .contentsecwrap,
.peptaco-product-page .site-content,
.peptaco-product-page .home-container {
    max-width: 1180px;
}

.peptaco-product-page .contentsecwrap .row,
.peptaco-product-page #content .row {
    margin-right: 0;
    margin-left: 0;
}

.peptaco-product-page .woocommerce-breadcrumb {
    display: none;
}

.peptaco-product-page div.product {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 44px;
    margin-top: -56px;
    padding: 32px;
    border: 1px solid rgba(16, 35, 63, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--pt-shadow);
    backdrop-filter: blur(12px);
}

.peptaco-product-page div.product::before,
.peptaco-product-page div.product::after {
    display: none !important;
}

.peptaco-product-page div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.peptaco-product-page div.product .summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.peptaco-product-page .woocommerce-product-gallery__wrapper {
    margin: 0;
}

.peptaco-product-page .woocommerce-product-gallery__image:first-child,
.peptaco-product-page .woocommerce-product-gallery__image--placeholder {
    position: relative;
    /* display: flex !important; */
    align-items: center;
    justify-content: center;
    /* min-height: 420px; */
    border: 1px solid rgba(49, 95, 244, 0.1);
    border-radius: 24px;
    background:
        radial-gradient(circle at 28% 20%, rgba(25, 169, 198, 0.18), transparent 26%),
        radial-gradient(circle at 82% 72%, rgba(49, 95, 244, 0.16), transparent 28%),
        linear-gradient(145deg, #f7fbff 0%, #eef5ff 100%);
    overflow: hidden;
}

/* .peptaco-product-page .woocommerce-product-gallery__image::before, */
/* .peptaco-product-page .woocommerce-product-gallery__image--placeholder::before { */
/*     content: 'PeptaCo'; */
/*     position: absolute; */
/*     top: 22px; */
/*     left: 22px; */
/*     display: inline-flex; */
/*     align-items: center; */
/*     min-height: 30px; */
/*     padding: 6px 12px; */
/*     border-radius: 999px; */
/*     background: rgba(255, 255, 255, 0.82); */
/*     color: var(--pt-blue); */
/*     font-size: 12px; */
/*     font-weight: 800; */
/*     letter-spacing: 0.08em; */
/*     text-transform: uppercase; */
/*     box-shadow: 0 8px 24px rgba(16, 35, 63, 0.08); */
/* } */
/*  */
/* .peptaco-product-page .woocommerce-product-gallery__image::after, */
/* .peptaco-product-page .woocommerce-product-gallery__image--placeholder::after { */
/*     content: 'Research compound\\A batch-specific documentation available'; */
/*     white-space: pre; */
/*     position: absolute; */
/*     right: 22px; */
/*     bottom: 22px; */
/*     left: 22px; */
/*     padding: 18px; */
/*     border: 1px solid rgba(255, 255, 255, 0.55); */
/*     border-radius: 18px; */
/*     background: rgba(255, 255, 255, 0.72); */
/*     color: var(--pt-ink); */
/*     font-size: 13px; */
/*     font-weight: 600; */
/*     line-height: 1.55; */
/*     box-shadow: 0 12px 30px rgba(16, 35, 63, 0.08); */
/*     backdrop-filter: blur(10px); */
/* } */

.peptaco-product-page .woocommerce-product-gallery img {
    max-width: 100% !important;
    max-height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 26px 38px rgba(16, 35, 63, 0.16));
}

.peptaco-product-page .product_title.entry-title {
    color: var(--pt-navy) !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 800 !important;
    letter-spacing: -1.1px;
    line-height: 1.08;
    margin-bottom: 16px !important;
}

.peptaco-product-page .woocommerce-product-details__short-description {
    color: var(--pt-muted);
    font-size: 16px;
    line-height: 1.68;
}

/* ---- layout ---- */
.peptaco-product-page .pt-product-summary-extras {
    margin-top: 24px;
}

.peptaco-product-page .pt-product-detail-sections {
    grid-column: 1 / -1;
    max-width: 1180px;
    margin: 54px auto 0;
    padding: 0;
}

/* ---- spec card ---- */
.pt-spec-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.pt-spec-item {
    position: relative;
    min-height: 84px;
    border: 1px solid rgba(49, 95, 244, 0.1);
    border-radius: 16px;
    padding: 16px 18px;
    background: linear-gradient(180deg, #fff 0%, var(--pt-surface) 100%);
    box-shadow: 0 8px 22px rgba(16, 35, 63, 0.045);
}

.pt-spec-item::after {
    content: '';
    position: absolute;
    top: 14px;
    right: 14px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pt-cyan);
    box-shadow: 0 0 0 5px rgba(25, 169, 198, 0.12);
}

.pt-spec-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pt-muted);
    margin-bottom: 8px;
}

.pt-spec-value {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--pt-ink);
}

/* ---- CTA buttons ---- */
.pt-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.pt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 24px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.pt-btn:hover {
    transform: translateY(-2px);
}

.pt-btn-primary {
    background: linear-gradient(135deg, var(--pt-blue), var(--pt-cyan));
    color: #fff !important;
    box-shadow: 0 16px 30px rgba(49, 95, 244, 0.24);
}

.pt-btn-primary:hover {
    background: linear-gradient(135deg, var(--pt-blue-dark), #158fa8);
    box-shadow: 0 20px 34px rgba(49, 95, 244, 0.3);
}

.pt-btn-outline {
    background: #fff;
    color: var(--pt-navy) !important;
    border: 1.5px solid rgba(16, 35, 63, 0.16);
    box-shadow: 0 10px 24px rgba(16, 35, 63, 0.06);
}

.pt-btn-outline:hover {
    border-color: rgba(49, 95, 244, 0.4);
    background: rgba(49, 95, 244, 0.06);
}

/* ---- service badges ---- */
.pt-service-badges {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
}

.pt-service-badge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(16, 35, 63, 0.08);
    border-radius: 14px;
    background: rgba(243, 247, 251, 0.78);
}

.pt-service-badge span {
    color: var(--pt-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pt-service-badge strong {
    color: var(--pt-ink);
    font-size: 13px;
    font-weight: 800;
    text-align: right;
}

/* ---- sections ---- */
.pt-section {
    position: relative;
    margin-top: 28px;
    padding: 34px;
    border: 1px solid rgba(16, 35, 63, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 34px rgba(16, 35, 63, 0.06);
    overflow: hidden;
}

.pt-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--pt-blue), var(--pt-cyan));
    opacity: 0.82;
}

.pt-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 24px;
    font-weight: 800;
    color: var(--pt-navy);
    margin: 0 0 20px;
    letter-spacing: -0.5px;
}

.pt-section-title::before {
    content: '';
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--pt-blue);
    box-shadow: 0 0 0 6px rgba(49, 95, 244, 0.1);
    flex: 0 0 auto;
}

/* ---- important note ---- */
.pt-important-note {
    background: linear-gradient(135deg, #fff 0%, #f4f8ff 100%);
}

.pt-note-body p {
    color: var(--pt-ink);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

/* ---- overview ---- */
.pt-overview-body p {
    color: var(--pt-ink);
    font-size: 16px;
    line-height: 1.76;
    margin: 0 0 14px;
}

/* ---- spec table ---- */
.pt-spec-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--pt-line);
    border-radius: 16px;
}

.pt-spec-table tr {
    border-bottom: 1px solid var(--pt-line);
}

.pt-spec-table tr:last-child {
    border-bottom: none;
}

.pt-spec-table th {
    width: 220px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--pt-line);
    background: var(--pt-surface);
    font-size: 13px;
    font-weight: 800;
    color: var(--pt-muted);
    text-align: left;
    vertical-align: top;
}

.pt-spec-table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--pt-line);
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    color: var(--pt-ink);
}

.pt-spec-table tr:last-child th,
.pt-spec-table tr:last-child td {
    border-bottom: 0;
}

/* ---- quality ---- */
.pt-quality-intro {
    color: var(--pt-ink);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 22px;
}

.pt-quality-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pt-quality-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(49, 95, 244, 0.1);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff 0%, var(--pt-surface) 100%);
}

.pt-quality-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(49, 95, 244, 0.1);
    color: var(--pt-blue);
    font-size: 18px;
    flex-shrink: 0;
}

.pt-quality-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--pt-ink);
    line-height: 1.5;
}

/* ---- bottom CTA ---- */
.pt-bottom-cta {
    background:
        radial-gradient(circle at top left, rgba(25, 169, 198, 0.16), transparent 32%),
        linear-gradient(135deg, var(--pt-navy), #183a75);
    text-align: center;
    margin-bottom: 48px;
}

.pt-bottom-cta .pt-section-title {
    justify-content: center;
    color: #fff;
}

.pt-bottom-cta .pt-section-title::before {
    background: var(--pt-cyan);
    box-shadow: 0 0 0 6px rgba(25, 169, 198, 0.18);
}

.pt-bottom-cta-text {
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    line-height: 1.72;
    max-width: 680px;
    margin: 0 auto 24px;
}

.pt-bottom-cta .pt-cta-row {
    justify-content: center;
}

.pt-bottom-cta .pt-btn-outline {
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.28);
}

/* ---- related products polish ---- */
.peptaco-product-page .related.products {
    grid-column: 1 / -1;
    margin-top: 34px;
}

.peptaco-product-page .related.products > h2 {
    color: var(--pt-navy);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 18px;
}

.peptaco-product-page ul.products li.product {
    border: 1px solid rgba(16, 35, 63, 0.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 35, 63, 0.06);
    overflow: hidden;
}

/* ================================================================
   Responsive
   ================================================================ */

@media (max-width: 992px) {
    .peptaco-product-page div.product {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-top: -36px;
        padding: 22px;
    }

    .peptaco-product-page .woocommerce-product-gallery__image:first-child,
    .peptaco-product-page .woocommerce-product-gallery__image--placeholder {
        min-height: 340px;
    }
}

@media (max-width: 768px) {
    .peptaco-product-page .single-header-img {
        min-height: 200px;
    }

    .pt-section {
        padding: 24px 18px;
        margin-top: 24px;
        border-radius: 18px;
    }

    .pt-section-title {
        font-size: 20px;
    }

    .pt-spec-table th {
        width: 120px;
        font-size: 12px;
        padding: 14px 12px;
    }

    .pt-spec-table td {
        padding: 14px 12px;
    }

    .pt-quality-grid {
        grid-template-columns: 1fr;
    }

    .peptaco-product-page .pt-product-detail-sections {
        padding: 0;
    }
}

@media (max-width: 560px) {
    .peptaco-product-page div.product {
        padding: 16px;
        border-radius: 20px;
    }

    .pt-spec-card {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pt-spec-item {
        min-height: auto;
        padding: 14px 16px;
    }

    .pt-cta-row {
        flex-direction: column;
    }

    .pt-btn {
        width: 100%;
    }

    .pt-service-badge {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .pt-service-badge strong {
        text-align: left;
    }

    .peptaco-product-page .woocommerce-product-gallery__image:first-child,
    .peptaco-product-page .woocommerce-product-gallery__image--placeholder {
        min-height: 280px;
    }
}

/* ================================================================
   Product page polish pass — header/sidebar/gallery alignment
   ================================================================ */

/* Replace the default parent-theme header with a cleaner PeptaCo-style bar on product pages. */
.peptaco-product-page #page-site-header.main-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 12px 18px;
    background: linear-gradient(180deg, rgba(247, 251, 255, 0.96), rgba(247, 251, 255, 0.72));
    box-shadow: none;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.peptaco-product-page #page-site-header .theme-menu.head_bg {
    width: min(1180px, 100%);
    margin: 0 auto;
    border: 1px solid rgba(16, 35, 63, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 14px 38px rgba(16, 35, 63, 0.1);
    overflow: hidden;
}

.peptaco-product-page #page-site-header .menu-bg {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 68px;
    margin: 0 !important;
    padding: 0 20px;
}

.peptaco-product-page #page-site-header .col-xl-2,
.peptaco-product-page #page-site-header .col-lg-2,
.peptaco-product-page #page-site-header .head-desc,
.peptaco-product-page #page-site-header .header-info,
.peptaco-product-page #page-site-header .header-btn {
    display: none !important;
}

.peptaco-product-page #page-site-header .col-xl-6,
.peptaco-product-page #page-site-header .col-lg-6,
.peptaco-product-page #page-site-header .col-md-1 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.peptaco-product-page #site-navigation,
.peptaco-product-page #site-navigation .menu-main-menu-container,
.peptaco-product-page #site-navigation .menu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin: 0;
}

.peptaco-product-page #site-navigation .menu {
    gap: 8px;
    padding: 0;
}

.peptaco-product-page #site-navigation .menu > li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.peptaco-product-page #site-navigation .menu > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 14px !important;
    border-radius: 11px;
    color: var(--pt-ink) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    transition: color 180ms ease, background-color 180ms ease;
}

.peptaco-product-page #site-navigation .menu > li > a:hover,
.peptaco-product-page #site-navigation .menu > li.current-menu-item > a,
.peptaco-product-page #site-navigation .menu > li.current_page_parent > a {
    color: var(--pt-blue) !important;
    background: rgba(49, 95, 244, 0.07);
}

/* Remove the default blog sidebar on product pages; it clashes with B2B product detail layout. */
.peptaco-product-page .contentsecwrap .row > .col-lg-9,
.peptaco-product-page .contentsecwrap .row > .col-md-8 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

.peptaco-product-page .contentsecwrap .row > .col-lg-3,
.peptaco-product-page .contentsecwrap .row > .col-md-4,
.peptaco-product-page .widget-area,
.peptaco-product-page #secondary {
    display: none !important;
}

.peptaco-product-page .contentsecwrap {
    max-width: 1240px;
    padding-right: 24px;
    padding-left: 24px;
}

/* Avoid the hero/product card feeling tucked under the header. */
.peptaco-product-page .single-header-img {
    margin-top: 0;
    padding-top: 18px;
}

.peptaco-product-page div.product {
    margin-top: -34px;
}

/* Hide the default placeholder icon and replace it with a subtle lab-vial visual language. */
.peptaco-product-page .woocommerce-product-gallery__image--placeholder img,
.peptaco-product-page .woocommerce-product-gallery__image img[src*="placeholder"] {
    opacity: 0 !important;
}

.peptaco-product-page .woocommerce-product-gallery__image--placeholder::before,
.peptaco-product-page .woocommerce-product-gallery__image::before {
    z-index: 2;
}

/* .peptaco-product-page .woocommerce-product-gallery__image--placeholder::after, */
/* .peptaco-product-page .woocommerce-product-gallery__image::after { */
/*     content: 'Research compound · batch-specific documentation available'; */
/*     right: 26px; */
/*     bottom: 26px; */
/*     left: 26px; */
/*     z-index: 2; */
/*     white-space: normal; */
/*     text-align: center; */
/* } */

/* .peptaco-product-page .woocommerce-product-gallery__wrapper::before { */
/*     content: ''; */
/*     position: absolute; */
/*     top: 50%; */
/*     left: 50%; */
/*     z-index: 1; */
/*     width: 132px; */
/*     height: 184px; */
/*     border: 2px solid rgba(16, 35, 63, 0.16); */
/*     border-radius: 24px 24px 18px 18px; */
/*     background: */
/*         linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.45)), */
/*         linear-gradient(180deg, transparent 0 42%, rgba(49, 95, 244, 0.14) 42% 100%); */
/*     box-shadow: 0 28px 54px rgba(49, 95, 244, 0.14); */
/*     transform: translate(-50%, -50%); */
/* } */
/*  */
/* .peptaco-product-page .woocommerce-product-gallery__wrapper::after { */
/*     content: ''; */
/*     position: absolute; */
/*     top: calc(50% - 116px); */
/*     left: 50%; */
/*     z-index: 1; */
/*     width: 68px; */
/*     height: 24px; */
/*     border: 2px solid rgba(16, 35, 63, 0.16); */
/*     border-bottom: 0; */
/*     border-radius: 14px 14px 4px 4px; */
/*     background: rgba(255, 255, 255, 0.8); */
/*     transform: translateX(-50%); */
/* } */
/*  */
.peptaco-product-page .woocommerce-product-gallery__wrapper {
    position: relative;
}

@media (max-width: 768px) {
    .peptaco-product-page #page-site-header.main-header {
        padding: 8px 10px;
    }

    .peptaco-product-page #page-site-header .menu-bg {
        min-height: 58px;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .peptaco-product-page #site-navigation .menu {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .peptaco-product-page #site-navigation .menu > li > a {
        white-space: nowrap;
    }

    .peptaco-product-page .contentsecwrap {
        padding-right: 12px;
        padding-left: 12px;
    }
}

/* ================================================================
   Product page correction pass — remove clashing parent header/hero/sidebar
   ================================================================ */

/* Parent theme title hero was fighting the product-card layout and caused overlap. */
.peptaco-product-page .single-header-img {
    display: none !important;
}

/* Product pages should start below the clean nav, not tuck underneath it. */
.peptaco-product-page div.product {
    margin-top: 28px !important;
}

/* Make product page nav look like PeptaCo, not the parent laboratory theme. */
.peptaco-product-page #page-site-header.main-header {
    position: sticky !important;
    top: 0;
    z-index: 9999;
    padding: 12px 20px !important;
    border: 0 !important;
    background: rgba(247, 251, 255, 0.92) !important;
    box-shadow: none !important;
}

.peptaco-product-page #page-site-header .theme-menu.head_bg {
    position: relative;
    width: min(1240px, 100%);
    min-height: 74px;
    margin: 0 auto !important;
    border: 1px solid rgba(16, 35, 63, 0.08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 14px 40px rgba(16, 35, 63, 0.1) !important;
    overflow: visible !important;
}

.peptaco-product-page #page-site-header .menu-bg {
    position: relative;
    /* display: flex !important; */
    align-items: center !important;
    justify-content: center !important;
    min-height: 74px !important;
    padding: 0 24px !important;
    border: 0 !important;
    background: transparent !important;
}

.peptaco-product-page #page-site-header .menu-bg::before {
    content: 'PeptaCo';
    position: absolute;
    left: 24px;
    top: 50%;
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding-left: 50px;
    color: var(--pt-navy);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.7px;
    transform: translateY(-50%);
}

.peptaco-product-page #page-site-header .menu-bg::after {
    content: '';
    position: absolute;
    left: 24px;
    top: 50%;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--pt-blue), var(--pt-cyan));
    box-shadow: 0 8px 20px rgba(49, 95, 244, 0.24);
    transform: translateY(-50%);
}

.peptaco-product-page #site-navigation .menu > li > a {
    color: var(--pt-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Parent theme sidebar is blog-oriented and visually clashes with product detail pages. */
.peptaco-product-page .contentsecwrap .row > [class*="col-lg-3"],
.peptaco-product-page .contentsecwrap .row > [class*="col-md-4"],
.peptaco-product-page aside.widget,
.peptaco-product-page .sidebar,
.peptaco-product-page #secondary {
    display: none !important;
}

.peptaco-product-page .contentsecwrap .row > [class*="col-lg-9"],
.peptaco-product-page .contentsecwrap .row > [class*="col-md-8"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

.peptaco-product-page .contentsecwrap,
.peptaco-product-page .container.home-container {
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
}

/* Fix placeholder label overflow. */
/* .peptaco-product-page .woocommerce-product-gallery__image--placeholder::after, */
/* .peptaco-product-page .woocommerce-product-gallery__image::after { */
/*     content: 'Batch-specific documentation available'; */
/*     white-space: normal !important; */
/*     overflow: hidden; */
/*     text-overflow: ellipsis; */
/* } */

/* Ensure the main product card stays balanced after removing the sidebar. */
.peptaco-product-page div.product {
    width: min(1060px, 100%);
    margin-right: auto !important;
    margin-left: auto !important;
}

@media (max-width: 980px) {
    .peptaco-product-page #page-site-header .menu-bg {
        justify-content: flex-start !important;
        padding-left: 18px !important;
        overflow-x: auto;
    }

    .peptaco-product-page #page-site-header .menu-bg::before,
    .peptaco-product-page #page-site-header .menu-bg::after {
        display: none;
    }

    .peptaco-product-page #site-navigation .menu {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
    }

    .peptaco-product-page #site-navigation .menu > li > a {
        white-space: nowrap;
    }
}

/* ================================================================
   Molecular profile / PubChem-style compound card
   ================================================================ */

.pt-eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--pt-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.pt-section-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.pt-section-heading-row .pt-section-title {
    margin-bottom: 0;
}

.pt-purity-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.pt-purity-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(49, 95, 244, 0.1), rgba(25, 169, 198, 0.12));
    color: var(--pt-blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pt-molecular-profile {
    border: 2px solid rgba(16, 35, 63, 0.9);
    background: #fff;
}

.pt-molecular-grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
    gap: 24px;
}

.pt-structure-card,
.pt-profile-table-wrap {
    border: 1.5px solid rgba(16, 35, 63, 0.88);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.pt-structure-card {
    padding: 18px;
}

.pt-structure-card-head {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin-bottom: 18px;
    padding: 7px 14px;
    border: 1.5px solid rgba(16, 35, 63, 0.88);
    border-radius: 999px;
    color: var(--pt-ink);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-structure-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 20px;
    border: 1.5px solid rgba(16, 35, 63, 0.82);
    border-radius: 14px;
    background: radial-gradient(circle at center, #fff 0%, #f8fafc 72%);
}

.pt-structure-image-wrap img {
    max-width: 100%;
    max-height: 260px;
    object-fit: contain;
    filter: grayscale(1) contrast(0.95);
}

.pt-structure-placeholder {
    position: relative;
    min-height: 280px;
    border: 1.5px solid rgba(16, 35, 63, 0.82);
    border-radius: 14px;
    background:
        linear-gradient(30deg, transparent 46%, rgba(16, 35, 63, 0.32) 47% 49%, transparent 50%),
        linear-gradient(150deg, transparent 46%, rgba(16, 35, 63, 0.32) 47% 49%, transparent 50%),
        radial-gradient(circle at 35% 34%, transparent 0 19px, rgba(16, 35, 63, 0.25) 20px 21px, transparent 22px),
        radial-gradient(circle at 66% 62%, transparent 0 17px, rgba(16, 35, 63, 0.25) 18px 19px, transparent 20px),
        #f8fafc;
}

.pt-structure-caption {
    margin: 18px 0 14px;
    color: var(--pt-ink);
    font-size: 13px;
    font-weight: 800;
}

.pt-pubchem-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border-radius: 13px;
    background: #050505;
    color: #fff !important;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none !important;
}

.pt-profile-table {
    width: 100%;
    border-collapse: collapse;
}

.pt-profile-table th,
.pt-profile-table td {
    padding: 18px 20px;
    border-bottom: 1.5px solid rgba(16, 35, 63, 0.88);
    color: var(--pt-ink);
    font-size: 14px;
    line-height: 1.55;
    vertical-align: top;
}

.pt-profile-table th {
    width: 220px;
    background: #f4f6f8;
    font-weight: 900;
    text-align: left;
}

.pt-profile-table td {
    background: #fff;
    font-weight: 700;
}

.pt-profile-table tr:last-child th,
.pt-profile-table tr:last-child td {
    border-bottom: 0;
}

.pt-purity-note {
    margin: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(49, 95, 244, 0.18);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(49, 95, 244, 0.08), rgba(25, 169, 198, 0.1));
    color: var(--pt-ink);
    font-size: 14px;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .pt-section-heading-row {
        display: block;
    }

    .pt-purity-pills {
        justify-content: flex-start;
        margin-top: 16px;
    }

    .pt-molecular-grid {
        grid-template-columns: 1fr;
    }

    .pt-profile-table th {
        width: 160px;
    }
}

@media (max-width: 560px) {
    .pt-profile-table th,
    .pt-profile-table td {
        display: block;
        width: 100%;
        border-bottom: 0;
        padding: 12px 14px;
    }

    .pt-profile-table tr {
        display: block;
        border-bottom: 1.5px solid rgba(16, 35, 63, 0.88);
    }

    .pt-profile-table tr:last-child {
        border-bottom: 0;
    }

    .pt-structure-image-wrap,
    .pt-structure-placeholder {
        min-height: 220px;
    }
}


/* Remove any outline/focus/border from gallery images */
.peptaco-product-page .woocommerce-product-gallery__image a {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.peptaco-product-page .woocommerce-product-gallery__image a:focus,
.peptaco-product-page .woocommerce-product-gallery__image a:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.peptaco-product-page .woocommerce-product-gallery__image img {
    outline: none !important;
    border: none !important;
}
