/* IndoSurgicals CGS Unified Runtime v1.0.0
   Generated from the 2026-10-01 live baseline.
   One page-family stylesheet; data/content remains database controlled. */

/* ===== source: css/product-detail-modern.css ===== */
/* IndoSurgicals modern product-detail page — scoped to .isp-product-page */
.isp-product-page,
.isp-product-page * {
    box-sizing: border-box;
}

.isp-product-page {
    --isp-navy: #405365;
    --isp-navy-dark: #273c4d;
    --isp-teal: #008f87;
    --isp-teal-dark: #00746f;
    --isp-mint: #63c4ad;
    --isp-red: #008f87;
    --isp-red-dark: #00746f;
    --isp-blue: #008f87;
    --isp-text: #263746;
    --isp-muted: #687986;
    --isp-line: #d8e2e3;
    --isp-soft: #f4f7f7;
    --isp-teal-soft: #eaf7f5;
    --isp-white: #ffffff;
    --isp-success: #008f87;
    width: 100%;
    color: var(--isp-text);
    font-family: Arial, Helvetica, sans-serif;
    padding: 18px 0 38px;
}

.isp-product-page.inner_full_panel,
.isp-product-page #product_box {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.isp-product-shell {
    width: 100%;
}

.isp-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
    gap: 0px;
    align-items: start;
}

.isp-product-gallery-card,
.isp-product-summary,
.isp-product-details-section {
    min-width: 0;
}

.isp-product-gallery-card {
    position: sticky;
    top: 0px;
    padding:15px;
}

.isp-product-gallery {
    border: 1px solid var(--isp-line);
    border-radius: 16px;
    background: var(--isp-white);
    box-shadow: 0 12px 30px rgba(39, 60, 77, 0.08);
    padding: 20px;
}

.isp-gallery-stage {
    position: relative;
    overflow: hidden;
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    /*background: linear-gradient(145deg, #ffffff 0%, #f3f7f7 100%);*/
}

.isp-main-image-link {
    width: 100%;
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none !important;
}

.isp-main-image-link img {
    display: block;
    width: 100% !important;
    max-width: 620px;
    /*height: 470px !important;*/
    object-fit: contain;
    /*padding: 12px;*/
    border: 0 !important;
}

.isp-image-zoom-hint {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 8px 11px;
    border: 1px solid rgba(64, 83, 101, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--isp-navy);
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 4px 16px rgba(39, 60, 77, 0.09);
}

.isp-gallery-thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 14px 2px 2px;
    scrollbar-width: thin;
}

.isp-gallery-thumb {
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    padding: 5px;
    border: 1px solid var(--isp-line);
    border-radius: 10px;
    background: var(--isp-white);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.isp-gallery-thumb:hover,
.isp-gallery-thumb:focus,
.isp-gallery-thumb.is-active {
    border-color: var(--isp-red);
    box-shadow: 0 0 0 3px rgba(0, 143, 135, 0.12);
    transform: translateY(-1px);
    outline: none;
}

.isp-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.isp-gallery-empty {
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--isp-soft);
    color: var(--isp-muted);
    font-weight: 700;
}

.isp-product-summary {
    padding: 15px;
}

.isp-product-eyebrow,
.isp-section-heading > span,
.isp-quote-kicker {
    display: block;
    color: var(--isp-red);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.isp-product-summary h1 {
    margin: 8px 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--isp-navy-dark) !important;
    font-size: clamp(30px, 3vw, 43px) !important;
    line-height: 1.14 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em;
    text-align: left !important;
}

.isp-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 18px;
}

.isp-product-meta > span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #d7e3e2;
    border-radius: 8px;
    background: #f8fbfa;
    color: var(--isp-muted);
    font-size: 13px;
}

.isp-product-meta strong {
    color: var(--isp-navy);
    font-size: 11px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.isp-service-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 20px;
}

.isp-service-points span {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 10px 10px 10px 34px;
    border: 1px solid #d8e8e5;
    border-radius: 9px;
    background: #f7fbfa;
    color: var(--isp-navy);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
}

.isp-service-points span::before {
    content: "✓";
    position: absolute;
    left: 11px;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--isp-teal);
    color: #fff;
    font-size: 10px;
    box-shadow: 0 3px 8px rgba(0, 143, 135, 0.22);
}

.isp-quote-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #cfdddd;
    border-top: 4px solid var(--isp-teal);
    border-radius: 15px;
    background: var(--isp-white);
    box-shadow: 0 17px 42px rgba(39, 60, 77, 0.12);
}

.isp-quote-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px 17px;
    border-bottom: 1px solid #dce6e6;
    background: #ffffff;
}

.isp-quote-heading h2 {
    margin: 3px 0 0 !important;
    padding: 0 !important;
    color: var(--isp-navy-dark) !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.isp-quote-badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid #cfe9e5;
    border-radius: 999px;
    background: var(--isp-teal-soft);
    color: var(--isp-teal-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.isp-quote-card form {
    margin: 0;
    padding: 20px;
    background: linear-gradient(180deg, #fbfdfd 0%, #ffffff 100%);
}

.isp-variant-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.isp-form-field {
    min-width: 0;
}

.isp-form-field label {
    display: block;
    margin: 0 0 7px;
    color: var(--isp-navy);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 800;
}

.isp-form-field select,
.isp-form-field input {
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #cbd9da !important;
    border-radius: 8px !important;
    background-color: var(--isp-white) !important;
    color: var(--isp-text) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    box-shadow: none !important;
    outline: none;
}

.isp-form-field select:focus,
.isp-form-field input:focus {
    border-color: var(--isp-blue) !important;
    box-shadow: 0 0 0 3px rgba(0, 143, 135, 0.13) !important;
}

.isp-quote-actions {
    display: grid;
    grid-template-columns: 122px minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.isp-primary-button {
    width: 100%;
    min-height: 46px;
    padding: 12px 17px;
    border: 1px solid var(--isp-teal);
    border-radius: 8px;
    background: linear-gradient(135deg, var(--isp-teal) 0%, #087d78 100%);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(0, 143, 135, 0.20);
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.isp-primary-button:hover,
.isp-primary-button:focus {
    border-color: var(--isp-teal-dark);
    background: linear-gradient(135deg, #007f79 0%, var(--isp-teal-dark) 100%);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0, 116, 111, 0.25);
    outline: none;
}

.isp-quote-note {
    margin: 14px 0 0;
    padding: 9px 11px;
    border-left: 3px solid var(--isp-mint);
    border-radius: 0 6px 6px 0;
    background: #f5faf9;
    color: var(--isp-muted);
    font-size: 12px;
    line-height: 1.55;
}

.isp-contact-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 20px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: var(--isp-navy);
    color: #fff;
}

.isp-contact-strip small,
.isp-contact-strip strong {
    display: block;
}

.isp-contact-strip small {
    margin-bottom: 2px;
    color: #d8e4e8;
    font-size: 11px;
}

.isp-contact-strip strong {
    font-size: 12px;
}

.isp-contact-strip a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 8px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.isp-contact-strip a:hover,
.isp-contact-strip a:focus {
    background: var(--isp-mint);
    color: var(--isp-navy-dark) !important;
}

.isp-product-details-section {
    margin: 15px;
    padding: 30px;
    border: 1px solid var(--isp-line);
    border-radius: 18px;
    background: var(--isp-white);
    box-shadow: 0 12px 30px rgba(39, 60, 77, 0.07);
}

.isp-section-heading {
    margin-bottom: 23px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--isp-line);
}

.isp-section-heading h2 {
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: var(--isp-navy-dark) !important;
    font-size: 30px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.isp-product-description {
    max-width: 100%;
    overflow-wrap: anywhere;
    color: var(--isp-text);
    font-size: 16px;
    line-height: 1.72;
}

.isp-product-description:not(.isp-product-description--custom) img {
    max-width: 100%;
    height: auto;
}

.isp-product-description:not(.isp-product-description--custom) .isp-table-scroll {
    width: 100%;
    overflow-x: auto;
    margin: 18px 0;
    -webkit-overflow-scrolling: touch;
}

.isp-product-description:not(.isp-product-description--custom) .isp-table-scroll table {
    min-width: 620px;
}

.isp-category-return {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.isp-category-return a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--isp-line);
    border-radius: 9px;
    background: var(--isp-white);
    color: var(--isp-navy) !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.isp-category-return a:hover,
.isp-category-return a:focus {
    border-color: var(--isp-blue);
    box-shadow: 0 7px 20px rgba(39, 60, 77, .09);
    transform: translateY(-1px);
}

.isp-mobile-action-bar {
    display: none;
}

@media (max-width: 980px) {
    .isp-product-hero {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr);
        gap: 24px;
    }

    .isp-gallery-stage,
    .isp-main-image-link {
        min-height: 400px;
    }

    .isp-main-image-link img {
        height: 400px !important;
    }

    .isp-service-points {
        grid-template-columns: 1fr;
    }

    .isp-service-points span {
        min-height: 42px;
    }

    .isp-variant-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .isp-product-page {
        padding: 10px 0 86px;
    }

    .isp-product-hero {
        display: block;
    }

    .isp-product-gallery-card {
        position: static;
        margin-bottom: 23px;
    }

    .isp-product-gallery {
        padding: 12px;
        border-radius: 14px;
    }

    .isp-gallery-stage,
    .isp-main-image-link,
    .isp-gallery-empty {
        min-height: 330px;
    }

    .isp-main-image-link img {
        height: 330px !important;
        padding: 7px;
    }

    .isp-image-zoom-hint {
        font-size: 10px;
    }

    .isp-gallery-thumb {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
    }

    .isp-product-summary h1 {
        font-size: 30px !important;
    }

    .isp-product-meta {
        margin-bottom: 14px;
    }

    .isp-service-points {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .isp-service-points span {
        min-height: 72px;
        padding: 28px 7px 8px;
        text-align: center;
        justify-content: center;
        font-size: 10px;
    }

    .isp-service-points span::before {
        left: 50%;
        top: 9px;
        transform: translateX(-50%);
    }

    .isp-quote-heading,
    .isp-quote-card form,
    .isp-contact-strip {
        padding-left: 15px;
        padding-right: 15px;
    }

    .isp-quote-heading {
        align-items: flex-start;
    }

    .isp-quote-heading h2 {
        font-size: 20px !important;
    }

    .isp-quote-badge {
        font-size: 9px;
    }

    .isp-quote-actions {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .isp-primary-button {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 12px;
    }

    .isp-contact-strip {
        align-items: flex-start;
    }

    .isp-contact-strip a {
        white-space: nowrap;
    }

    .isp-product-details-section {
        margin-top: 26px;
        padding: 20px 15px;
        border-radius: 14px;
    }

    .isp-section-heading h2 {
        font-size: 26px !important;
    }

    .isp-product-description {
        font-size: 15px;
        line-height: 1.68;
    }

    .isp-mobile-action-bar {
        position: fixed;
        z-index: 9998;
        left: 0;
        right: 0;
        bottom: 0;
        display: grid;
        grid-template-columns: .7fr 1.3fr;
        gap: 8px;
        padding: 10px max(12px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));
        border-top: 1px solid #d8e1e8;
        background: rgba(255,255,255,.97);
        box-shadow: 0 -8px 24px rgba(39, 60, 77, .12);
    }

    .isp-mobile-action-bar a {
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 9px;
        font-size: 14px;
        font-weight: 800;
        text-decoration: none !important;
    }

    .isp-mobile-call {
        border: 1px solid var(--isp-navy);
        color: var(--isp-navy) !important;
        background: #fff;
    }

    .isp-mobile-quote {
        border: 1px solid var(--isp-teal);
        color: #fff !important;
        background: var(--isp-teal);
    }
}

@media (max-width: 420px) {
    .isp-gallery-stage,
    .isp-main-image-link,
    .isp-gallery-empty {
        min-height: 285px;
    }

    .isp-main-image-link img {
        /*height: 285px !important;*/
    }

    .isp-product-summary h1 {
        font-size: 27px !important;
    }

    .isp-quote-actions {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .isp-contact-strip {
        display: block;
    }

    .isp-contact-strip a {
        width: 100%;
        margin-top: 10px;
    }
}


/* v1.1 brand-alignment polish */
.isp-product-summary h1 {
    color: var(--isp-navy-dark) !important;
}

.isp-product-eyebrow,
.isp-section-heading > span,
.isp-quote-kicker {
    color: var(--isp-teal);
}

.isp-quote-heading h2 {
    color: var(--isp-navy-dark) !important;
}

.isp-quote-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 78px;
    height: 78px;
    pointer-events: none;
    background: radial-gradient(circle at 100% 0%, rgba(99, 196, 173, .18), rgba(99, 196, 173, 0) 70%);
}

.isp-contact-strip a {
    background: rgba(255, 255, 255, .04);
}

.isp-contact-strip a:hover,
.isp-contact-strip a:focus {
    border-color: var(--isp-mint);
    background: var(--isp-mint);
    color: var(--isp-navy-dark) !important;
}

/* v1.2 mobile overlap and legacy product-description list containment fix.
   Descriptions with embedded <style> are marked --custom by product_content.php
   and deliberately bypass these generic rules so each product can own its CSS. */
.isp-product-description:not(.isp-product-description--custom),
.isp-product-description:not(.isp-product-description--custom) * {
    max-width: 100%;
}

.isp-product-description:not(.isp-product-description--custom) p,
.isp-product-description:not(.isp-product-description--custom) li,
.isp-product-description:not(.isp-product-description--custom) strong,
.isp-product-description:not(.isp-product-description--custom) a {
    overflow-wrap: break-word;
    word-break: normal;
}

.isp-product-description:not(.isp-product-description--custom) ul {
    display: block !important;
    width: auto !important;
    margin: 16px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    transform: none !important;
}

.isp-product-description:not(.isp-product-description--custom) ul > li {
    position: relative;
    display: block !important;
    width: auto !important;
    margin: 0 0 11px !important;
    padding: 0 0 0 24px !important;
    float: none !important;
    list-style: none !important;
}

.isp-product-description:not(.isp-product-description--custom) ul > li::before {
    content: "";
    position: absolute;
    top: .72em;
    left: 5px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--isp-teal);
    transform: translateY(-50%);
}

.isp-product-description:not(.isp-product-description--custom) ul ul {
    margin: 8px 0 4px !important;
}

.isp-product-description:not(.isp-product-description--custom) ul ul > li::before {
    width: 6px;
    height: 6px;
    border: 1.5px solid var(--isp-teal);
    background: transparent;
}

.isp-product-description:not(.isp-product-description--custom) ol {
    display: block !important;
    width: auto !important;
    margin: 16px 0 !important;
    padding-left: 26px !important;
    float: none !important;
}

.isp-product-description:not(.isp-product-description--custom) ol > li {
    width: auto !important;
    margin: 0 0 11px !important;
    padding-left: 3px !important;
    float: none !important;
}

@media (max-width: 760px) {
    /* The product page already has Call + Request Quote actions. Hide only the
       duplicate site-wide floating Get Quick Quote control on this page. */
    .isp-hide-duplicate-quick-quote {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .isp-mobile-action-bar {
        z-index: 10050;
    }

    .isp-product-details-section {
        overflow: hidden;
    }

    .isp-product-description:not(.isp-product-description--custom) ul > li {
        padding-left: 22px !important;
    }

    .isp-product-description:not(.isp-product-description--custom) ul > li::before {
        left: 4px;
    }
}

/* Phase E — opt-in public advanced-variant selector */
.isp-advanced-selector {
    margin: 0 0 17px;
    padding: 16px;
    border: 1px solid #cfe1df;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fcfb 0%, #ffffff 100%);
}

.isp-advanced-selector-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 15px;
    padding-bottom: 13px;
    border-bottom: 1px solid #dce9e7;
}

.isp-selector-kicker {
    display: block;
    margin-bottom: 3px;
    color: var(--isp-teal-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.isp-advanced-selector-heading h3 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--isp-navy-dark) !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.isp-selector-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #d4dfdf;
    border-radius: 999px;
    background: #f4f7f7;
    color: var(--isp-muted);
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.isp-selector-status.is-complete {
    border-color: #bfe3dc;
    background: #eaf8f4;
    color: #00746f;
}

.isp-selector-status.is-incomplete {
    border-color: #efd9a9;
    background: #fff8e8;
    color: #8a5a00;
}

.isp-advanced-variant-grid {
    margin-bottom: 13px;
}

.isp-advanced-variant-select option:disabled {
    color: #a8b0b5;
}

.isp-selected-variant {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 14px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid #d5e5e2;
    border-radius: 9px;
    background: #ffffff;
}

.isp-selected-variant > span {
    grid-column: 1 / -1;
    color: var(--isp-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.isp-selected-variant > strong {
    min-width: 0;
    color: var(--isp-navy-dark);
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.isp-selected-variant > small {
    color: var(--isp-muted);
    font-size: 12px;
    white-space: nowrap;
}

.isp-selected-variant > small b {
    color: var(--isp-teal-dark);
    font-size: 13px;
}

.isp-variant-unavailable {
    display: grid;
    gap: 4px;
    margin: 0 0 16px;
    padding: 13px 14px;
    border: 1px solid #e6d5ab;
    border-radius: 10px;
    background: #fff9eb;
    color: #6f5623;
    font-size: 12px;
    line-height: 1.5;
}

.isp-variant-unavailable strong {
    color: #60450c;
    font-size: 13px;
}

#ispProductSkuValue {
    color: var(--isp-navy-dark);
    font-weight: 800;
}

.isp-primary-button:disabled,
.isp-primary-button[aria-disabled="true"] {
    border-color: #aebbbb;
    background: #b8c2c2;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 760px) {
    .isp-advanced-selector {
        padding: 13px;
    }

    .isp-advanced-selector-heading {
        gap: 9px;
    }

    .isp-selected-variant {
        grid-template-columns: 1fr;
    }

    .isp-selected-variant > small {
        white-space: normal;
    }
}


/* v1.4.2: product pages use the in-page pricing form; no floating mobile action bar. */
.isp-mobile-action-bar {
    display: none !important;
}

/* Product identity belongs inside the Request Pricing card. */
.isp-product-meta--inside-quote {
    margin: 0;
    padding: 10px 20px 0;
    gap: 7px;
}

.isp-product-meta--inside-quote > span {
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 7px;
    background: #f4faf8;
    font-size: 12px;
}

.isp-product-meta--inside-quote strong {
    font-size: 10px;
}

@media (max-width: 767px) {
    .isp-product-meta--inside-quote {
        padding: 9px 15px 0;
        margin-bottom: 0;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .isp-product-meta--inside-quote > span {
        flex: 0 0 auto;
        min-height: 28px;
        white-space: nowrap;
        padding: 4px 8px;
        font-size: 11px;
    }
}


/* v1.4.4: compact SKU and Brand chips on every product page. */
.isp-product-meta--inside-quote {
    align-items: center;
    padding-top: 8px;
}

.isp-product-meta--inside-quote > span {
    min-height: 26px;
    padding: 4px 8px;
    gap: 5px;
    border-radius: 6px;
    line-height: 1.2;
}

.isp-product-meta--inside-quote #ispProductSkuValue {
    display: inline;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: inherit;
    line-height: inherit;
}

@media (max-width: 767px) {
    .isp-product-meta--inside-quote {
        padding: 7px 14px 0;
        gap: 6px;
    }

    .isp-product-meta--inside-quote > span {
        min-height: 25px;
        padding: 4px 7px;
        gap: 4px;
        font-size: 10.5px;
    }

    .isp-product-meta--inside-quote > span strong {
        font-size: 9px;
    }
}

/* Linked Component Product v1.0 */
.isp-linked-selector{display:grid;gap:16px}
.isp-linked-shared,.isp-linked-component{border:1px solid #d6e4e3;border-radius:14px;padding:16px;background:#fbfdfd}
.isp-linked-shared h4{margin:0 0 12px;color:#17354a;font-size:16px}
.isp-linked-components{display:grid;gap:14px}
.isp-linked-component-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.isp-linked-component-head span:first-child{display:block;color:#0b8f83;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.isp-linked-component-head h4{margin:2px 0 0;color:#17354a;font-size:18px}
.isp-linked-sku{padding:7px 10px;border-radius:999px;background:#eaf7f5;color:#087c73;font-size:12px;font-weight:800;white-space:nowrap}
.isp-linked-component .isp-selected-variant{margin-top:12px}
@media(max-width:767px){.isp-linked-shared,.isp-linked-component{padding:13px}.isp-linked-component-head{align-items:flex-start;flex-direction:column}.isp-linked-sku{white-space:normal}}

/* v1.5.1: compact linked-component public selector. Fixed mapped values stay in backend; only buyer choices are shown. */
.isp-linked-selector--compact {
    padding: 13px 14px;
}
.isp-linked-selector--compact .isp-linked-compact-heading {
    margin-bottom: 12px;
    padding-bottom: 10px;
}
.isp-linked-compact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 12px;
}
.isp-linked-compact-field label {
    margin-bottom: 5px;
}
.isp-linked-compact-field select {
    min-height: 42px;
}
.isp-linked-compact-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 9px 11px;
    border: 1px solid #d6e4e3;
    border-radius: 10px;
    background: #f7fbfa;
}
.isp-linked-compact-summary > span {
    color: var(--isp-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.isp-linked-compact-summary > strong {
    color: var(--isp-teal-dark);
    font-size: 13px;
    text-align: right;
    overflow-wrap: anywhere;
}
@media (min-width: 1080px) {
    .isp-linked-compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .isp-linked-selector--compact {
        padding: 11px;
    }
    .isp-linked-compact-grid {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }
    .isp-linked-compact-field label {
        font-size: 12px;
    }
    .isp-linked-compact-field select {
        min-height: 40px;
        padding-left: 9px;
        padding-right: 28px;
        font-size: 13px;
    }
    .isp-linked-compact-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
    .isp-linked-compact-summary > strong {
        text-align: left;
    }
}
@media (max-width: 430px) {
    .isp-linked-compact-grid {
        grid-template-columns: 1fr;
    }
}


/* v1.5.2 — modern product image gallery modal */
body.isp-product-lightbox-open {
    overflow: hidden !important;
}

.isp-product-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 58px 72px 38px;
    background: rgba(12, 24, 34, .82);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.isp-product-lightbox.is-open {
    display: flex;
}

.isp-product-lightbox__frame {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(92vw, 1120px);
    height: min(84vh, 850px);
}

.isp-product-lightbox__media {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    max-height: 100%;
}

.isp-product-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #fff;
    border: 8px solid #fff;
    border-radius: 4px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .38);
}

.isp-product-lightbox__close,
.isp-product-lightbox__arrow {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    cursor: pointer;
    color: #fff;
    background: rgba(16, 36, 50, .90);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
    transition: transform .16s ease, background .16s ease, opacity .16s ease;
}

.isp-product-lightbox__close:hover,
.isp-product-lightbox__close:focus,
.isp-product-lightbox__arrow:hover,
.isp-product-lightbox__arrow:focus {
    background: var(--isp-teal, #008f87);
    transform: scale(1.06);
    outline: 3px solid rgba(99, 196, 173, .34);
    outline-offset: 2px;
}

.isp-product-lightbox__close {
    position: absolute;
    z-index: 3;
    top: -48px;
    right: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font: 400 34px/38px Arial, Helvetica, sans-serif;
    text-align: center;
}

.isp-product-lightbox__arrow {
    position: fixed;
    z-index: 3;
    top: 50%;
    width: 52px;
    height: 64px;
    margin-top: -32px;
    border-radius: 14px;
    font: 700 32px/64px Arial, Helvetica, sans-serif;
    text-align: center;
}

.isp-product-lightbox__arrow--prev {
    left: 18px;
}

.isp-product-lightbox__arrow--next {
    right: 18px;
}

.isp-product-lightbox__arrow[hidden] {
    display: none !important;
}

@media (max-width: 760px) {
    .isp-product-lightbox {
        padding: 66px 42px 34px;
    }

    .isp-product-lightbox__frame {
        width: 100%;
        height: min(74vh, 720px);
    }

    .isp-product-lightbox__media {
        max-width: 100%;
        max-height: 100%;
    }

    .isp-product-lightbox__image {
        max-width: 100%;
        max-height: 100%;
        border-width: 5px;
    }

    .isp-product-lightbox__close {
        top: -50px;
        right: -2px;
        width: 44px;
        height: 44px;
        font-size: 36px;
        line-height: 40px;
        background: #fff;
        color: #273c4d;
    }

    .isp-product-lightbox__arrow {
        width: 40px;
        height: 58px;
        margin-top: -29px;
        border-radius: 12px;
        font-size: 27px;
        line-height: 58px;
        background: rgba(16, 36, 50, .88);
    }

    .isp-product-lightbox__arrow--prev {
        left: 4px;
    }

    .isp-product-lightbox__arrow--next {
        right: 4px;
    }
}


/* v1.5.3 — compact overlay lightbox controls; larger mobile image */
.isp-product-lightbox__media {
    isolation: isolate;
}

.isp-product-lightbox__close,
.isp-product-lightbox__arrow {
    background: rgba(18, 38, 51, .48);
    border: 1px solid rgba(255, 255, 255, .48);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, .20);
}

.isp-product-lightbox__close:hover,
.isp-product-lightbox__close:focus,
.isp-product-lightbox__arrow:hover,
.isp-product-lightbox__arrow:focus {
    background: rgba(0, 143, 135, .82);
    transform: scale(1.04);
    outline: 2px solid rgba(255, 255, 255, .46);
    outline-offset: 1px;
}

.isp-product-lightbox__close {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 28px;
    line-height: 31px;
}

.isp-product-lightbox__arrow {
    position: absolute;
    top: 50%;
    width: 36px;
    height: 46px;
    margin-top: -23px;
    border-radius: 10px;
    font-size: 24px;
    line-height: 43px;
}

.isp-product-lightbox__arrow--prev {
    left: 10px;
}

.isp-product-lightbox__arrow--next {
    right: 10px;
}

@media (max-width: 760px) {
    .isp-product-lightbox {
        padding: 12px 8px 18px;
    }

    .isp-product-lightbox__frame {
        width: 100%;
        height: min(88vh, 880px);
    }

    .isp-product-lightbox__media {
        max-width: 100%;
        max-height: 100%;
    }

    .isp-product-lightbox__image {
        max-width: 100%;
        max-height: 88vh;
        border-width: 4px;
        border-radius: 5px;
    }

    .isp-product-lightbox__close {
        top: 7px;
        right: 7px;
        width: 32px;
        height: 32px;
        font-size: 25px;
        line-height: 28px;
        color: #fff;
        background: rgba(15, 35, 48, .46);
    }

    .isp-product-lightbox__arrow {
        width: 31px;
        height: 42px;
        margin-top: -21px;
        border-radius: 9px;
        font-size: 22px;
        line-height: 39px;
        background: rgba(15, 35, 48, .42);
    }

    .isp-product-lightbox__arrow--prev {
        left: 7px;
    }

    .isp-product-lightbox__arrow--next {
        right: 7px;
    }
}

/* v1.5.4 — desktop lightbox comfort sizing; mobile v1.5.3 remains unchanged */
@media (min-width: 761px) {
    .isp-product-lightbox {
        padding: 28px 40px;
    }

    .isp-product-lightbox__frame {
        width: min(84vw, 1040px);
        height: min(78vh, 760px);
        max-width: 1040px;
        max-height: 760px;
    }

    .isp-product-lightbox__media {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
    }

    .isp-product-lightbox__image {
        width: auto;
        height: auto;
        max-width: min(84vw, 1040px);
        max-height: min(78vh, 760px);
        object-fit: contain;
    }
}

/* v1.5.5 — larger desktop lightbox while preserving full-image fit */
@media (min-width: 761px) {
    .isp-product-lightbox {
        padding: 18px 24px;
    }

    .isp-product-lightbox__frame {
        width: min(90vw, 1240px);
        height: min(88vh, 860px);
        max-width: 1240px;
        max-height: 860px;
    }

    .isp-product-lightbox__media {
        max-width: 100%;
        max-height: 100%;
    }

    .isp-product-lightbox__image {
        max-width: min(90vw, 1240px);
        max-height: min(88vh, 860px);
    }
}


/* v1.5.6 — unobtrusive transparent gallery controls with large invisible tap targets */
.isp-product-lightbox__close,
.isp-product-lightbox__arrow {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: rgba(255, 255, 255, .88);
    text-shadow:
        0 1px 3px rgba(0, 0, 0, .95),
        0 0 2px rgba(0, 0, 0, .85);
    opacity: .82;
}

.isp-product-lightbox__close:hover,
.isp-product-lightbox__close:focus,
.isp-product-lightbox__arrow:hover,
.isp-product-lightbox__arrow:focus {
    background: transparent !important;
    color: #fff;
    opacity: 1;
    transform: scale(1.06);
    outline: 0 !important;
    box-shadow: none !important;
}

.isp-product-lightbox__close:focus-visible,
.isp-product-lightbox__arrow:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .62) !important;
    outline-offset: -6px;
    border-radius: 8px;
}

/* The clickable areas stay generous, but only the glyph is visible. */
.isp-product-lightbox__close {
    top: 2px;
    right: 4px;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 0;
    font-size: 31px;
    line-height: 48px;
    font-weight: 300;
}

.isp-product-lightbox__arrow {
    width: 54px;
    height: 76px;
    margin-top: -38px;
    padding: 0;
    border-radius: 0;
    font-size: 31px;
    line-height: 76px;
    font-weight: 400;
}

.isp-product-lightbox__arrow--prev {
    left: 0;
    text-align: left;
    padding-left: 10px;
}

.isp-product-lightbox__arrow--next {
    right: 0;
    text-align: right;
    padding-right: 10px;
}

@media (max-width: 760px) {
    .isp-product-lightbox__close {
        top: 0;
        right: 0;
        width: 44px;
        height: 44px;
        font-size: 28px;
        line-height: 44px;
        opacity: .78;
    }

    .isp-product-lightbox__arrow {
        width: 46px;
        height: 72px;
        margin-top: -36px;
        font-size: 29px;
        line-height: 72px;
        opacity: .72;
    }

    .isp-product-lightbox__arrow--prev {
        left: 0;
        padding-left: 7px;
    }

    .isp-product-lightbox__arrow--next {
        right: 0;
        padding-right: 7px;
    }
}

/* ========================================================================== 
   Mobile Product Detail Fine-Tuning v1.0 — Patch 13
   Presentation only. Variant, linked-component, cart and gallery logic remain
   untouched. Desktop rules above remain authoritative outside <=760px.
   ========================================================================== */
@media (max-width: 760px) {
    /* The old bottom reserve belonged to a mobile action bar that is no longer
       displayed. Reclaim that space without affecting the footer. */
    .isp-product-page {
        padding: 6px 0 30px;
    }

    /* Gallery: keep the full product visible, reduce dead space and make the
       thumbnail rail comfortable to swipe. */
    .isp-product-gallery-card {
        padding: 10px 12px 0;
        margin-bottom: 14px;
    }

    .isp-product-gallery {
        padding: 10px;
        border-radius: 13px;
        box-shadow: 0 8px 22px rgba(39, 60, 77, 0.07);
    }

    .isp-gallery-stage,
    .isp-main-image-link,
    .isp-gallery-empty {
        min-height: clamp(260px, 76vw, 310px);
    }

    .isp-main-image-link img {
        /*height: clamp(260px, 76vw, 310px) !important;*/
        padding: 5px;
    }

    .isp-image-zoom-hint {
        right: 8px;
        bottom: 8px;
        padding: 6px 9px;
        font-size: 11px;
    }

    .isp-gallery-thumbs {
        gap: 8px;
        padding: 10px 1px 1px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .isp-gallery-thumbs::-webkit-scrollbar {
        display: none;
    }

    .isp-gallery-thumb {
        flex: 0 0 66px;
        width: 66px;
        height: 66px;
        padding: 4px;
        border-radius: 9px;
        scroll-snap-align: start;
    }

    /* Product identity: a clearer title hierarchy without consuming most of
       the first phone viewport. */
    .isp-product-summary {
        padding: 8px 12px 0;
    }

    .isp-product-eyebrow {
        font-size: 11px;
        letter-spacing: .08em;
    }

    .isp-product-summary h1 {
        margin: 5px 0 11px !important;
        font-size: 26px !important;
        line-height: 1.18 !important;
        letter-spacing: -.018em;
    }

    .isp-service-points {
        gap: 5px;
        margin: 0 0 12px;
    }

    .isp-service-points span {
        min-height: 64px;
        padding: 25px 6px 7px;
        font-size: 11px;
        line-height: 1.3;
    }

    .isp-service-points span::before {
        top: 8px;
        width: 17px;
        height: 17px;
        font-size: 10px;
    }

    /* Request-pricing card: clearer hierarchy, readable SKU/brand chips and
       less vertical padding. */
    .isp-quote-card {
        border-radius: 13px;
        box-shadow: 0 11px 28px rgba(39, 60, 77, 0.10);
    }

    .isp-quote-heading {
        gap: 10px;
        padding: 13px 14px 12px;
        align-items: center;
    }

    .isp-quote-kicker {
        font-size: 10.5px;
        letter-spacing: .08em;
    }

    .isp-quote-heading h2 {
        margin-top: 2px !important;
        font-size: 19px !important;
        line-height: 1.25 !important;
    }

    .isp-quote-badge {
        min-height: 28px;
        display: inline-flex;
        align-items: center;
        padding: 5px 8px;
        font-size: 9.5px;
    }

    .isp-product-meta--inside-quote {
        padding: 8px 14px 0;
        gap: 6px;
        flex-wrap: wrap;
        overflow: visible;
    }

    .isp-product-meta--inside-quote > span {
        flex: 0 1 auto;
        min-height: 32px;
        padding: 6px 8px;
        gap: 5px;
        white-space: normal;
        font-size: 12px;
        line-height: 1.3;
    }

    .isp-product-meta--inside-quote > span strong {
        font-size: 10px;
    }

    #ispProductSkuMeta {
        max-width: 100%;
    }

    #ispProductSkuValue {
        overflow-wrap: anywhere;
    }

    .isp-quote-card form {
        padding: 14px;
    }

    /* All selectors stay functionally identical. Only sizing/readability is
       changed; 16px form text also prevents iOS focus zoom. */
    .isp-variant-grid {
        gap: 10px;
        margin-bottom: 13px;
    }

    .isp-form-field label {
        margin-bottom: 6px;
        font-size: 13px;
        line-height: 1.3;
    }

    .isp-form-field select,
    .isp-form-field input,
    .isp-linked-compact-field select {
        height: 48px !important;
        min-height: 48px !important;
        padding-left: 11px !important;
        padding-right: 32px !important;
        font-size: 16px !important;
        line-height: 1.2 !important;
        border-radius: 9px !important;
    }

    .isp-form-field input {
        padding-right: 11px !important;
    }

    /* Advanced variants */
    .isp-advanced-selector,
    .isp-linked-selector--compact {
        margin-bottom: 13px;
        padding: 12px;
        border-radius: 11px;
    }

    .isp-advanced-selector-heading,
    .isp-linked-selector--compact .isp-linked-compact-heading {
        gap: 8px;
        margin-bottom: 11px;
        padding-bottom: 10px;
    }

    .isp-selector-kicker {
        font-size: 10.5px;
    }

    .isp-advanced-selector-heading h3 {
        font-size: 17px !important;
        line-height: 1.28 !important;
    }

    .isp-selector-status {
        min-height: 30px;
        padding: 6px 8px;
        font-size: 10.5px;
    }

    .isp-selected-variant {
        gap: 4px 10px;
        padding: 10px 11px;
        border-radius: 9px;
    }

    .isp-selected-variant > span {
        font-size: 10.5px;
    }

    .isp-selected-variant > strong {
        font-size: 14px;
        line-height: 1.4;
    }

    .isp-selected-variant > small,
    .isp-selected-variant > small b {
        font-size: 12.5px;
    }

    /* Linked components: preserve the existing component/parameter mapping and
       mobile column logic; only improve controls and summary readability. */
    .isp-linked-compact-grid {
        gap: 10px;
    }

    .isp-linked-compact-field label {
        font-size: 13px;
    }

    .isp-linked-compact-summary {
        gap: 4px;
        margin-top: 10px;
        padding: 9px 10px;
        border-radius: 9px;
    }

    .isp-linked-compact-summary > span {
        font-size: 11px;
    }

    .isp-linked-compact-summary > strong {
        font-size: 13.5px;
        line-height: 1.4;
    }

    /* Quantity + Add to Enquiry remain side-by-side on normal phones with
       both controls above the 44px touch-target guideline. */
    .isp-quote-actions {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 10px;
    }

    .isp-quantity-field input {
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 10px !important;
        font-size: 16px !important;
    }

    .isp-primary-button {
        min-height: 50px;
        padding: 10px 12px;
        border-radius: 9px;
        font-size: 13px;
        line-height: 1.25;
        letter-spacing: .018em;
    }

    .isp-quote-note {
        margin-top: 11px;
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.5;
    }

    .isp-contact-strip {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 11px 14px;
    }

    .isp-contact-strip small {
        font-size: 12px;
    }

    .isp-contact-strip strong {
        font-size: 13px;
        line-height: 1.35;
    }

    .isp-contact-strip a {
        min-height: 44px;
        padding: 9px 12px;
        font-size: 13px;
        white-space: nowrap;
    }

    /* Product details: shared styles apply only to legacy/plain descriptions.
       Descriptions with their own embedded CSS continue to own their design. */
    .isp-product-details-section {
        margin: 18px 12px 0;
        padding: 16px 14px;
        border-radius: 13px;
    }

    .isp-section-heading {
        margin-bottom: 16px;
        padding-bottom: 12px;
    }

    .isp-section-heading > span {
        font-size: 11px;
    }

    .isp-section-heading h2 {
        margin-top: 3px !important;
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    .isp-product-description {
        font-size: 16px;
        line-height: 1.7;
    }

    .isp-product-description:not(.isp-product-description--custom) p {
        margin: 0 0 14px !important;
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    .isp-product-description:not(.isp-product-description--custom) h2,
    .isp-product-description:not(.isp-product-description--custom) h3,
    .isp-product-description:not(.isp-product-description--custom) h4 {
        margin: 20px 0 10px !important;
        padding: 0 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        overflow-wrap: break-word;
    }

    .isp-product-description:not(.isp-product-description--custom) h2 {
        font-size: 22px !important;
    }

    .isp-product-description:not(.isp-product-description--custom) h3 {
        font-size: 20px !important;
    }

    .isp-product-description:not(.isp-product-description--custom) h4 {
        font-size: 18px !important;
    }

    .isp-product-description:not(.isp-product-description--custom) ul,
    .isp-product-description:not(.isp-product-description--custom) ol {
        margin-top: 12px !important;
        margin-bottom: 14px !important;
    }

    .isp-product-description:not(.isp-product-description--custom) ul > li,
    .isp-product-description:not(.isp-product-description--custom) ol > li {
        margin-bottom: 9px !important;
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    /* Generic specification tables become deliberately swipeable. Existing
       custom/table-responsive designs are still excluded by product_content.php. */
    .isp-product-description:not(.isp-product-description--custom) .isp-table-scroll {
        position: relative;
        margin: 14px 0;
        border: 1px solid var(--isp-line);
        border-radius: 10px;
        background: var(--isp-white);
        scrollbar-width: thin;
    }

    .isp-product-description:not(.isp-product-description--custom) .isp-table-scroll::before {
        content: "Swipe to view full table \2192";
        position: sticky;
        left: 0;
        z-index: 2;
        display: block;
        width: max-content;
        max-width: 100%;
        padding: 7px 10px;
        border-bottom: 1px solid #dce8e6;
        background: #eef8f6;
        color: var(--isp-teal-dark);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .02em;
    }

    .isp-product-description:not(.isp-product-description--custom) .isp-table-scroll table {
        min-width: 600px;
        margin: 0 !important;
    }

    .isp-product-description:not(.isp-product-description--custom) .isp-table-scroll th,
    .isp-product-description:not(.isp-product-description--custom) .isp-table-scroll td {
        padding: 10px 11px !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        vertical-align: top;
    }

    .isp-category-return {
        margin: 18px 12px 0;
    }

    .isp-category-return a {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        padding: 10px 13px;
        font-size: 13px;
        line-height: 1.35;
        text-align: center;
    }
}

@media (max-width: 430px) {
    /* The linked selector already becomes one column at this breakpoint. Keep
       it that way and avoid the earlier 40px controls. */
    .isp-linked-compact-grid {
        grid-template-columns: 1fr;
    }

    .isp-contact-strip {
        display: flex;
    }

    .isp-contact-strip a {
        width: auto;
        margin-top: 0;
    }
}

@media (max-width: 360px) {
    .isp-product-gallery-card,
    .isp-product-summary {
        padding-left: 10px;
        padding-right: 10px;
    }

    .isp-product-summary h1 {
        font-size: 24px !important;
    }

    .isp-service-points span {
        min-height: 62px;
        padding-left: 4px;
        padding-right: 4px;
        font-size: 10.5px;
    }

    .isp-quote-badge {
        display: none;
    }

    .isp-quote-actions {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 8px;
    }

    .isp-primary-button {
        padding-left: 9px;
        padding-right: 9px;
        font-size: 12.5px;
    }

    .isp-contact-strip {
        display: block;
    }

    .isp-contact-strip a {
        width: 100%;
        margin-top: 9px;
    }

    .isp-product-details-section {
        margin-left: 10px;
        margin-right: 10px;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* ========================================================================== 
   Mobile Product Detail Card System v1.0 — Patch 2.16
   Brings individual product pages into the same compact rounded-card language
   used by the other refined mobile public pages. Presentation only; product
   gallery, variants, linked products, quotation and enquiry-cart logic are
   unchanged. Desktop >=901px remains untouched.
   ========================================================================== */
@media (max-width: 900px) {
    .isp-product-page {
        padding: 8px 0 24px !important;
        background: #fff;
    }

    .isp-product-page .isp-product-shell {
        width: 100%;
        min-width: 0;
    }

    .isp-product-page .isp-product-hero {
        display: block;
        width: 100%;
        min-width: 0;
    }

    /* Same small outer gutter + white rounded surface used on root/directory
       mobile cards. */
    .isp-product-page .isp-product-gallery-card,
    .isp-product-page .isp-product-summary,
    .isp-product-page .isp-product-details-section {
        width: auto;
        min-width: 0;
        margin-left: 8px !important;
        margin-right: 8px !important;
        border: 1px solid #dbe5e7;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(39, 60, 77, .055);
    }

    /* Gallery becomes one clean outer card rather than a card inside a padded
       wrapper card. */
    .isp-product-page .isp-product-gallery-card {
        position: static;
        margin-top: 0 !important;
        margin-bottom: 8px !important;
        padding: 10px !important;
        overflow: hidden;
    }

    .isp-product-page .isp-product-gallery {
        padding: 0 !important;
        border: 0 !important;
        border-radius: 13px;
        background: #fff;
        box-shadow: none !important;
    }

    .isp-product-page .isp-gallery-stage {
        border-radius: 12px;
        background: #fff;
    }

    .isp-product-page .isp-gallery-thumbs {
        padding: 9px 1px 1px;
    }

    /* Product identity + purchase route becomes the second matching card. */
    .isp-product-page .isp-product-summary {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
        padding: 16px 14px !important;
        overflow: hidden;
    }

    .isp-product-page .isp-product-eyebrow {
        margin: 0 0 5px;
    }

    .isp-product-page .isp-product-summary h1 {
        margin: 0 0 12px !important;
    }

    .isp-product-page .isp-service-points {
        margin-bottom: 12px;
    }

    /* Keep the quotation system as a functional inner module, but reduce its
       visual weight so the outer card remains the dominant page structure. */
    .isp-product-page .isp-quote-card {
        border: 1px solid #d7e4e5;
        border-top: 0;
        border-radius: 14px;
        box-shadow: none;
        overflow: hidden;
    }

    .isp-product-page .isp-quote-card::after {
        display: none;
    }

    .isp-product-page .isp-quote-heading {
        padding-top: 13px;
        padding-bottom: 12px;
        background: #f8fbfb;
    }

    .isp-product-page .isp-quote-card form {
        background: #fff;
    }

    .isp-product-page .isp-contact-strip {
        border-top-color: rgba(255,255,255,.12);
    }

    /* Product description/specifications use the exact same outside geometry
       instead of floating with a larger legacy margin. */
    .isp-product-page .isp-product-details-section {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
        padding: 16px 14px !important;
        border-radius: 18px;
        box-shadow: 0 8px 24px rgba(39, 60, 77, .055);
    }

    .isp-product-page .isp-section-heading {
        margin-bottom: 14px;
        padding-bottom: 11px;
    }

    .isp-product-page .isp-category-return {
        margin: 0 8px !important;
        padding: 0;
    }

    .isp-product-page .isp-category-return a {
        border-radius: 13px;
        box-shadow: none;
    }

    /* Stop old wrapper constraints from creating a second visual gutter. */
    .container > .isp-product-page,
    .container .isp-product-page.inner_full_panel {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 430px) {
    .isp-product-page .isp-product-gallery-card,
    .isp-product-page .isp-product-summary,
    .isp-product-page .isp-product-details-section {
        margin-left: 6px !important;
        margin-right: 6px !important;
        border-radius: 16px;
    }

    .isp-product-page .isp-product-summary,
    .isp-product-page .isp-product-details-section {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .isp-product-page .isp-category-return {
        margin-left: 6px !important;
        margin-right: 6px !important;
    }
}


/* ===== source: css/desktop-product-detail.css ===== */
/*
 * IndoSurgicals Desktop Product Detail — Patch 27 v1.0
 * --------------------------------------------------------------------------
 * Scope: desktop only (>= 901px).
 * Purpose: make the product-detail page feel like a precise, established
 * medical-manufacturer catalogue and quotation workspace while preserving
 * every existing product, variant, gallery, cart and description behaviour.
 *
 * IMPORTANT:
 * - No mobile rules are changed here.
 * - No product-description content is rewritten.
 * - Description blocks that contain their own embedded CSS remain sovereign.
 * - Advanced variants, linked component products and legacy selectors retain
 *   their existing DOM, IDs and JavaScript hooks.
 */

@media (min-width: 901px) {
    html body .isp-product-page {
        width: 100%;
        padding: 20px 0 46px;
        color: var(--isp-ds-text, #263746);
        background: transparent;
    }

    html body .isp-product-page .isp-product-shell {
        width: min(var(--isp-ds-content-max, 1200px), 100%);
        margin: 0 auto;
    }

    /* ---------- Product hero ---------- */
    html body .isp-product-page .isp-product-hero {
        display: grid;
        grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
        gap: 26px;
        align-items: start;
    }

    html body .isp-product-page .isp-product-gallery-card,
    html body .isp-product-page .isp-product-summary {
        padding: 0;
    }

    html body .isp-product-page .isp-product-gallery-card {
        position: sticky;
        top: 0;
        align-self: start;
        margin-top: 0 !important;
    }

    html body .isp-product-page .isp-product-gallery {
        padding: 18px;
        border: 1px solid #d6e2e4;
        border-radius: 20px;
        background: #fff;
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39, 60, 77, .07));
    }

    html body .isp-product-page .isp-gallery-stage,
    html body .isp-product-page .isp-main-image-link,
    html body .isp-product-page .isp-gallery-empty {
        min-height: clamp(440px, 38vw, 540px);
    }

    html body .isp-product-page .isp-gallery-stage {
        border-radius: 15px;
        background: linear-gradient(145deg, #fff 0%, #fbfdfd 58%, #f5f9f8 100%);
    }

    html body .isp-product-page .isp-main-image-link img {
        width: 100% !important;
        max-width: 620px;
        height: auto !important;
        max-height: 520px;
        padding: 14px;
        object-fit: contain;
    }

    html body .isp-product-page .isp-image-zoom-hint {
        right: 14px;
        bottom: 14px;
        min-height: 34px;
        display: inline-flex;
        align-items: center;
        padding: 7px 12px;
        border: 1px solid rgba(39, 60, 77, .12);
        border-radius: 999px;
        background: rgba(255, 255, 255, .94);
        color: var(--isp-ds-navy, #405365);
        font-size: 11px;
        font-weight: 650;
        box-shadow: 0 5px 18px rgba(39, 60, 77, .08);
    }

    html body .isp-product-page .isp-gallery-thumbs {
        gap: 9px;
        padding: 13px 1px 1px;
    }

    html body .isp-product-page .isp-gallery-thumb {
        flex: 0 0 78px;
        width: 78px;
        height: 78px;
        padding: 5px;
        border-color: #d8e3e4;
        border-radius: 10px;
        background: #fff;
        box-shadow: none;
    }

    html body .isp-product-page .isp-gallery-thumb:hover,
    html body .isp-product-page .isp-gallery-thumb:focus,
    html body .isp-product-page .isp-gallery-thumb.is-active {
        border-color: var(--isp-ds-teal, #008f87);
        box-shadow: 0 0 0 3px rgba(0, 143, 135, .10);
        transform: none;
    }

    /* ---------- Product identity ---------- */
    html body .isp-product-page .isp-product-summary {
        min-width: 0;
        padding-top: 2px;
    }

    html body .isp-product-page .isp-product-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 7px;
        color: var(--isp-ds-teal-dark, #00746f);
        font-size: 11px;
        font-weight: 750;
        letter-spacing: .11em;
    }

    html body .isp-product-page .isp-product-eyebrow::before {
        content: "";
        width: 22px;
        height: 2px;
        border-radius: 999px;
        background: var(--isp-ds-teal, #008f87);
    }

    html body .isp-product-page .isp-product-summary h1 {
        max-width: 720px;
        margin: 0 0 15px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: clamp(31px, 2.65vw, 42px) !important;
        line-height: 1.13 !important;
        font-weight: 750 !important;
        letter-spacing: -.03em;
    }

    html body .isp-product-page .isp-service-points {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        margin: 0 0 15px;
    }

    html body .isp-product-page .isp-service-points span {
        min-height: 34px;
        flex: 0 1 auto;
        padding: 7px 11px 7px 30px;
        border: 1px solid #d4e7e3;
        border-radius: 999px;
        background: #f5faf9;
        color: #385163;
        font-size: 10.75px;
        line-height: 1.25;
        font-weight: 650;
    }

    html body .isp-product-page .isp-service-points span::before {
        left: 10px;
        width: 14px;
        height: 14px;
        font-size: 8px;
        box-shadow: none;
    }

    /* ---------- Quotation workspace ---------- */
    html body .isp-product-page .isp-quote-card {
        overflow: hidden;
        border: 1px solid #cfdedf;
        border-top: 0;
        border-radius: 18px;
        background: #fff;
        box-shadow: var(--isp-ds-shadow-md, 0 14px 36px rgba(39, 60, 77, .09));
    }

    html body .isp-product-page .isp-quote-card::before {
        content: "";
        display: block;
        height: 4px;
        background: linear-gradient(90deg, var(--isp-ds-teal, #008f87), var(--isp-ds-mint, #63c4ad));
    }

    html body .isp-product-page .isp-quote-card::after {
        width: 120px;
        height: 120px;
        background: radial-gradient(circle at 100% 0%, rgba(99, 196, 173, .16), rgba(99, 196, 173, 0) 68%);
    }

    html body .isp-product-page .isp-quote-heading {
        min-height: 72px;
        padding: 15px 18px 13px;
        border-bottom: 1px solid #e0e8e9;
        background: #fff;
    }

    html body .isp-product-page .isp-quote-kicker {
        font-size: 9.5px;
        letter-spacing: .11em;
    }

    html body .isp-product-page .isp-quote-heading h2 {
        margin-top: 2px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
        font-weight: 750 !important;
    }

    html body .isp-product-page .isp-quote-badge {
        min-height: 28px;
        display: inline-flex;
        align-items: center;
        padding: 5px 9px;
        border-color: #c9e6df;
        background: #edf9f6;
        color: #087b74;
        font-size: 9px;
        font-weight: 750;
    }

    html body .isp-product-page .isp-product-meta--inside-quote {
        gap: 7px;
        padding: 10px 18px 0;
    }

    html body .isp-product-page .isp-product-meta--inside-quote > span {
        min-height: 28px;
        padding: 5px 9px;
        border: 1px solid #d8e6e3;
        border-radius: 7px;
        background: #f7fbfa;
        color: #607481;
        font-size: 11px;
        line-height: 1.2;
    }

    html body .isp-product-page .isp-product-meta--inside-quote strong {
        color: #486171;
        font-size: 9px;
        font-weight: 750;
        letter-spacing: .06em;
    }

    html body .isp-product-page .isp-quote-card form {
        padding: 16px 18px 17px;
        background: linear-gradient(180deg, #fbfdfd 0%, #fff 100%);
    }

    html body .isp-product-page .isp-variant-grid,
    html body .isp-product-page .isp-advanced-variant-grid,
    html body .isp-product-page .isp-linked-compact-grid {
        gap: 10px 11px;
        margin-bottom: 12px;
    }

    html body .isp-product-page .isp-form-field label {
        margin-bottom: 5px;
        color: #415b6c;
        font-size: 11.5px;
        line-height: 1.3;
        font-weight: 700;
    }

    html body .isp-product-page .isp-form-field select,
    html body .isp-product-page .isp-form-field input {
        height: 42px !important;
        padding: 0 11px !important;
        border-color: #cbdadc !important;
        border-radius: 8px !important;
        color: #263746 !important;
        font-size: 13px !important;
    }

    html body .isp-product-page .isp-form-field select:focus,
    html body .isp-product-page .isp-form-field input:focus {
        border-color: var(--isp-ds-teal, #008f87) !important;
        box-shadow: 0 0 0 3px rgba(0, 143, 135, .11) !important;
    }

    html body .isp-product-page .isp-advanced-selector {
        margin-bottom: 12px;
        padding: 13px;
        border-color: #d2e4e1;
        border-radius: 11px;
        background: #f8fcfb;
    }

    html body .isp-product-page .isp-advanced-selector-heading {
        margin-bottom: 11px;
        padding-bottom: 9px;
        border-bottom-color: #dfecea;
    }

    html body .isp-product-page .isp-advanced-selector-heading h3 {
        font-size: 15px !important;
        font-weight: 750 !important;
    }

    html body .isp-product-page .isp-selector-kicker {
        font-size: 9px;
    }

    html body .isp-product-page .isp-selector-status {
        min-height: 25px;
        padding: 4px 8px;
        font-size: 8.5px;
    }

    html body .isp-product-page .isp-selected-variant,
    html body .isp-product-page .isp-linked-compact-summary {
        padding: 9px 10px;
        border-color: #d6e5e2;
        border-radius: 8px;
        background: #fff;
    }

    html body .isp-product-page .isp-selected-variant > strong,
    html body .isp-product-page .isp-linked-compact-summary > strong {
        font-size: 12px;
    }

    html body .isp-product-page .isp-quote-actions {
        grid-template-columns: 105px minmax(0, 1fr);
        gap: 10px;
        margin-top: 1px;
    }

    html body .isp-product-page .isp-primary-button {
        min-height: 42px;
        padding: 10px 15px;
        border: 1px solid var(--isp-ds-teal, #008f87);
        border-radius: 8px;
        background: var(--isp-ds-teal, #008f87);
        color: #fff;
        font-size: 12px;
        line-height: 1.2;
        font-weight: 750;
        letter-spacing: .015em;
        text-transform: none;
        box-shadow: 0 7px 18px rgba(0, 143, 135, .18);
    }

    html body .isp-product-page .isp-primary-button:hover,
    html body .isp-product-page .isp-primary-button:focus {
        border-color: var(--isp-ds-teal-dark, #00746f);
        background: var(--isp-ds-teal-dark, #00746f);
        box-shadow: 0 9px 22px rgba(0, 116, 111, .22);
    }

    html body .isp-product-page .isp-primary-button:disabled,
    html body .isp-product-page .isp-primary-button[aria-disabled="true"] {
        border-color: #afbbbb;
        background: #b8c2c2;
        box-shadow: none;
    }

    html body .isp-product-page .isp-quote-note {
        margin-top: 11px;
        padding: 8px 10px;
        border-left-width: 2px;
        background: #f7faf9;
        color: #6a7c87;
        font-size: 10.5px;
        line-height: 1.5;
    }

    html body .isp-product-page .isp-contact-strip {
        min-height: 57px;
        gap: 12px;
        padding: 11px 18px;
        background: linear-gradient(110deg, #2c4455 0%, #355466 100%);
    }

    html body .isp-product-page .isp-contact-strip small {
        margin-bottom: 1px;
        color: #dce7ea;
        font-size: 9.5px;
    }

    html body .isp-product-page .isp-contact-strip strong {
        font-size: 10.75px;
        font-weight: 650;
    }

    html body .isp-product-page .isp-contact-strip a {
        min-height: 34px;
        padding: 6px 11px;
        border-radius: 7px;
        font-size: 11px;
        font-weight: 700;
    }

    /* ---------- Product information ---------- */
    html body .isp-product-page .isp-product-details-section {
        margin: 28px 0 0;
        padding: 32px 34px 36px;
        border: 1px solid #d8e3e5;
        border-radius: 20px;
        background: #fff;
        box-shadow: var(--isp-ds-shadow-xs, 0 2px 8px rgba(39, 60, 77, .05));
    }

    html body .isp-product-page .isp-section-heading {
        margin-bottom: 22px;
        padding-bottom: 16px;
        border-bottom: 1px solid #e1e8ea;
    }

    html body .isp-product-page .isp-section-heading > span {
        color: var(--isp-ds-teal-dark, #00746f);
        font-size: 10px;
        letter-spacing: .11em;
    }

    html body .isp-product-page .isp-section-heading h2 {
        margin-top: 4px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 27px !important;
        line-height: 1.2 !important;
        font-weight: 750 !important;
        letter-spacing: -.02em;
    }

    html body .isp-product-page .isp-product-description {
        color: #344b5b;
        font-size: 14.5px;
        line-height: 1.74;
    }

    /* Generic descriptions receive a dependable shared reading system.
       Descriptions containing embedded CSS are intentionally left alone. */
    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) > :first-child {
        margin-top: 0 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) > :last-child {
        margin-bottom: 0 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h2,
    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h3,
    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h4 {
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-family: var(--isp-ds-font-sans, 'Poppins', Arial, sans-serif) !important;
        font-weight: 700 !important;
        text-align: left !important;
        letter-spacing: -.015em;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h2 {
        margin: 28px 0 12px !important;
        font-size: 23px !important;
        line-height: 1.25 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h3 {
        margin: 24px 0 10px !important;
        font-size: 19px !important;
        line-height: 1.3 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h4 {
        margin: 20px 0 8px !important;
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) p {
        margin: 0 0 14px;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) strong {
        color: #263f50;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) a {
        color: var(--isp-ds-teal-dark, #00746f);
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) table {
        width: 100%;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        overflow: hidden;
        border: 1px solid #d7e2e4 !important;
        border-radius: 10px;
        background: #fff;
        font-size: 13px;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) table th,
    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) table td {
        padding: 10px 12px !important;
        border: 0 !important;
        border-right: 1px solid #e2e9ea !important;
        border-bottom: 1px solid #e2e9ea !important;
        vertical-align: top;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) table th {
        background: #f0f6f5 !important;
        color: #2e4a5a !important;
        font-weight: 700 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) table tr:last-child > * {
        border-bottom: 0 !important;
    }

    html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) table tr > *:last-child {
        border-right: 0 !important;
    }

    /* ---------- Return path ---------- */
    html body .isp-product-page .isp-category-return {
        justify-content: flex-start;
        margin-top: 18px;
    }

    html body .isp-product-page .isp-category-return a {
        min-height: 40px;
        gap: 7px;
        padding: 8px 13px;
        border-color: #d3e0e2;
        border-radius: 8px;
        background: #fff;
        color: #385365 !important;
        font-size: 11.5px;
        font-weight: 700;
        box-shadow: none;
    }

    html body .isp-product-page .isp-category-return a:hover,
    html body .isp-product-page .isp-category-return a:focus {
        border-color: #9dcfc8;
        background: #f5faf9;
        box-shadow: 0 7px 18px rgba(39, 60, 77, .06);
        transform: none;
    }

    /* ---------- Lightbox alignment with the desktop design system ---------- */
    html body .isp-product-lightbox__image {
        border-width: 6px;
        border-radius: 8px;
    }

    html body .isp-product-lightbox__close,
    html body .isp-product-lightbox__arrow {
        font-family: Arial, Helvetica, sans-serif;
    }

    /* Compact desktop / laptop protection. */
    @media (max-width: 1110px) {
        html body .isp-product-page .isp-product-hero {
            grid-template-columns: minmax(0, 1fr) minmax(350px, .92fr);
            gap: 20px;
        }

        html body .isp-product-page .isp-product-summary h1 {
            font-size: clamp(29px, 3.2vw, 36px) !important;
        }

        html body .isp-product-page .isp-service-points {
            gap: 6px;
        }

        html body .isp-product-page .isp-service-points span {
            padding-right: 9px;
            font-size: 9.75px;
        }

        html body .isp-product-page .isp-gallery-stage,
        html body .isp-product-page .isp-main-image-link,
        html body .isp-product-page .isp-gallery-empty {
            min-height: 410px;
        }

        html body .isp-product-page .isp-product-details-section {
            padding: 28px 30px 32px;
        }
    }

    @media (max-width: 980px) {
        html body .isp-product-page .isp-product-hero {
            grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr);
            gap: 17px;
        }

        html body .isp-product-page .isp-gallery-stage,
        html body .isp-product-page .isp-main-image-link,
        html body .isp-product-page .isp-gallery-empty {
            min-height: 365px;
        }

        html body .isp-product-page .isp-gallery-thumb {
            flex-basis: 68px;
            width: 68px;
            height: 68px;
        }

        html body .isp-product-page .isp-product-summary h1 {
            font-size: 29px !important;
        }

        html body .isp-product-page .isp-service-points span {
            min-height: 31px;
            padding: 6px 8px 6px 28px;
            font-size: 9px;
        }

        html body .isp-product-page .isp-advanced-selector {
            padding: 11px;
        }

        html body .isp-product-page .isp-linked-compact-grid {
            grid-template-columns: 1fr;
        }

        html body .isp-product-page .isp-form-field select,
        html body .isp-product-page .isp-form-field input {
            font-size: 12px !important;
        }
    }
}

/* ========================================================================== 
   Patch 31.6 — Desktop product card breathing room + fixed square image stage
   ========================================================================== */
@media (min-width: 901px) {
    /* Keep the complete product-card workspace slightly inset from every side. */
    html body .isp-product-page .isp-product-shell {
        box-sizing: border-box;
        padding: 5px;
    }

    /* The visible gallery viewport is always square. Images fill the square and
       are center-cropped when their original aspect ratio is not square. */
    html body .isp-product-page .isp-gallery-stage {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 1 / 1;
    }

    html body .isp-product-page .isp-main-image-link {
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    html body .isp-product-page .isp-main-image-link img {
        width: 100% !important;
        height: 100% !important;
        max-width: none;
        max-height: none;
        padding: 0;
        object-fit: cover;
        object-position: center center;
    }
}


/* ==========================================================================
   Patch 31.7 — Product workspace breathing room + compact breadcrumb
   ========================================================================== */
@media (min-width: 901px) {
    /* Add roughly 5px more breathing room than Patch 31.6. */
    html body .isp-product-page .isp-product-shell {
        padding: 10px;
    }

    /* Retain navigation context without the legacy wide white strip. */
    html body .breadcrumbs {
        box-sizing: border-box;
        height: auto !important;
        min-height: 24px;
        margin: 6px 0 2px !important;
        padding: 2px 10px !important;
        border: 0 !important;
        background: transparent !important;
        color: #536572;
        font-size: 11px !important;
        line-height: 20px !important;
    }

    html body .breadcrumbs ul {
        margin: 0 !important;
        padding: 0 !important;
        line-height: inherit !important;
    }

    html body .breadcrumbs ul li,
    html body .breadcrumbs a,
    html body .breadcrumbs ul li a {
        font-size: 11px !important;
        line-height: 20px !important;
    }
}


/* ===== source: assets/css/indos-product-article-system.css ===== */
/*
 * IndoSurgicals Product + Technical Article Design System — v1.4
 * --------------------------------------------------------------------------
 * Canonical public content contract for migrated product descriptions and
 * /page/ technical/article bodies.  Root-page theme variables remain the
 * single source of truth for width, typography and palette.
 *
 * Legacy authored content that carries embedded CSS continues to opt out via
 * .isp-product-description--custom / .isp-page-body--authored until migrated.
 */

:root {
    --isp-pa-content-max: var(--isp-root-content-max, 1190px);
    --isp-pa-text: var(--isp-root-text, #263746);
    --isp-pa-muted: var(--isp-root-muted, #687986);
    --isp-pa-navy: var(--isp-root-navy, #405365);
    --isp-pa-navy-dark: var(--isp-root-navy-dark, #273c4d);
    --isp-pa-teal: var(--isp-root-teal, #008f87);
    --isp-pa-teal-dark: var(--isp-root-teal-dark, #00746f);
    --isp-pa-mint: var(--isp-root-mint, #63c4ad);
    --isp-pa-soft: var(--isp-root-soft, #f4f7f7);
    --isp-pa-soft-alt: var(--isp-root-soft-alt, #eef4f4);
    --isp-pa-teal-soft: var(--isp-root-teal-soft, #eaf7f5);
    --isp-pa-line: var(--isp-root-line, #d8e2e3);
    --isp-pa-line-strong: var(--isp-root-line-strong, #c7d5d7);
    --isp-pa-white: var(--isp-root-white, #fff);
    --isp-pa-font: var(--isp-root-font, 'Poppins', Arial, Helvetica, sans-serif);
    --isp-pa-radius-sm: var(--isp-root-radius-sm, 9px);
    --isp-pa-radius-md: var(--isp-root-radius-md, 13px);
    --isp-pa-radius-lg: var(--isp-root-radius-lg, 17px);
    --isp-pa-radius-xl: var(--isp-root-radius-xl, 18px);
    --isp-pa-shadow-sm: var(--isp-root-shadow-sm, 0 7px 20px rgba(31,58,75,.045));
    --isp-pa-shadow-md: var(--isp-root-shadow-md, 0 11px 30px rgba(31,58,75,.06));
    --isp-pa-h1: var(--isp-root-h1-size, clamp(34px, 3.4vw, 45px));
    --isp-pa-h2: var(--isp-root-h2-size, 27px);
    --isp-pa-h3: var(--isp-root-h3-size, 15px);
    --isp-pa-h4: var(--isp-root-h3-size, 15px);
    --isp-pa-body: var(--isp-root-body-size, 14px);
    --isp-pa-small: var(--isp-root-small-size, 12px);
    --isp-pa-card-y: var(--isp-root-card-pad-y, 28px);
    --isp-pa-card-x: var(--isp-root-card-pad-x, 30px);
}

/* --------------------------------------------------------------------------
   1. One public width + one vertical rhythm
   -------------------------------------------------------------------------- */
html body .isp-product-page,
html body .isp-info-page {
    color: var(--isp-pa-text);
    font-family: var(--isp-pa-font);
}

html body .isp-product-page .isp-product-shell,
html body .isp-info-page .isp-info-shell {
    width: min(95%, var(--isp-pa-content-max)) !important;
    max-width: var(--isp-pa-content-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body .isp-product-page {
    padding-top: 14px !important;
    padding-bottom: 44px !important;
}

html body .isp-info-page {
    padding-top: 14px !important;
    padding-bottom: 44px !important;
}

/* --------------------------------------------------------------------------
   2. Shared surface geometry
   -------------------------------------------------------------------------- */
html body .isp-product-page .isp-product-gallery,
html body .isp-product-page .isp-quote-card,
html body .isp-product-page .isp-product-details-section,
html body .isp-info-page .isp-info-hero,
html body .isp-info-page .isp-info-content-card {
    border-color: var(--isp-pa-line) !important;
    border-radius: var(--isp-pa-radius-lg) !important;
    box-shadow: var(--isp-pa-shadow-md) !important;
}

html body .isp-product-page .isp-product-details-section,
html body .isp-info-page .isp-info-content-card {
    background: var(--isp-pa-white) !important;
}

html body .isp-product-page .isp-product-details-section {
    padding: var(--isp-pa-card-y) var(--isp-pa-card-x) !important;
}

/* Product gallery/quotation keep their functional layout, but belong to the
   same restrained manufacturer visual system. */
html body .isp-product-page .isp-product-hero {
    gap: 22px !important;
    margin-bottom: 14px;
}

html body .isp-product-page .isp-product-gallery {
    border-radius: var(--isp-pa-radius-lg) !important;
}

html body .isp-product-page .isp-quote-card {
    border-radius: var(--isp-pa-radius-lg) !important;
}

/* Technical/article hero: same geometry as root pages, less marketing-heavy. */
html body .isp-info-page .isp-info-hero {
    margin: 0 0 14px !important;
    padding: 30px 32px !important;
    background:
        radial-gradient(circle at 95% 8%, rgba(99,196,173,.16), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f5faf9 100%) !important;
}

html body .isp-info-page .isp-info-content-card {
    margin: 0 0 14px !important;
    padding: var(--isp-pa-card-y) var(--isp-pa-card-x) !important;
}

/* --------------------------------------------------------------------------
   3. Canonical page titles / section headings
   -------------------------------------------------------------------------- */
html body .isp-product-page .isp-product-summary h1,
html body .isp-info-page .isp-info-hero h1 {
    color: var(--isp-pa-navy-dark) !important;
    font-family: var(--isp-pa-font) !important;
    font-size: var(--isp-pa-h1) !important;
    line-height: 1.09 !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
}

html body .isp-product-page .isp-product-eyebrow,
html body .isp-product-page .isp-section-heading > span,
html body .isp-info-page .isp-info-eyebrow {
    color: var(--isp-pa-teal-dark) !important;
    font-family: var(--isp-pa-font) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

html body .isp-product-page .isp-section-heading {
    margin-bottom: 21px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--isp-pa-line) !important;
}

html body .isp-product-page .isp-section-heading h2 {
    margin: 4px 0 0 !important;
    color: var(--isp-pa-navy-dark) !important;
    font-family: var(--isp-pa-font) !important;
    font-size: var(--isp-pa-h2) !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}

/* --------------------------------------------------------------------------
   4. Canonical migrated content body
   -------------------------------------------------------------------------- */
html body .isp-content-body {
    width: 100%;
    max-width: 100%;
    color: var(--isp-pa-text);
    font-family: var(--isp-pa-font);
    font-size: var(--isp-pa-body);
    line-height: 1.7;
    overflow-wrap: anywhere;
}

html body .isp-content-body > :first-child { margin-top: 0 !important; }
html body .isp-content-body > :last-child { margin-bottom: 0 !important; }

html body .isp-content-body :where(p, li, dt, dd, blockquote, figcaption) {
    color: var(--isp-pa-text);
    font-family: var(--isp-pa-font) !important;
    font-size: var(--isp-pa-body) !important;
    line-height: 1.7 !important;
}

html body .isp-content-body p {
    margin: 0 0 15px !important;
}

html body .isp-content-body :where(h2, h3, h4, h5, h6) {
    max-width: 100%;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--isp-pa-navy-dark) !important;
    font-family: var(--isp-pa-font) !important;
    text-align: left !important;
    text-transform: none !important;
}

html body .isp-content-body h2 {
    margin: 30px 0 13px !important;
    font-size: var(--isp-pa-h2) !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}

html body .isp-content-body h3 {
    margin: 24px 0 10px !important;
    font-size: var(--isp-pa-h3) !important;
    line-height: 1.32 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}

html body .isp-content-body :where(h4, h5, h6) {
    margin: 20px 0 9px !important;
    font-size: var(--isp-pa-h4) !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
}

html body .isp-content-body strong { color: var(--isp-pa-navy-dark); }

html body .isp-content-body a:not(.isp-content-button) {
    color: var(--isp-pa-teal-dark) !important;
    font-weight: 650;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

html body .isp-content-body a:not(.isp-content-button):hover,
html body .isp-content-body a:not(.isp-content-button):focus {
    color: var(--isp-pa-teal) !important;
}

html body .isp-content-body :where(ul, ol) {
    margin: 13px 0 20px !important;
    padding-left: 24px !important;
}

html body .isp-content-body li {
    margin: 0 0 8px !important;
    padding-left: 3px !important;
}

html body .isp-content-body img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: var(--isp-pa-radius-sm);
}

html body .isp-content-body :where(iframe, video) { max-width: 100%; }

html body .isp-content-body blockquote {
    margin: 20px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid #cfe7e3 !important;
    border-left: 4px solid var(--isp-pa-teal) !important;
    border-radius: 0 var(--isp-pa-radius-sm) var(--isp-pa-radius-sm) 0 !important;
    background: var(--isp-pa-teal-soft) !important;
}

/* --------------------------------------------------------------------------
   5. One technical/specification table system
   -------------------------------------------------------------------------- */
html body .isp-content-body .isp-table-scroll,
html body .isp-content-body .isp-table-wrap,
html body .isp-content-body .table-responsive {
    width: 100%;
    max-width: 100%;
    margin: 18px 0 !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--isp-pa-line);
    border-radius: 12px;
    background: var(--isp-pa-white);
}

html body .isp-content-body table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 !important;
    border: 1px solid var(--isp-pa-line) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 12px !important;
    background: var(--isp-pa-white) !important;
    color: var(--isp-pa-text) !important;
    font-family: var(--isp-pa-font) !important;
    font-size: var(--isp-pa-small) !important;
    line-height: 1.55 !important;
    overflow: hidden;
}

/* Wrapper owns the outer border when present. */
html body .isp-content-body :where(.isp-table-scroll, .isp-table-wrap, .table-responsive) > table {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

html body .isp-content-body th,
html body .isp-content-body td {
    padding: 11px 13px !important;
    border: 0 !important;
    border-right: 1px solid var(--isp-pa-line) !important;
    border-bottom: 1px solid var(--isp-pa-line) !important;
    background: var(--isp-pa-white) !important;
    color: var(--isp-pa-text) !important;
    font-family: var(--isp-pa-font) !important;
    font-size: var(--isp-pa-small) !important;
    line-height: 1.55 !important;
    vertical-align: top !important;
    text-align: left !important;
}

html body .isp-content-body th {
    background: var(--isp-pa-soft) !important;
    color: var(--isp-pa-navy-dark) !important;
    font-weight: 800 !important;
}

html body .isp-content-body tr > :last-child { border-right: 0 !important; }
html body .isp-content-body tr:last-child > * { border-bottom: 0 !important; }

/* --------------------------------------------------------------------------
   6. Shared authored components for future migrations
   -------------------------------------------------------------------------- */
html body .isp-content-card {
    margin: 18px 0 !important;
    padding: 20px 22px !important;
    border: 1px solid var(--isp-pa-line) !important;
    border-radius: var(--isp-pa-radius-md) !important;
    background: var(--isp-pa-white) !important;
    box-shadow: var(--isp-pa-shadow-sm) !important;
}

html body .isp-content-note {
    margin: 18px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid #cfe7e3 !important;
    border-radius: var(--isp-pa-radius-md) !important;
    background: var(--isp-pa-teal-soft) !important;
    color: var(--isp-pa-text) !important;
}

html body .isp-content-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 !important;
}

html body .isp-content-button {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 17px !important;
    border: 1px solid var(--isp-pa-teal) !important;
    border-radius: var(--isp-pa-radius-sm) !important;
    background: var(--isp-pa-teal) !important;
    color: #fff !important;
    font-family: var(--isp-pa-font) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 7px 18px rgba(0,143,135,.16);
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

html body .isp-content-button:hover,
html body .isp-content-button:focus {
    border-color: var(--isp-pa-teal-dark) !important;
    background: var(--isp-pa-teal-dark) !important;
    color: #fff !important;
    box-shadow: 0 9px 22px rgba(0,116,111,.2);
    outline: none;
}

html body .isp-content-button--secondary {
    border-color: var(--isp-pa-line-strong) !important;
    background: var(--isp-pa-white) !important;
    color: var(--isp-pa-navy) !important;
    box-shadow: none;
}

html body .isp-content-button--secondary:hover,
html body .isp-content-button--secondary:focus {
    border-color: var(--isp-pa-teal) !important;
    background: var(--isp-pa-teal-soft) !important;
    color: var(--isp-pa-teal-dark) !important;
}

/* Standard component for a real product-specific online listing. It is only
   rendered when a migrated page actually contains a verified purchase URL. */
html body .isp-online-purchase {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin: 20px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid #cfe7e3 !important;
    border-radius: var(--isp-pa-radius-md) !important;
    background: linear-gradient(135deg, #f7fbfa 0%, var(--isp-pa-teal-soft) 100%) !important;
}

/* Keep marketplace actions together on desktop. The copy grows to consume
   the available space, naturally pushing the compact action group to the
   right without splitting individual marketplace buttons into separate rows. */
html body .isp-online-purchase__copy {
    flex: 1 1 520px;
    min-width: 0;
    padding-right: 8px;
}

html body .isp-online-purchase > .isp-content-button {
    flex: 0 0 auto;
    min-width: 104px;
    margin: 0 !important;
}

html body .isp-online-purchase__copy strong,
html body .isp-online-purchase__copy span { display: block; }
html body .isp-online-purchase__copy strong {
    color: var(--isp-pa-navy-dark);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
}
html body .isp-online-purchase__copy span {
    margin-top: 3px;
    color: var(--isp-pa-muted);
    font-size: 12px;
    line-height: 1.45;
}

/* --------------------------------------------------------------------------
   7. Shared bottom support strip
   -------------------------------------------------------------------------- */
html body .isp-page-support {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 18px;
    margin: 14px 0 0;
    padding: 22px 24px;
    border: 1px solid var(--isp-pa-line);
    border-radius: var(--isp-pa-radius-lg);
    background:
        radial-gradient(circle at 96% 6%, rgba(99,196,173,.18), transparent 31%),
        linear-gradient(135deg, #f8fbfb 0%, #ffffff 62%, #eef8f6 100%);
    box-shadow: var(--isp-pa-shadow-sm);
}

html body .isp-page-support__copy strong,
html body .isp-page-support__copy span { display: block; }
html body .isp-page-support__copy strong {
    color: var(--isp-pa-navy-dark);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 800;
}
html body .isp-page-support__copy span {
    margin-top: 4px;
    color: var(--isp-pa-muted);
    font-size: 12.5px;
    line-height: 1.55;
}
html body .isp-page-support__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

/* Product return link aligns with the common button language without becoming
   another primary CTA. */
html body .isp-product-page .isp-category-return {
    margin-top: 14px !important;
}
html body .isp-product-page .isp-category-return a {
    min-height: 42px !important;
    padding: 9px 14px !important;
    border: 1px solid var(--isp-pa-line-strong) !important;
    border-radius: var(--isp-pa-radius-sm) !important;
    background: var(--isp-pa-white) !important;
    color: var(--isp-pa-navy) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   8. Legacy safety: do not force migrated rules onto historical authored CSS
   -------------------------------------------------------------------------- */
html body .isp-product-description--custom,
html body .isp-page-body--authored {
    overflow-wrap: anywhere;
}
html body .isp-product-description--custom img,
html body .isp-page-body--authored img { max-width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   9. Responsive behaviour
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
    html body .isp-product-page .isp-product-shell,
    html body .isp-info-page .isp-info-shell {
        width: min(100% - 24px, var(--isp-pa-content-max)) !important;
    }

    html body .isp-product-page,
    html body .isp-info-page {
        padding-top: 12px !important;
        padding-bottom: 28px !important;
    }

    html body .isp-product-page .isp-product-hero { margin-bottom: 12px; }

    html body .isp-info-page .isp-info-hero {
        margin-bottom: 12px !important;
        padding: 24px 22px !important;
    }

    html body .isp-info-page .isp-info-content-card {
        margin-bottom: 12px !important;
        padding: 22px 20px !important;
    }

    html body .isp-product-page .isp-product-details-section {
        padding: 22px 20px !important;
    }

    html body .isp-content-body h2 { margin-top: 26px !important; }

    html body .isp-page-support {
        grid-template-columns: 1fr;
        padding: 19px 18px;
    }
    html body .isp-page-support__actions { justify-content: flex-start; }
}

@media (max-width: 560px) {
    html body .isp-product-page .isp-product-shell,
    html body .isp-info-page .isp-info-shell {
        width: calc(100% - 20px) !important;
    }

    html body .isp-product-page .isp-product-summary h1,
    html body .isp-info-page .isp-info-hero h1 {
        font-size: 30px !important;
        line-height: 1.12 !important;
    }

    html body .isp-content-body { font-size: 14px !important; }
    html body .isp-content-body :where(p, li, dt, dd, blockquote, figcaption) { font-size: 14px !important; }
    html body .isp-content-body h2 { font-size: 24px !important; }
    html body .isp-content-body h3 { font-size: 18px !important; }
    html body .isp-content-body :where(h4,h5,h6) { font-size: 15px !important; }

    html body .isp-content-actions,
    html body .isp-page-support__actions { display: grid; grid-template-columns: 1fr; }
    html body .isp-content-button { width: 100%; }

    html body .isp-online-purchase { align-items: stretch; }
    html body .isp-online-purchase__copy {
        flex-basis: 100%;
        padding-right: 0;
    }
    html body .isp-online-purchase .isp-content-button {
        width: 100%;
        min-width: 0;
    }

    html body .isp-content-body .isp-table-scroll,
    html body .isp-content-body .isp-table-wrap,
    html body .isp-content-body .table-responsive {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /*
     * Canonical technical/specification tables must fit a phone viewport.
     * Do not force a desktop minimum width here: that caused the first
     * column to be clipped on 320-430px product pages.
     */
    html body .isp-content-body :where(.isp-table-scroll, .isp-table-wrap, .table-responsive, .isp-page-table-shell) > table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    html body .isp-content-body :where(.isp-table-scroll, .isp-table-wrap, .table-responsive, .isp-page-table-shell) > table th {
        width: 38% !important;
    }

    html body .isp-content-body :where(.isp-table-scroll, .isp-table-wrap, .table-responsive, .isp-page-table-shell) > table td {
        width: 62% !important;
    }

    html body .isp-content-body :where(.isp-table-scroll, .isp-table-wrap, .table-responsive, .isp-page-table-shell) > table th,
    html body .isp-content-body :where(.isp-table-scroll, .isp-table-wrap, .table-responsive, .isp-page-table-shell) > table td {
        padding: 9px 8px !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .isp-content-button { transition: none; }
}


/* --------------------------------------------------------------------------
   10. Canonical product / article video presentation
   --------------------------------------------------------------------------
   A video should read as intentional technical media, not as a browser-default
   300x150 iframe.  Keep it restrained and manufacturer-like: centered,
   responsive, 16:9, and visually related to the shared card system.
   -------------------------------------------------------------------------- */
html body .isp-content-body .isp-media-embed {
    position: relative !important;
    display: block !important;
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    aspect-ratio: 16 / 9 !important;
    margin: 16px auto 30px !important;
    overflow: hidden !important;
    border: 1px solid var(--isp-pa-line-strong) !important;
    border-radius: var(--isp-pa-radius-md) !important;
    background: #071521 !important;
    box-shadow: 0 12px 30px rgba(31,58,75,.10) !important;
    isolation: isolate !important;
}

html body .isp-content-body .isp-media-embed::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    content: "";
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

html body .isp-content-body .isp-media-embed iframe,
html body .isp-content-body .isp-media-embed video {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #071521 !important;
}

/* Keep the media heading close enough to the frame to read as one section. */
html body .isp-content-body h2 + .isp-media-embed,
html body .isp-content-body h3 + .isp-media-embed {
    margin-top: 13px !important;
}

@media (max-width: 900px) {
    html body .isp-content-body .isp-media-embed {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 27px !important;
    }
}

@media (max-width: 560px) {
    html body .isp-content-body .isp-media-embed {
        width: 100% !important;
        max-width: 100% !important;
        margin: 12px 0 25px !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 22px rgba(31,58,75,.09) !important;
    }
}


/* ===== source: css/indos-fcp-v1.css ===== */

/* =========================================================
   IndoSurgicals Flagship Clinical Product Standard — FCP v1.0
   Shared, scoped product-description CSS for diagnostic instruments.
   ========================================================= */

.is-flagship,
.is-flagship * {
    box-sizing: border-box;
}

.is-flagship {
    --is-ink: #16324a;
    --is-text: #40566a;
    --is-muted: #6d8091;
    --is-teal: #009b95;
    --is-teal-dark: #08746f;
    --is-teal-soft: #eef9f8;
    --is-blue-soft: #f4f8fb;
    --is-line: #d8e4ea;
    --is-white: #ffffff;
    --is-shadow: 0 10px 28px rgba(22, 50, 74, 0.07);

    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--is-text);
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.72;
}

.is-flagship h2,
.is-flagship h3,
.is-flagship p,
.is-flagship ul,
.is-flagship table,
.is-flagship figure {
    margin-top: 0;
}

.is-flagship h2,
.is-flagship h3 {
    color: var(--is-ink);
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-weight: 800;
}

.is-flagship h2 {
    margin-bottom: 12px;
    font-size: clamp(24px, 2.4vw, 30px);
    line-height: 1.25;
}

.is-flagship h3 {
    margin-bottom: 7px;
    font-size: 15px;
    line-height: 1.4;
}

.is-flagship p {
    margin-bottom: 13px;
}

.is-flagship p:last-child {
    margin-bottom: 0;
}

.is-flagship a {
    color: var(--is-teal-dark);
}

.is-flagship strong {
    color: var(--is-ink);
}

/* HERO */
.is-flagship__hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    gap: 22px;
    align-items: center;
    margin: 0 0 22px;
    padding: clamp(24px, 4vw, 40px);
    overflow: hidden;
    background:
        radial-gradient(circle at 95% 0%, rgba(0, 155, 149, 0.14), transparent 32%),
        linear-gradient(135deg, #f2fbfa 0%, #ffffff 57%, #f5f9fc 100%);
    border: 1px solid #cfe5e3;
    border-radius: 17px;
    box-shadow: var(--is-shadow);
}

.is-flagship__hero-copy,
.is-flagship__hero-panel {
    min-width: 0;
}

.is-flagship__eyebrow,
.is-flagship__section-label {
    display: inline-block;
    margin-bottom: 9px;
    color: var(--is-teal-dark);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.is-flagship__hero h2 {
    max-width: 760px;
    margin-bottom: 12px;
    font-size: clamp(27px, 3.4vw, 38px);
    line-height: 1.16;
    letter-spacing: -0.03em;
}

.is-flagship__lead {
    max-width: 790px;
    margin-bottom: 17px;
    color: var(--is-text);
    font-size: 15px;
    line-height: 1.72;
}

.is-flagship__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.is-flagship__chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    color: #155d59;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #cde2e0;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.is-flagship__hero-panel {
    padding: 21px 19px;
    color: #edf9f8;
    background: linear-gradient(145deg, #17364d 0%, #174e5a 58%, #08746f 100%);
    border-radius: 15px;
    box-shadow: 0 14px 30px rgba(22, 50, 74, 0.16);
}

.is-flagship__hero-panel h3 {
    margin-bottom: 12px;
    color: #ffffff;
    font-size: 17px;
}

.is-flagship__hero-panel ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.is-flagship__hero-panel li {
    position: relative;
    margin: 0;
    padding: 8px 9px 8px 34px;
    color: #eef9f8;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 9px;
    font-size: 12.5px;
    line-height: 1.45;
}

.is-flagship__hero-panel li::before {
    position: absolute;
    top: 8px;
    left: 9px;
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    content: "✓";
    color: var(--is-teal-dark);
    background: #ffffff;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 900;
}

/* SECTION */
.is-flagship__section {
    margin: 0 0 22px;
    padding: clamp(20px, 3vw, 30px);
    background: var(--is-white);
    border: 1px solid var(--is-line);
    border-radius: 17px;
    box-shadow: var(--is-shadow);
}

.is-flagship__section-head {
    margin-bottom: 16px;
}

.is-flagship__section-head p {
    max-width: 860px;
    margin-bottom: 0;
    color: var(--is-muted);
}

/* FEATURE GRID */
.is-flagship__feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.is-flagship__feature {
    position: relative;
    min-width: 0;
    padding: 17px 16px 16px 45px;
    background: var(--is-blue-soft);
    border: 1px solid var(--is-line);
    border-radius: 13px;
}

.is-flagship__feature::before {
    position: absolute;
    top: 16px;
    left: 15px;
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    content: "✓";
    color: #ffffff;
    background: var(--is-teal);
    border-radius: 7px;
    font-size: 11px;
    font-weight: 900;
}

.is-flagship__feature p {
    color: var(--is-muted);
    font-size: 13px;
    line-height: 1.6;
}

/* TWO COLUMN */
.is-flagship__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.is-flagship__info-card {
    min-width: 0;
    padding: 19px;
    background: linear-gradient(145deg, #ffffff, #f7fafc);
    border: 1px solid var(--is-line);
    border-radius: 14px;
}

.is-flagship__info-card p {
    color: var(--is-muted);
}

/* VIDEO */
.is-flagship__video-frame {
    width: min(100%, 900px);
    margin: 0 auto;
    padding: 8px;
    background: #ffffff;
    border: 1px solid var(--is-line);
    border-radius: 16px;
    box-shadow: var(--is-shadow);
}

.is-flagship__video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #102235;
    border-radius: 11px;
}

.is-flagship__video iframe,
.is-flagship__video video {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

/* TABLES */
.is-flagship__table-wrap {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--is-line);
    border-radius: 14px;
}

.is-flagship table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.is-flagship th,
.is-flagship td {
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid var(--is-line);
    font-size: 12.5px;
    line-height: 1.55;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: normal;
}

.is-flagship tbody th {
    width: 31%;
    color: var(--is-ink);
    background: #eef6f7;
    font-weight: 800;
}

.is-flagship td {
    color: var(--is-text);
    background: #ffffff;
}

.is-flagship thead th {
    color: #ffffff;
    background: var(--is-ink);
    font-weight: 800;
}

.is-flagship tr:last-child th,
.is-flagship tr:last-child td {
    border-bottom: 0;
}

.is-flagship__swatch {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 7px;
    border: 1px solid rgba(0, 0, 0, 0.18);
    border-radius: 50%;
    vertical-align: -1px;
}

/* NOTE */
.is-flagship__note {
    margin-top: 14px;
    padding: 14px 15px;
    color: #315a5c;
    background: var(--is-teal-soft);
    border: 1px solid #cbe5e2;
    border-radius: 11px;
    font-size: 12.5px;
}

/* FAQ */
.is-flagship__faq {
    display: grid;
    gap: 8px;
}

.is-flagship__faq details {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--is-line);
    border-radius: 11px;
}

.is-flagship__faq summary {
    position: relative;
    display: block;
    padding: 13px 42px 13px 15px;
    color: var(--is-ink);
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
    list-style: none;
}

.is-flagship__faq summary::-webkit-details-marker {
    display: none;
}

.is-flagship__faq summary::after {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    content: "+";
    color: var(--is-teal-dark);
    font-size: 20px;
    font-weight: 500;
}

.is-flagship__faq details[open] summary::after {
    content: "−";
}

.is-flagship__faq-answer {
    padding: 0 15px 14px;
    color: var(--is-muted);
    font-size: 12.8px;
    line-height: 1.65;
}

/* ONLINE PURCHASE */
.is-flagship__buy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: clamp(20px, 3vw, 27px);
    background: linear-gradient(135deg, #eef9f8, #ffffff 65%);
    border: 1px solid #cce4e2;
    border-radius: 17px;
    box-shadow: var(--is-shadow);
}

.is-flagship__buy h2 {
    margin-bottom: 5px;
    font-size: 21px;
}

.is-flagship__buy p {
    margin-bottom: 0;
    color: var(--is-muted);
    font-size: 12.8px;
}

.is-flagship__buy-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.is-flagship__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    color: #ffffff !important;
    background: var(--is-teal);
    border: 1px solid var(--is-teal);
    border-radius: 9px;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.is-flagship__button--secondary {
    color: var(--is-ink) !important;
    background: #ffffff;
    border-color: #c8d8df;
}

.is-flagship__button:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 17px rgba(22, 50, 74, 0.12);
}

/* RESPONSIVE */
@media (max-width: 980px) {
    .is-flagship__hero {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 700px) {
    .is-flagship {
        font-size: 14px;
    }

    .is-flagship__hero,
    .is-flagship__section,
    .is-flagship__buy {
        border-radius: 13px;
    }

    .is-flagship__hero {
        padding: 20px 16px;
    }

    .is-flagship__section {
        padding: 18px 16px;
    }

    .is-flagship__split {
        grid-template-columns: 1fr;
    }

    .is-flagship__buy {
        grid-template-columns: 1fr;
    }

    .is-flagship__buy-buttons {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .is-flagship__feature-grid {
        grid-template-columns: 1fr;
    }

    .is-flagship__chips {
        display: grid;
        grid-template-columns: 1fr;
    }

    .is-flagship__chip {
        width: 100%;
    }

    .is-flagship__video-frame {
        padding: 5px;
        border-radius: 12px;
    }

    .is-flagship__video {
        border-radius: 8px;
    }

    .is-flagship__table-wrap {
        border-radius: 11px;
    }

    .is-flagship table {
        table-layout: fixed;
    }

    .is-flagship tbody th {
        width: 38%;
    }

    .is-flagship th,
    .is-flagship td {
        padding: 9px 8px;
        font-size: 11.5px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .is-flagship__buy-buttons {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .is-flagship__button {
        width: 100%;
    }
}

/* =========================================================
   Responsive density refinement v2
   Desktop >= 821px is intentionally unchanged.
   ========================================================= */

.is-flagship__section > ul {
    margin: 0;
    padding-left: 21px;
}

.is-flagship__section > ul li {
    margin-bottom: 6px;
    padding-left: 2px;
}

.is-flagship__section > ul li:last-child {
    margin-bottom: 0;
}

.is-flagship table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.is-flagship__variant-table th:first-child,
.is-flagship__variant-table td:first-child {
    width: 31%;
}

@media (max-width: 820px) {
    .is-flagship__hero,
    .is-flagship__section,
    .is-flagship__buy {
        margin-bottom: 16px;
    }

    .is-flagship__hero {
        gap: 16px;
        padding: 18px 14px;
    }

    .is-flagship__section {
        padding: 16px 13px;
    }

    .is-flagship__buy {
        padding: 17px 13px;
    }

    .is-flagship__section-head {
        margin-bottom: 13px;
    }

    .is-flagship h2 {
        font-size: 22px;
        line-height: 1.28;
    }

    .is-flagship__hero h2 {
        font-size: 27px;
    }

    .is-flagship__feature-grid {
        gap: 9px;
    }

    .is-flagship__feature,
    .is-flagship__info-card {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .is-flagship__note {
        margin-top: 11px;
        padding: 11px 12px;
    }

    .is-flagship th,
    .is-flagship td {
        padding: 9px 9px;
    }
}

@media (max-width: 560px) {
    .is-flagship {
        font-size: 13.5px;
        line-height: 1.62;
    }

    .is-flagship__hero,
    .is-flagship__section,
    .is-flagship__buy {
        margin-bottom: 12px;
        border-radius: 11px;
        box-shadow: 0 5px 14px rgba(22, 50, 74, 0.045);
    }

    .is-flagship__hero {
        gap: 12px;
        padding: 15px 10px;
    }

    .is-flagship__section {
        padding: 13px 8px;
    }

    .is-flagship__buy {
        gap: 12px;
        padding: 14px 10px;
    }

    .is-flagship__section-head {
        margin-bottom: 10px;
    }

    .is-flagship__section-label,
    .is-flagship__eyebrow {
        margin-bottom: 6px;
        font-size: 10px;
    }

    .is-flagship h2 {
        margin-bottom: 8px;
        font-size: 20.5px;
        line-height: 1.25;
    }

    .is-flagship__hero h2 {
        font-size: 25px;
        line-height: 1.18;
    }

    .is-flagship h3 {
        margin-bottom: 5px;
        font-size: 14px;
    }

    .is-flagship p {
        margin-bottom: 10px;
    }

    .is-flagship__lead {
        margin-bottom: 12px;
        font-size: 13.5px;
        line-height: 1.62;
    }

    .is-flagship__hero-panel {
        padding: 14px 11px;
        border-radius: 11px;
    }

    .is-flagship__hero-panel li {
        padding: 7px 7px 7px 31px;
        font-size: 12px;
    }

    .is-flagship__feature-grid,
    .is-flagship__split,
    .is-flagship__faq {
        gap: 7px;
    }

    .is-flagship__feature {
        padding: 12px 9px 12px 36px;
        border-radius: 9px;
    }

    .is-flagship__feature::before {
        top: 12px;
        left: 9px;
        width: 19px;
        height: 19px;
    }

    .is-flagship__feature p {
        font-size: 12.5px;
        line-height: 1.55;
    }

    .is-flagship__info-card {
        padding: 12px 10px;
        border-radius: 9px;
    }

    .is-flagship__section > ul {
        margin: 0;
        padding-left: 18px;
    }

    .is-flagship__section > ul li {
        margin-bottom: 5px;
        padding-left: 0;
    }

    .is-flagship__table-wrap {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        border-radius: 9px;
    }

    .is-flagship table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    .is-flagship tbody th {
        width: 36%;
    }

    .is-flagship th,
    .is-flagship td {
        padding: 7px 6px;
        font-size: 11px;
        line-height: 1.45;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .is-flagship__variant-table th:first-child,
    .is-flagship__variant-table td:first-child {
        width: 34%;
    }

    .is-flagship__swatch {
        width: 10px;
        height: 10px;
        margin-right: 5px;
    }

    .is-flagship__note {
        margin-top: 9px;
        padding: 10px 9px;
        border-radius: 8px;
        font-size: 11.5px;
        line-height: 1.55;
    }

    .is-flagship__video-frame {
        width: 100%;
        padding: 3px;
        border-radius: 9px;
    }

    .is-flagship__video {
        border-radius: 6px;
    }

    .is-flagship__faq summary {
        padding: 11px 34px 11px 10px;
        font-size: 12.5px;
    }

    .is-flagship__faq summary::after {
        right: 10px;
    }

    .is-flagship__faq-answer {
        padding: 0 10px 11px;
        font-size: 12px;
    }

    .is-flagship__buy h2 {
        font-size: 19px;
    }

    .is-flagship__buy p {
        font-size: 12px;
    }
}


/* =========================================================
   Mobile table text-wrap correction v3
   Prevents global/legacy nowrap rules from clipping cells.
   ========================================================= */

.is-flagship .is-flagship__table-wrap table,
.is-flagship .is-flagship__table-wrap tbody,
.is-flagship .is-flagship__table-wrap thead,
.is-flagship .is-flagship__table-wrap tr,
.is-flagship .is-flagship__table-wrap th,
.is-flagship .is-flagship__table-wrap td {
    white-space: normal !important;
}

.is-flagship .is-flagship__table-wrap th,
.is-flagship .is-flagship__table-wrap td {
    width: auto;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto;
}

@media (max-width: 560px) {
    .is-flagship .is-flagship__table-wrap {
        overflow: visible !important;
    }

    .is-flagship .is-flagship__table-wrap table {
        display: table !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .is-flagship .is-flagship__table-wrap tbody th {
        width: 37% !important;
    }

    .is-flagship .is-flagship__table-wrap th,
    .is-flagship .is-flagship__table-wrap td {
        padding: 7px 6px !important;
        font-size: 10.8px !important;
        line-height: 1.42 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        vertical-align: top !important;
    }

    .is-flagship .is-flagship__variant-table th:first-child,
    .is-flagship .is-flagship__variant-table td:first-child {
        width: 34% !important;
    }
}


/* =========================================================
   Responsive outer-gutter refinement v4
   Desktop keeps the normal product-page gutter.
   Tablet/mobile reclaim part of the parent content padding.
   ========================================================= */

@media (max-width: 820px) {
    .is-flagship {
        width: auto !important;
        max-width: none !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
    }
}

@media (max-width: 560px) {
    .is-flagship {
        width: auto !important;
        max-width: none !important;
        margin-left: -8px !important;
        margin-right: -8px !important;
    }
}


/* =========================================================
   Responsive table column proportions v5
   Restores intentional desktop/tablet widths after the
   text-wrap safety rules.
   ========================================================= */

@media (min-width: 821px) {
    .is-flagship .is-flagship__table-wrap tbody th {
        width: 29% !important;
    }

    .is-flagship .is-flagship__table-wrap tbody td {
        width: 71% !important;
    }

    .is-flagship .is-flagship__variant-table th:first-child,
    .is-flagship .is-flagship__variant-table td:first-child {
        width: 24% !important;
    }

    .is-flagship .is-flagship__variant-table th:nth-child(2),
    .is-flagship .is-flagship__variant-table td:nth-child(2) {
        width: 76% !important;
    }
}

@media (min-width: 561px) and (max-width: 820px) {
    .is-flagship .is-flagship__table-wrap tbody th {
        width: 34% !important;
    }

    .is-flagship .is-flagship__table-wrap tbody td {
        width: 66% !important;
    }

    .is-flagship .is-flagship__variant-table th:first-child,
    .is-flagship .is-flagship__variant-table td:first-child {
        width: 30% !important;
    }

    .is-flagship .is-flagship__variant-table th:nth-child(2),
    .is-flagship .is-flagship__variant-table td:nth-child(2) {
        width: 70% !important;
    }
}

/* FCP v1.0 procurement close: the functional quote form remains the
   canonical transaction control in the product shell; this link gives long
   descriptions a matching, keyboard-accessible return to that form. */
.is-flagship__cta-section {
    background:
        radial-gradient(circle at 96% 8%, rgba(0, 155, 149, 0.13), transparent 31%),
        linear-gradient(135deg, #f4fbfa 0%, #ffffff 62%, #eef7f6 100%);
}

.is-flagship__cta-copy {
    max-width: 760px;
}

.is-flagship__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 6px;
    padding: 10px 17px;
    border: 1px solid #009b95;
    border-radius: 9px;
    background: #009b95;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 7px 18px rgba(0, 143, 135, 0.16);
}

.is-flagship__cta:hover,
.is-flagship__cta:focus {
    border-color: #08746f;
    background: #08746f;
    color: #ffffff !important;
    outline: none;
}

/* =========================================================
   FCP v1.0 Highlight Rail — below-hero correction v1.0.1
   The accepted Silvery II-SS composition keeps the hero copy first,
   then presents Product Highlights as a full-width dark rail below it.
   The higher-specificity selectors intentionally win over legacy
   description-level inline FCP CSS still present on some live records.
   ========================================================= */

.is-flagship .is-flagship__hero {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.is-flagship .is-flagship__hero-copy,
.is-flagship .is-flagship__hero-panel {
    width: 100% !important;
}

.is-flagship .is-flagship__hero-panel ul {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.is-flagship .is-flagship__hero-panel li {
    display: flex !important;
    min-height: 86px !important;
    align-items: center !important;
    padding: 15px 14px 15px 46px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.is-flagship .is-flagship__hero-panel li::before {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

@media (max-width: 1199px) {
    .is-flagship .is-flagship__hero-panel ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .is-flagship .is-flagship__hero-panel ul {
        grid-template-columns: 1fr !important;
    }

    .is-flagship .is-flagship__hero-panel li {
        min-height: 0 !important;
        padding: 11px 10px 11px 38px !important;
        font-size: 12.5px !important;
    }
}


/* ===== source: css/indos-diagnostic-product-consistency-r1.css ===== */
/*
 * Highlight Card Layout Hotfix v1.0.0 — 2026-09-12
 * Top-aligns Product Highlights title/body hierarchy and icon placement.
 *
 * IndoSurgicals Diagnostic Product Consistency R1 v1.0.0
 * Scope: Product Details on /diagnostic-products-manufacturer/* product pages.
 *
 * Final authority for common Diagnostic visual behavior. Product descriptions
 * retain product-specific semantic structures, while shared layout, scientific
 * typography, procurement CTAs and known reusable components are normalized here.
 */

#ispProductDescription.isp-diagnostic-content-system {
    --isp-diag-ink: #173249;
    --isp-diag-text: #496173;
    --isp-diag-muted: #708396;
    --isp-diag-line: #d7e3e8;
    --isp-diag-soft: #f4f8f9;
    --isp-diag-teal: #078b84;
    --isp-diag-teal-dark: #08746f;
    --isp-diag-navy: #15384f;
    --isp-diag-radius: 16px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-family: "Poppins", Arial, sans-serif;
}

#ispProductDescription.isp-diagnostic-content-system *,
#ispProductDescription.isp-diagnostic-content-system *::before,
#ispProductDescription.isp-diagnostic-content-system *::after {
    box-sizing: border-box;
}

/* Parent-safe roots. Preserve each product's semantic design, but keep every
   content family inside the Product Details parent and on one typography system. */
#ispProductDescription.isp-diagnostic-content-system .is-flagship,
#ispProductDescription.isp-diagnostic-content-system .isp-f526-wrap,
#ispProductDescription.isp-diagnostic-content-system .isp-td-release,
#ispProductDescription.isp-diagnostic-content-system .is-tf15070,
#ispProductDescription.isp-diagnostic-content-system .is-st15072,
#ispProductDescription.isp-diagnostic-content-system .is-tls15073,
#ispProductDescription.isp-diagnostic-content-system .is-glu-flagship,
#ispProductDescription.isp-diagnostic-content-system .is-gon15405,
#ispProductDescription.isp-diagnostic-content-system .is-pod93609,
#ispProductDescription.isp-diagnostic-content-system .is-aca15065,
#ispProductDescription.isp-diagnostic-content-system .is-aci15068,
#ispProductDescription.isp-diagnostic-content-system .is-acis15069,
#ispProductDescription.isp-diagnostic-content-system .is-16130-wrap,
#ispProductDescription.isp-diagnostic-content-system .is-mw16132,
#ispProductDescription.isp-diagnostic-content-system .is-lio16138,
#ispProductDescription.isp-diagnostic-content-system .is-rg16140 {
    position: relative;
    left: auto;
    right: auto;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none;
    font-family: "Poppins", Arial, sans-serif !important;
}

/* Scientific notation: never allow the numeric suffix to fall onto a new line. */
#ispProductDescription.isp-diagnostic-content-system sub,
#ispProductDescription.isp-diagnostic-content-system sup {
    display: inline !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    white-space: nowrap !important;
}
#ispProductDescription.isp-diagnostic-content-system sub {
    vertical-align: sub !important;
    font-size: .72em !important;
}
#ispProductDescription.isp-diagnostic-content-system sup {
    vertical-align: super !important;
    font-size: .72em !important;
}
#ispProductDescription.isp-diagnostic-content-system .isp-scientific-token {
    display: inline-block !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

/* Final Flagship hero/highlight rail. This replaces the repeated per-product
   wide-screen correction blocks removed by the R1 migration. */
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-copy,
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel {
    width: 100% !important;
    max-width: 100% !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel {
    padding: 15px 16px 16px !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(22, 50, 74, .11) !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel h3 {
    margin-bottom: 10px !important;
    font-size: 14.5px !important;
    line-height: 1.35 !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel ul {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li {
    display: block !important;
    min-height: 118px !important;
    padding: 15px 14px 15px 44px !important;
    color: rgba(255,255,255,.90) !important;
    -webkit-text-fill-color: rgba(255,255,255,.90) !important;
    font-size: 12.8px !important;
    font-weight: 450 !important;
    line-height: 1.56 !important;
    text-align: left !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li strong {
    display: block !important;
    margin: 0 0 6px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 13.6px !important;
    font-weight: 800 !important;
    line-height: 1.34 !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li strong + br {
    display: none !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li::before,
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__feature::before {
    content: "\2713" !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li::before {
    top: 16px !important;
    left: 14px !important;
    transform: none !important;
}

/* Shared two-column instrument table. */
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #fff !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead {
    display: table-header-group !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody {
    display: table-row-group !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tr {
    display: table-row !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table th,
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table td {
    display: table-cell !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th {
    padding: 12px 13px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: var(--isp-diag-navy) !important;
    border: 0 !important;
    border-right: 1px solid rgba(255,255,255,.14) !important;
    font-size: 12.3px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    vertical-align: middle !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td {
    height: auto !important;
    padding: 11px 13px !important;
    color: #40566a !important;
    -webkit-text-fill-color: #40566a !important;
    background: #fff !important;
    border: 0 !important;
    border-right: 1px solid var(--isp-diag-line) !important;
    border-bottom: 1px solid var(--isp-diag-line) !important;
    font-size: 12.3px !important;
    line-height: 1.55 !important;
    vertical-align: top !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th:first-child,
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:first-child {
    width: 31% !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th:nth-child(2),
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:nth-child(2) {
    width: 69% !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:first-child {
    color: var(--isp-diag-ink) !important;
    -webkit-text-fill-color: var(--isp-diag-ink) !important;
    background: #eef6f7 !important;
    font-weight: 800 !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table th:last-child,
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table td:last-child {
    border-right: 0 !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

/* Shared accessory-card bullet alignment. */
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__accessory-card h3 {
    margin-bottom: 9px !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__accessory-card ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__accessory-card li {
    position: relative !important;
    margin: 0 0 6px !important;
    padding: 0 0 0 18px !important;
    color: var(--is-muted, var(--isp-diag-muted)) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    list-style: none !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__accessory-card li:last-child {
    margin-bottom: 0 !important;
}
#ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__accessory-card li::before {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    top: .66em !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: var(--is-teal, var(--isp-diag-teal)) !important;
    transform: translateY(-50%) !important;
}

/* FAQ minus is a CSS escape, not an HTML entity. */
#ispProductDescription.isp-diagnostic-content-system details[open] > summary::after {
    content: "\2212" !important;
}

/* Procurement close.
   Only SECTION elements whose class ends in "cta" are treated as procurement
   bands; anchor.is-flagship__cta remains a button and is intentionally excluded. */
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] {
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 24px 26px 25px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 31%),
        linear-gradient(118deg, #15384f 0%, #0d5964 50%, #087b75 100%) !important;
    border: 1px solid rgba(12,79,91,.16) !important;
    border-radius: 17px !important;
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(16,52,73,.12) !important;
    text-align: left !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"]::before {
    content: "PROCUREMENT SUPPORT" !important;
    display: block !important;
    margin: 0 0 8px !important;
    color: #aee9e4 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] h2,
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] h3,
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] h4 {
    max-width: 760px !important;
    margin: 0 0 7px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: clamp(18px, 1.4vw, 22px) !important;
    line-height: 1.28 !important;
    font-weight: 750 !important;
    letter-spacing: -.015em !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] p {
    max-width: 920px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,.88) !important;
    font-size: 13.5px !important;
    line-height: 1.68 !important;
    font-weight: 500 !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] > div > h2,
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] > div > h3,
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] > div > h4 {
    margin-top: 0 !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] > div > p {
    color: rgba(255,255,255,.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] a {
    display: inline-flex !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 14px !important;
    padding: 9px 14px !important;
    border: 1px solid rgba(255,255,255,.48) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] a:hover,
#ispProductDescription.isp-diagnostic-content-system section[class$="cta"] a:focus-visible {
    background: #fff !important;
    color: var(--isp-diag-teal-dark) !important;
    -webkit-text-fill-color: var(--isp-diag-teal-dark) !important;
    outline: none !important;
}

/* Existing Flagship CTA-section pattern is a light clinical section containing
   a true CTA button; keep that semantic difference while harmonising spacing. */
#ispProductDescription.isp-diagnostic-content-system .is-flagship__cta-section {
    background:
        radial-gradient(circle at 96% 8%, rgba(0,155,149,.11), transparent 31%),
        linear-gradient(135deg, #f3fbfa 0%, #fff 62%, #eef7f6 100%) !important;
    border-color: #cfe2e3 !important;
}
#ispProductDescription.isp-diagnostic-content-system a.is-flagship__cta {
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 16px !important;
    border: 1px solid var(--isp-diag-teal) !important;
    border-radius: 9px !important;
    background: var(--isp-diag-teal) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* Tablet/mobile */
@media (max-width: 1199px) {
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel ul {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}
@media (max-width: 820px) {
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th:first-child,
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:first-child {
        width: 34% !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th:nth-child(2),
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:nth-child(2) {
        width: 66% !important;
    }
}
@media (max-width: 560px) {
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel ul {
        grid-template-columns: 1fr !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li {
        min-height: 0 !important;
        padding: 12px 11px 12px 39px !important;
        font-size: 12.5px !important;
        line-height: 1.52 !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li::before {
        top: 13px !important;
        left: 11px !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__hero-panel li strong {
        margin-bottom: 5px !important;
        font-size: 13px !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th,
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td {
        padding: 8px 7px !important;
        font-size: 10.8px !important;
        line-height: 1.42 !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th:first-child,
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:first-child {
        width: 38% !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table thead th:nth-child(2),
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__instrument-table tbody td:nth-child(2) {
        width: 62% !important;
    }
    #ispProductDescription.isp-diagnostic-content-system .is-flagship .is-flagship__accessory-card li {
        padding-left: 17px !important;
        font-size: 12.5px !important;
    }
    #ispProductDescription.isp-diagnostic-content-system section[class$="cta"] {
        margin-top: 20px !important;
        padding: 20px 19px 21px !important;
        border-radius: 14px !important;
    }
    #ispProductDescription.isp-diagnostic-content-system section[class$="cta"] h2,
    #ispProductDescription.isp-diagnostic-content-system section[class$="cta"] h3,
    #ispProductDescription.isp-diagnostic-content-system section[class$="cta"] h4 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
    #ispProductDescription.isp-diagnostic-content-system section[class$="cta"] p {
        font-size: 13px !important;
        line-height: 1.62 !important;
    }
}


/* ===== source: css/indos-hospital-furniture-consistency-r1.css ===== */
/* IndoSurgicals Hospital Furniture Final Consistency R1 v1.0.0
   Parent-safe normalization for rich Hospital Furniture product descriptions.
   Product-specific authored components retain their individual structure. */

.isp-product-description.isp-hospital-furniture-content-system {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

.isp-product-description.isp-hospital-furniture-content-system,
.isp-product-description.isp-hospital-furniture-content-system * {
    box-sizing: border-box;
}

.isp-product-description.isp-hospital-furniture-content-system > div,
.isp-product-description.isp-hospital-furniture-content-system > section,
.isp-product-description.isp-hospital-furniture-content-system > article {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.isp-product-description.isp-hospital-furniture-content-system img,
.isp-product-description.isp-hospital-furniture-content-system video,
.isp-product-description.isp-hospital-furniture-content-system iframe,
.isp-product-description.isp-hospital-furniture-content-system svg {
    max-width: 100%;
}

.isp-product-description.isp-hospital-furniture-content-system img {
    height: auto;
}

.isp-product-description.isp-hospital-furniture-content-system table {
    max-width: 100%;
}

.isp-product-description.isp-hospital-furniture-content-system .table-responsive,
.isp-product-description.isp-hospital-furniture-content-system [class*="table-wrap"],
.isp-product-description.isp-hospital-furniture-content-system [class*="table-wrapper"] {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
    .isp-product-description.isp-hospital-furniture-content-system {
        overflow-x: hidden;
    }

    .isp-product-description.isp-hospital-furniture-content-system > div,
    .isp-product-description.isp-hospital-furniture-content-system > section,
    .isp-product-description.isp-hospital-furniture-content-system > article {
        min-width: 0 !important;
    }
}


/* ===== source: css/indos-pen-flashlight-r1.css ===== */
/*
 * IndoSurgicals Pen Flashlight - FCP v1.0 R1 route refinements v1.0.1.
 * Loaded only for diagnostic-products-manufacturer/pen-flashlight category
 * and product routes.
 */

.isp-subcategory-page .isp-product-image .isp-image-fallback[hidden] {
    display: none !important;
}

.isp-subcategory-page .isp-product-image .isp-image-fallback:not([hidden]) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    background: linear-gradient(145deg, #f4fbfa 0%, #e7f4f3 100%);
    border-radius: inherit;
}

.isp-subcategory-page .isp-product-image .isp-image-fallback--neutral::before {
    display: block;
    width: 42px;
    height: 32px;
    content: "";
    border: 2px solid rgba(23, 78, 90, 0.38);
    border-radius: 7px;
    opacity: 0.7;
}

/* The shared FCP stylesheet reclaims mobile gutter space with negative
 * margins. This release keeps the target product inside its parent width. */
@media (max-width: 820px) {
    .is-flagship[data-fcp-release="pen-flashlight-r1"] {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* ===== source: css/indos-laryngoscope-product-polish-v2.css ===== */
/* IndoSurgicals Laryngoscope Product Polish v2.0
   Exact live-component fix for .is-flagship__hero-panel.
   Scope: loaded only on /diagnostic-products-manufacturer/laryngoscopes/*.php product pages. */

body .is-flagship,
body .is-flagship * {
    box-sizing: border-box;
}

/* Hero: calmer premium clinical treatment */
body .is-flagship .is-flagship__hero {
    padding: clamp(26px, 3.4vw, 38px) !important;
    border: 1px solid #d4e6e5 !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(22, 155, 147, .12), transparent 34%),
        linear-gradient(135deg, #f7fbfb 0%, #ffffff 56%, #edf8f6 100%) !important;
    box-shadow: 0 12px 28px rgba(21, 52, 72, .06) !important;
}

body .is-flagship .is-flagship__hero h2 {
    max-width: 980px !important;
    color: #17324a !important;
    font-size: clamp(29px, 3.2vw, 40px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.022em !important;
}

body .is-flagship .is-flagship__lead {
    max-width: 960px !important;
    color: #4c6673 !important;
    line-height: 1.72 !important;
}

body .is-flagship .is-flagship__chip {
    min-height: 34px !important;
    padding: 7px 12px !important;
    border: 1px solid #cfe2e1 !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.92) !important;
    color: #17645f !important;
    box-shadow: none !important;
}

/* Exact Product Highlights component */
body .is-flagship .is-flagship__hero-panel {
    margin-top: 20px !important;
    padding: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #173b52 0%, #125767 55%, #087d78 100%) !important;
    box-shadow: 0 16px 32px rgba(18, 55, 72, .16) !important;
}

body .is-flagship .is-flagship__hero-panel h3 {
    margin: 0 0 15px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -.01em !important;
}

body .is-flagship .is-flagship__hero-panel ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .is-flagship .is-flagship__hero-panel li {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    min-height: 126px !important;
    margin: 0 !important;
    padding: 18px 18px 18px 54px !important;
    color: rgba(255,255,255,.88) !important;
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 13px !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    list-style: none !important;
}

body .is-flagship .is-flagship__hero-panel li strong {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

body .is-flagship .is-flagship__hero-panel li br {
    display: none !important;
}

body .is-flagship .is-flagship__hero-panel li::before {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    display: grid !important;
    width: 24px !important;
    height: 24px !important;
    place-items: center !important;
    content: "\2713" !important;
    transform: none !important;
    color: #08766f !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.10) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* Main information sections */
body .is-flagship .is-flagship__section {
    margin: 0 0 20px !important;
    padding: clamp(22px, 3vw, 30px) !important;
    border: 1px solid #d9e5e9 !important;
    border-radius: 17px !important;
    background: #ffffff !important;
    box-shadow: 0 9px 22px rgba(21, 52, 72, .045) !important;
}

body .is-flagship .is-flagship__section-label {
    color: #08746f !important;
    font-size: 10.5px !important;
    letter-spacing: .09em !important;
}

body .is-flagship .is-flagship__section h2 {
    color: #17324a !important;
    line-height: 1.25 !important;
}

/* Published Features: balanced 2-column cards rather than cramped micro-cards */
body .is-flagship .is-flagship__feature-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body .is-flagship .is-flagship__feature {
    position: relative !important;
    min-width: 0 !important;
    padding: 20px 18px 18px 50px !important;
    border: 1px solid #dbe6ea !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%) !important;
    box-shadow: none !important;
}

body .is-flagship .is-flagship__feature::before {
    top: 20px !important;
    left: 17px !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
}

body .is-flagship .is-flagship__feature h3 {
    margin: 0 0 7px !important;
    color: #0b5f68 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

body .is-flagship .is-flagship__feature p {
    margin: 0 !important;
    color: #5b707b !important;
    font-size: 13.5px !important;
    line-height: 1.68 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body .is-flagship .is-flagship__info-card {
    padding: 20px !important;
    border: 1px solid #dce7eb !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%) !important;
}

body .is-flagship .is-flagship__info-card h3 {
    color: #0b5f68 !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    body .is-flagship .is-flagship__hero-panel ul,
    body .is-flagship .is-flagship__feature-grid,
    body .is-flagship .is-flagship__split {
        grid-template-columns: 1fr !important;
    }

    body .is-flagship .is-flagship__hero-panel li {
        min-height: 0 !important;
    }
}

@media (max-width: 560px) {
    body .is-flagship .is-flagship__hero {
        padding: 18px 14px !important;
        border-radius: 14px !important;
    }

    body .is-flagship .is-flagship__hero-panel {
        padding: 14px !important;
        border-radius: 13px !important;
    }

    body .is-flagship .is-flagship__hero-panel li {
        padding: 15px 14px 15px 48px !important;
        font-size: 13px !important;
    }

    body .is-flagship .is-flagship__hero-panel li::before {
        top: 15px !important;
        left: 14px !important;
        width: 22px !important;
        height: 22px !important;
    }

    body .is-flagship .is-flagship__section {
        padding: 18px 14px !important;
        border-radius: 14px !important;
    }
}


/* ===== source: css/indos-lab-coat-gold-r1.css ===== */
/* IndoSurgicals Lab Coat Gold Standard R1 */
.isp-lc-content,.isp-lc-content *,.isp-lab-product,.isp-lab-product *{box-sizing:border-box}
.isp-lc-content,.isp-lab-product{--lc-ink:#15334a;--lc-text:#40566a;--lc-muted:#657b8d;--lc-teal:#0a8f89;--lc-soft:#eef9f8;--lc-line:#d8e5ea;color:var(--lc-text);font-family:Poppins,Arial,Helvetica,sans-serif;line-height:1.7}
.isp-lc-section,.isp-lab-product__section{margin:0 0 18px;padding:clamp(18px,3vw,28px);background:#fff;border:1px solid var(--lc-line);border-radius:16px;box-shadow:0 8px 24px rgba(21,51,74,.055)}
.isp-lc-intro,.isp-lab-product__intro{background:linear-gradient(135deg,#eefaf9,#fff 62%,#f6f9fb);border-color:#cce5e3}
.isp-lc-kicker,.isp-lab-product__kicker{display:inline-block;margin-bottom:8px;color:#08726d;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.isp-lc-content h3,.isp-lab-product h3{margin:0 0 10px;color:var(--lc-ink);font-size:clamp(20px,2.2vw,27px);font-weight:800;line-height:1.28}
.isp-lc-content p,.isp-lab-product p{margin:0 0 12px}.isp-lc-content p:last-child,.isp-lab-product p:last-child{margin-bottom:0}
.isp-lc-highlights,.isp-lab-product__highlights{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:12px;background:linear-gradient(135deg,#17364d 0%,#174d59 56%,#08746f 100%);border-radius:16px;box-shadow:0 12px 28px rgba(21,51,74,.13)}
.isp-lc-highlights>div,.isp-lab-product__highlights>div{min-width:0;padding:13px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:11px;text-align:center}
.isp-lc-highlights strong,.isp-lc-highlights span,.isp-lab-product__highlights strong,.isp-lab-product__highlights span{display:block}.isp-lc-highlights strong,.isp-lab-product__highlights strong{color:#fff!important;font-size:13px;line-height:1.35}.isp-lc-highlights span,.isp-lab-product__highlights span{margin-top:3px;color:#d8efed!important;font-size:11px;line-height:1.35}
.isp-lc-grid,.isp-lab-product__grid{display:grid;gap:12px}.isp-lc-grid--3,.isp-lab-product__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.isp-lc-grid--2,.isp-lab-product__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.isp-lc-card,.isp-lab-product__card{min-width:0;padding:16px;background:linear-gradient(145deg,#fff,#f7fafc);border:1px solid var(--lc-line);border-radius:13px}.isp-lc-card strong,.isp-lc-card span,.isp-lab-product__card strong,.isp-lab-product__card span{display:block}.isp-lc-card strong,.isp-lab-product__card strong{margin-bottom:6px;color:var(--lc-ink);font-size:14px}.isp-lc-card span,.isp-lab-product__card span{color:var(--lc-muted);font-size:12.5px;line-height:1.6}
.isp-lc-table-wrap,.isp-lab-product__table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--lc-line);border-radius:12px}.isp-lc-table-wrap>table,.isp-lab-product__table-wrap>table{display:table!important;width:100%!important;max-width:none!important;min-width:620px!important;margin:0!important;table-layout:fixed!important;border:0!important;border-radius:0!important;border-collapse:collapse!important}.isp-lc-table-wrap>table :is(th,td):nth-child(1),.isp-lab-product__table-wrap>table :is(th,td):nth-child(1){width:46%}.isp-lc-table-wrap>table :is(th,td):nth-child(2),.isp-lab-product__table-wrap>table :is(th,td):nth-child(2){width:27%}.isp-lc-table-wrap>table :is(th,td):nth-child(3),.isp-lab-product__table-wrap>table :is(th,td):nth-child(3){width:27%}.isp-lc-content th,.isp-lc-content td,.isp-lab-product th,.isp-lab-product td{padding:10px 11px;border-bottom:1px solid var(--lc-line);font-size:12.5px;text-align:left;vertical-align:top}.isp-lc-content th,.isp-lab-product th{color:#fff;background:var(--lc-ink);font-weight:800}.isp-lc-content tr:last-child td,.isp-lab-product tr:last-child td{border-bottom:0}
.isp-lc-note,.isp-lab-product__note{margin-top:12px!important;padding:13px 14px;color:#315d5d;background:var(--lc-soft);border:1px solid #cbe5e2;border-radius:11px;font-size:12.5px;line-height:1.6}.isp-lc-section--alert,.isp-lab-product__section--alert{border-color:#e3d7ba;background:linear-gradient(135deg,#fffbf1,#fff 64%)}
.isp-lab-product ul{margin:0;padding-left:21px}.isp-lab-product li{margin:0 0 6px}.isp-lab-product details{margin:0 0 9px;border:1px solid var(--lc-line);border-radius:11px;background:#fff}.isp-lab-product summary{padding:13px 15px;color:var(--lc-ink);font-weight:750;cursor:pointer}.isp-lab-product details p{padding:0 15px 14px;color:var(--lc-muted);font-size:13px}
.isp-lc-product-group{grid-column:1/-1;margin:8px 0 0;padding:13px 16px;background:linear-gradient(135deg,#17364d,#08746f);border-radius:12px}.isp-lc-product-group span{display:block;color:#fff;font-size:16px;font-weight:800}.isp-lc-product-group p{margin:3px 0 0;color:#d8efed;font-size:12px}.isp-product-card--lab-coat .isp-product-category{color:#08726d}
@media(max-width:1100px){.isp-lc-highlights,.isp-lab-product__highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.isp-lc-grid--3,.isp-lab-product__grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.isp-lc-section,.isp-lab-product__section{padding:17px 14px;border-radius:13px}.isp-lc-highlights,.isp-lab-product__highlights{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:13px}.isp-lc-grid--3,.isp-lc-grid--2,.isp-lab-product__grid--3,.isp-lab-product__grid--2{grid-template-columns:1fr}}


/* ===== source: css/indos-forceps-cgs-r732.css ===== */
/* IndoSurgicals Surgical Forceps CGS v1.0 R7.3 — category 197 only. */
.isp-subcategory-page.isp-si197-r73{--si197-ink:#17364a;--si197-teal:#087d79;--si197-line:#dce7e9;--si197-muted:#506776;--si197-soft:#f4f9f9;color:var(--si197-ink)}
.isp-subcategory-page.isp-si197-r73 .isp-subcategory-shell{max-width:1320px;margin:0 auto}
.isp-subcategory-page.isp-si197-r73 .isp-subcategory-hero{border:1px solid #cfe5e3;border-radius:20px;background:linear-gradient(135deg,#f9fcfc,#edf7f5);box-shadow:0 10px 30px rgba(21,58,73,.06);padding:clamp(22px,4vw,38px)}
.isp-subcategory-page.isp-si197-r73 .isp-subcategory-intro{max-width:75ch;font-size:1.04rem;line-height:1.65}
.isp-subcategory-page.isp-si197-r73 .isp-products-section,.isp-subcategory-page.isp-si197-r73 .isp-subcategory-information,.isp-subcategory-page.isp-si197-r73 .isp-related-section{border:1px solid var(--si197-line);border-radius:18px;box-shadow:0 8px 26px rgba(21,58,73,.04);overflow:hidden}
.isp-subcategory-page.isp-si197-r73 .isp-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading{grid-column:1/-1;min-width:0;padding:17px 20px;margin:16px 0 1px;border-left:4px solid var(--si197-teal);border-radius:10px;background:#eff8f6;color:var(--si197-ink)}
.isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading:first-child{margin-top:0}
.isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading span{display:block;font-size:1.14rem;font-weight:800;color:var(--si197-ink)}
.isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading p{margin:5px 0 0;line-height:1.55;color:var(--si197-muted)}
.isp-subcategory-page.isp-si197-r73 .isp-product-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--si197-line);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .2s ease,transform .2s ease}
.isp-subcategory-page.isp-si197-r73 .isp-product-card:hover{box-shadow:0 12px 24px rgba(19,54,75,.1);transform:translateY(-2px)}
.isp-subcategory-page.isp-si197-r73 .isp-product-image{display:flex;align-items:center;justify-content:center;min-height:190px;aspect-ratio:4/3;padding:12px;background:linear-gradient(180deg,#fff,#f5f9f9)}
.isp-subcategory-page.isp-si197-r73 .isp-product-image img{max-width:100%;max-height:185px;width:auto;height:auto;object-fit:contain}
.isp-subcategory-page.isp-si197-r73 .isp-product-card-body{display:flex;flex:1;flex-direction:column;gap:9px;padding:15px}
.isp-subcategory-page.isp-si197-r73 .isp-product-category-label{font-size:.71rem;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;color:#12716e;font-weight:750}
.isp-subcategory-page.isp-si197-r73 .isp-product-card h2{font-size:1.01rem;line-height:1.38;margin:0;color:var(--si197-ink);overflow-wrap:anywhere}
.isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a{color:inherit;text-decoration:none}
.isp-subcategory-page.isp-si197-r73 .isp-si197-card-summary{font-size:.85rem;line-height:1.54;color:var(--si197-muted);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.isp-subcategory-page.isp-si197-r73 .isp-product-sku{font-size:.8rem;line-height:1.3;overflow-wrap:anywhere;color:#315366}
.isp-subcategory-page.isp-si197-r73 .isp-view-product{margin-top:auto;text-decoration:none;text-align:center;border-radius:9px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.isp-subcategory-page.isp-si197-r73 #textContent2{max-height:none!important;height:auto!important;overflow:visible!important;display:block}
.isp-subcategory-page.isp-si197-r73 .isp-read-more-button{display:none!important}
.isp-subcategory-page.isp-si197-r73 .si197-guide{display:grid;gap:23px;color:var(--si197-ink)}
.isp-subcategory-page.isp-si197-r73 .si197-guide h3{font-size:1.22rem;line-height:1.35;margin:0 0 10px;color:var(--si197-ink)}
.isp-subcategory-page.isp-si197-r73 .si197-guide h4{font-size:.98rem;margin:0 0 7px;color:var(--si197-ink)}
.isp-subcategory-page.isp-si197-r73 .si197-guide p{margin:0;line-height:1.68;color:var(--si197-muted)}
.isp-subcategory-page.isp-si197-r73 .si197-guide-intro{padding:20px 22px;border:1px solid #d6e8e6;border-left:4px solid var(--si197-teal);border-radius:13px;background:linear-gradient(120deg,#f9fcfc,#eff8f6)}
.isp-subcategory-page.isp-si197-r73 .si197-guide-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.isp-subcategory-page.isp-si197-r73 .si197-guide-family-grid article{padding:17px;background:#fff;border:1px solid var(--si197-line);border-radius:12px}
.isp-subcategory-page.isp-si197-r73 .si197-guide-family-grid article h4{border-left:3px solid var(--si197-teal);padding-left:9px}
.isp-subcategory-page.isp-si197-r73 .si197-guide-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.isp-subcategory-page.isp-si197-r73 .si197-guide-checks article{padding:16px;border:1px solid var(--si197-line);border-radius:12px;background:var(--si197-soft)}
.isp-subcategory-page.isp-si197-r73 .si197-guide-checks strong{display:block;color:var(--si197-ink);margin-bottom:5px}
.isp-subcategory-page.isp-si197-r73 .si197-guide-faq details{padding:13px 0;border-top:1px solid var(--si197-line)}
.isp-subcategory-page.isp-si197-r73 .si197-guide-faq summary{color:var(--si197-ink);font-weight:700;cursor:pointer}
.isp-subcategory-page.isp-si197-r73 .si197-guide-faq details p{margin-top:8px}
.isp-subcategory-page.isp-si197-r73 .si197-guide-cta{padding:20px;border-radius:13px;background:#173b50}
.isp-subcategory-page.isp-si197-r73 .si197-guide-cta h3,.isp-subcategory-page.isp-si197-r73 .si197-guide-cta p{color:#fff}
html body .isp-product-page.isp-si197-product-r72 .si197-product{max-width:none;gap:17px;line-height:1.63;color:#344e5e}
html body .isp-product-page.isp-si197-product-r72 .si197-hero{grid-template-columns:minmax(0,1fr) minmax(150px,200px);padding:clamp(20px,3vw,28px);border-radius:16px;background:linear-gradient(110deg,#153b50,#0b7372)}
html body .isp-product-page.isp-si197-product-r72 .si197-hero h2{font-size:clamp(1.3rem,2.1vw,1.75rem);line-height:1.24;overflow-wrap:anywhere}
html body .isp-product-page.isp-si197-product-r72 .si197-hero-code{min-width:0;overflow-wrap:anywhere}
html body .isp-product-page.isp-si197-product-r72 .si197-section{padding:clamp(16px,2.5vw,23px);border-radius:14px;border-color:#dce6e8}
html body .isp-product-page.isp-si197-product-r72 .si197-section h3{font-size:1.2rem}
html body .isp-product-page.isp-si197-product-r72 .si197-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html body .isp-product-page.isp-si197-product-r72 .si197-feature{min-width:0}
html body .isp-product-page.isp-si197-product-r72 .si197-spec-list dt,html body .isp-product-page.isp-si197-product-r72 .si197-spec-list dd{overflow-wrap:anywhere;line-height:1.5}
html body .isp-product-page.isp-si197-product-r72 .si197-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%}
html body .isp-product-page.isp-si197-product-r72 .si197-table-wrap table{min-width:420px}
html body .isp-product-page.isp-si197-product-r72 .si197-table-wrap th,html body .isp-product-page.isp-si197-product-r72 .si197-table-wrap td{white-space:normal;overflow-wrap:anywhere}
html body .isp-product-page.isp-si197-product-r72 .si197-faq summary{list-style-position:inside;line-height:1.45}
html body .isp-product-page.isp-si197-product-r72 .si197-faq details>p{padding-left:15px;color:#486371}
@media(max-width:1120px){.isp-subcategory-page.isp-si197-r73 .isp-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:830px){.isp-subcategory-page.isp-si197-r73 .isp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.isp-subcategory-page.isp-si197-r73 .si197-guide-family-grid,.isp-subcategory-page.isp-si197-r73 .si197-guide-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.isp-subcategory-page.isp-si197-r73 .isp-product-grid{grid-template-columns:1fr}.isp-subcategory-page.isp-si197-r73 .isp-product-image{min-height:175px}.isp-subcategory-page.isp-si197-r73 .si197-guide-family-grid,.isp-subcategory-page.isp-si197-r73 .si197-guide-checks{grid-template-columns:1fr}.isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading{padding:14px}.isp-subcategory-page.isp-si197-r73 .isp-subcategory-hero{padding:20px}html body .isp-product-page.isp-si197-product-r72 .si197-hero{grid-template-columns:1fr}html body .isp-product-page.isp-si197-product-r72 .si197-feature-grid{grid-template-columns:1fr}html body .isp-product-page.isp-si197-product-r72 .si197-spec-list>div{grid-template-columns:minmax(100px,40%) minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.isp-subcategory-page.isp-si197-r73 .isp-product-card{transition:none}.isp-subcategory-page.isp-si197-r73 .isp-product-card:hover{transform:none}}
/* =====================================================================
   IndoSurgicals Surgical Forceps CGS v1.0 — R7.3.2
   Late-loaded visual alignment authority for category 197 only.
   Loaded after shared/public CSS. No database or content changes.
   ===================================================================== */

/* ---------- Subcategory structure ---------- */
html body .container .isp-subcategory-page.isp-si197-r73 .isp-subcategory-shell {
    max-width: 1320px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
}

/* Match the approved grouped-directory visual language. */
html body .container .isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading {
    grid-column: 1 / -1 !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 14px 0 2px !important;
    padding: 18px 20px !important;
    border: 1px solid #d8e7eb !important;
    border-left: 1px solid #d8e7eb !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f4fafb 100%) !important;
    box-shadow: 0 8px 20px rgba(22, 50, 74, .035) !important;
    color: #15364b !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading::before {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 5px !important;
    content: "" !important;
    background: #0a8f92 !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading span {
    display: block !important;
    color: #15364b !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading p {
    max-width: 880px !important;
    margin: 6px 0 0 !important;
    color: #60757f !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* ---------- Product cards ---------- */
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    border: 1px solid #d9e3e4 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 16px rgba(39, 60, 77, .045) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card:hover,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card:focus-within {
    transform: translateY(-2px) !important;
    border-color: #b9d4d1 !important;
    box-shadow: 0 10px 24px rgba(39, 60, 77, .085) !important;
}

html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-image {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 205px !important;
    aspect-ratio: 4 / 3 !important;
    padding: 12px !important;
    border-bottom: 1px solid #edf1f2 !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7fafa 100%) !important;
    text-decoration: none !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 190px !important;
    object-fit: contain !important;
    border: 0 !important;
}

html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 15px !important;
}

/* Family label: the pale teal strip used by the approved directory cards. */
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-category-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 4px 7px !important;
    overflow: hidden !important;
    border: 1px solid #cee7e5 !important;
    border-radius: 5px !important;
    background: #edf8f7 !important;
    color: #075d67 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Product title: force all link states away from browser-default blue/purple. */
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 {
    display: -webkit-box !important;
    min-height: 44px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    color: #263b4b !important;
    font-size: 15.5px !important;
    line-height: 1.38 !important;
    font-weight: 800 !important;
    text-align: left !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a:link,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a:visited,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a:active {
    color: #263b4b !important;
    text-decoration: none !important;
    background: transparent !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a:hover,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card h2 a:focus {
    color: #087b78 !important;
    text-decoration: none !important;
}

html body .container .isp-subcategory-page.isp-si197-r73 .isp-si197-card-summary {
    display: -webkit-box !important;
    min-height: 61px !important;
    margin: 0 0 10px !important;
    overflow: hidden !important;
    color: #526778 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

/* Keep SKU presentation compact and consistent. */
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-sku {
    display: inline-flex !important;
    align-self: flex-start !important;
    align-items: center !important;
    gap: 5px !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 5px 8px !important;
    border: 1px solid #d8e4e6 !important;
    border-radius: 6px !important;
    background: #f8fbfb !important;
    color: #526b79 !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-sku strong {
    margin: 0 !important;
    color: #29485a !important;
    font-size: 9px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

html body .container .isp-subcategory-page.isp-si197-r73 .isp-view-product {
    display: flex !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin-top: auto !important;
    padding: 9px 12px !important;
    border: 1px solid #c8dcda !important;
    border-radius: 8px !important;
    background: #f7fbfa !important;
    color: #263b4b !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-view-product span {
    color: #087b78 !important;
    font-size: 16px !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-view-product:hover,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-view-product:focus {
    border-color: #087b78 !important;
    background: #087b78 !important;
    color: #ffffff !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .isp-view-product:hover span,
html body .container .isp-subcategory-page.isp-si197-r73 .isp-view-product:focus span {
    color: #ffffff !important;
}

/* ---------- Buyer-guide contrast ---------- */
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta,
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta h2,
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta h3,
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta h4,
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta p,
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta strong,
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta span {
    color: #ffffff !important;
}
html body .container .isp-subcategory-page.isp-si197-r73 .si197-guide-cta a {
    color: #d5fff6 !important;
}

/* ---------- Product-page hero contrast ---------- */
html body .container .isp-product-page.isp-si197-product-r72 .si197-hero-code,
html body .container .isp-product-page.isp-si197-product-r72 .si197-hero-code span,
html body .container .isp-product-page.isp-si197-product-r72 .si197-hero-code strong,
html body .container .isp-product-page.isp-si197-product-r72 .si197-hero-code small {
    color: #ffffff !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1120px) {
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 830px) {
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 650px) {
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-grid {
        grid-template-columns: 1fr !important;
    }
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-image {
        min-height: 175px !important;
    }
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-cgs-product-group-heading {
        padding: 15px 16px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card {
        transition: none !important;
    }
    html body .container .isp-subcategory-page.isp-si197-r73 .isp-product-card:hover {
        transform: none !important;
    }
}


/* ===== source: css/indos-anaesthesia-gold-r11.css ===== */

/* IndoSurgicals Anaesthesia Gold Standard R1.1 — Product Experience */
:root{--ana11-ink:#20374a;--ana11-muted:#5d6f7f;--ana11-teal:#0b7e78;--ana11-teal-dark:#075f5b;--ana11-line:#d8e4e6;--ana11-soft:#f4f9f9;--ana11-soft2:#edf7f6;--ana11-white:#fff;--ana11-shadow:0 10px 28px rgba(24,54,70,.08)}
.isp-ana-r11{color:var(--ana11-ink);font-size:15.5px;line-height:1.7}
.isp-ana-r11 *{box-sizing:border-box}
.isp-ana-r11-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,270px);gap:24px;align-items:start;padding:28px;border:1px solid var(--ana11-line);border-radius:18px;background:linear-gradient(135deg,#f1faf9 0%,#fff 70%);box-shadow:var(--ana11-shadow)}
.isp-ana-r11-kicker,.isp-ana-r11-heading>span{display:block;margin-bottom:7px;color:var(--ana11-teal);font-size:12px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.isp-ana-r11-hero h2,.isp-ana-r11-heading h3{margin:0;color:var(--ana11-ink);line-height:1.25}
.isp-ana-r11-hero h2{font-size:clamp(24px,3vw,34px)}
.isp-ana-r11-hero p{margin:13px 0 0;color:#3e5363;font-size:16px;line-height:1.75}
.isp-ana-r11-identity{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #cfe1e1;border-radius:14px;background:#fff}
.isp-ana-r11-identity span{color:var(--ana11-muted);font-size:13px}.isp-ana-r11-identity strong{color:var(--ana11-ink);font-size:15px;overflow-wrap:anywhere}
.isp-ana-r11-section{margin-top:20px;padding:24px;border:1px solid var(--ana11-line);border-radius:16px;background:#fff}
.isp-ana-r11-heading{margin-bottom:15px}.isp-ana-r11-heading h3{font-size:22px}
.isp-ana-r11-chip-grid{display:flex;flex-wrap:wrap;gap:9px}.isp-ana-r11-chip-grid span{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid #c9dddd;border-radius:999px;background:var(--ana11-soft);color:#294d55;font-weight:700;font-size:13px}
.isp-ana-r11-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding:0;list-style:none}.isp-ana-r11-facts li{position:relative;padding:12px 12px 12px 32px;border-bottom:1px solid #e6eeee;color:#3d5262}.isp-ana-r11-facts li:before{content:'✓';position:absolute;left:8px;top:11px;color:var(--ana11-teal);font-weight:900}
.isp-ana-r11-table-wrap{overflow:auto;margin-top:12px;border:1px solid var(--ana11-line);border-radius:12px;background:#fff}.isp-ana-r11-table-wrap table{width:100%;border-collapse:collapse;min-width:520px;margin:0}.isp-ana-r11-table-wrap th,.isp-ana-r11-table-wrap td{padding:12px 14px;border:0;border-bottom:1px solid #e5edef;text-align:left;vertical-align:top}.isp-ana-r11-table-wrap th{background:#edf7f6;color:#214b52;font-weight:800}.isp-ana-r11-table-wrap tr:last-child td{border-bottom:0}
.isp-ana-r11-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.isp-ana-r11-cards article{padding:17px;border:1px solid #d6e6e6;border-radius:13px;background:var(--ana11-soft)}.isp-ana-r11-cards strong{display:block;margin-bottom:5px;color:#244553}.isp-ana-r11-cards p{margin:0;color:#526674}
.isp-ana-r11-safety{border-left:5px solid var(--ana11-teal);background:#f0f8f7}.isp-ana-r11-safety p,.isp-ana-r11-procurement p{margin:8px 0;color:#405665}
.isp-ana-r11-procurement{background:linear-gradient(135deg,#f6fbfb,#fff)}
.isp-ana-r11-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.isp-ana-r11-cta-row a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:9px;font-weight:800;text-decoration:none!important}.isp-ana-r11-primary{background:var(--ana11-teal);color:#fff!important}.isp-ana-r11-primary:hover{background:var(--ana11-teal-dark)}.isp-ana-r11-secondary{border:1px solid #bdd2d5;background:#fff;color:#27515a!important}
.isp-ana-r11-faq-list{display:grid;gap:8px}.isp-ana-r11-faq-list details{border:1px solid #d9e5e7;border-radius:11px;background:#fff}.isp-ana-r11-faq-list summary{cursor:pointer;padding:14px 44px 14px 15px;color:#254553;font-weight:800;position:relative}.isp-ana-r11-faq-list summary:after{content:'+';position:absolute;right:16px;top:12px;color:var(--ana11-teal);font-size:22px}.isp-ana-r11-faq-list details[open] summary:after{content:'–'}.isp-ana-r11-faq-list p{margin:0;padding:0 15px 15px;color:#4d626f}
.isp-ana-r11-source-note{margin:16px 2px 0!important;padding:12px 14px;border-radius:10px;background:#f6f8f9;color:#687986!important;font-size:12.5px!important;line-height:1.55!important}
/* Anaesthesia product cards */
.isp-product-card--anaesthesia-r11{border-color:#d9e5e7;box-shadow:0 8px 22px rgba(25,56,72,.06);overflow:hidden}.isp-product-card--anaesthesia-r11:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(25,56,72,.10)}
.isp-product-card--anaesthesia-r11 .isp-product-image{background:linear-gradient(145deg,#f5faf9,#edf5f5)}
.isp-ana-card-placeholder{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;height:100%;min-height:210px;padding:24px;text-align:center;background:linear-gradient(145deg,#f4f9f9,#eaf4f3);color:#55717a}.isp-ana-card-placeholder strong{color:#2a5359;font-size:14px}.isp-ana-card-placeholder small{font-size:12px;line-height:1.4}.isp-ana-card-placeholder:before{content:'IS';display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #cddfe0;color:var(--ana11-teal);font-weight:900;letter-spacing:.04em}
.isp-ana-card-summary{margin:9px 0 0;color:#61727e;font-size:13px;line-height:1.5}.isp-ana-card-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.isp-ana-card-chips span{padding:4px 8px;border:1px solid #d0e1e1;border-radius:999px;background:#f5fafa;color:#315b62;font-size:11px;font-weight:700}.isp-product-card--anaesthesia-r11 .isp-view-product{margin-top:14px}
@media(max-width:760px){.isp-ana-r11-hero{grid-template-columns:1fr;padding:20px}.isp-ana-r11-section{padding:19px}.isp-ana-r11-facts,.isp-ana-r11-cards{grid-template-columns:1fr}.isp-ana-r11-heading h3{font-size:20px}}
@media(max-width:480px){.isp-ana-r11-hero h2{font-size:24px}.isp-ana-r11-section{padding:16px}.isp-ana-r11-table-wrap{margin-left:-4px;margin-right:-4px}.isp-ana-r11-cta-row a{width:100%}}


/* ===== source: css/indos-anaesthesia-hf-parity-r12.css ===== */
/* IndoSurgicals Anaesthesia Gold Standard R1.2 — Hospital Furniture Layout Parity */
:root{--ana12-primary:#0b5269;--ana12-dark:#073b4c;--ana12-accent:#0d7f9f;--ana12-teal:#087f78;--ana12-soft:#f4f9fb;--ana12-border:#d8e7ec;--ana12-text:#263b44;--ana12-muted:#647780}

/* CATEGORY — same component language as Hospital Furniture, with a locked image ratio. */
.isp-category-page.isp-ana-hf-r12-category .isp-category-card{height:100%}
.isp-category-page.isp-ana-hf-r12-category .isp-category-image{aspect-ratio:4/3;overflow:hidden;background:#f4f4f4}
.isp-category-page.isp-ana-hf-r12-category .isp-category-image img{width:100%!important;height:100%!important;object-fit:contain}
.isp-category-page.isp-ana-hf-r12-category .isp-category-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}

/* SUBCATEGORY — Hospital Furniture discovery CSS is intentionally loaded too. */
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-product-card--anaesthesia-r11{box-shadow:0 5px 16px rgba(25,57,75,.045);border-color:#dbe4e6}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-product-card--anaesthesia-r11:hover{box-shadow:0 10px 24px rgba(25,57,75,.085)}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-product-image{padding:13px;background:linear-gradient(180deg,#f8fbfb 0%,#f2f6f8 100%)}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-ana-card-placeholder{min-height:0;background:linear-gradient(180deg,#f8fbfb 0%,#f2f6f8 100%)}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-product-card h2{min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-product-sku{margin-top:auto}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-view-product{margin-top:0}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-ana-card-summary,.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-ana-card-chips{display:none!important}
.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-subcategory-information>.isp-section-heading{margin-bottom:14px}

/* Anaesthesia guide using Hospital Furniture FCP classes. */
.isp-ana-r12-subguide{margin-top:0}
.isp-ana-r12-subguide .isp-hf-fcp-v2__intro{margin-top:0}

/* PRODUCT DETAILS — mirrors Hospital Furniture's authored component hierarchy. */
.isp-product-page.isp-ana-hf-r12-product .isp-product-description{font-family:inherit}
.isp-ana-r12,.isp-ana-r12 *{box-sizing:border-box}
.isp-ana-r12{width:100%;max-width:100%;margin:0;color:var(--ana12-text);font-size:15.5px;line-height:1.72}
.isp-ana-r12 h2,.isp-ana-r12 h3,.isp-ana-r12 h4,.isp-ana-r12 p{margin-top:0}
.isp-ana-r12 h3{margin-bottom:14px!important;color:var(--ana12-dark)!important;font-size:25px!important;line-height:1.3!important;text-align:left!important}
.isp-ana-r12 p{color:var(--ana12-text)}

.isp-ana-r12-hero{position:relative;overflow:hidden;padding:44px;margin-bottom:25px;border-radius:18px;background:linear-gradient(135deg,#073b4c 0%,#0b617c 58%,#0d7f9f 100%);color:#fff}
.isp-ana-r12-hero:before,.isp-ana-r12-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}
.isp-ana-r12-hero:before{width:285px;height:285px;right:-90px;top:-115px}.isp-ana-r12-hero:after{width:185px;height:185px;right:150px;bottom:-135px}
.isp-ana-r12-badge{position:relative;z-index:2;display:inline-block;padding:6px 14px;margin-bottom:15px;border:1px solid rgba(255,255,255,.25);border-radius:30px;background:rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:700}
.isp-ana-r12-hero h2{position:relative;z-index:2;margin:0 0 13px!important;color:#fff!important;font-size:35px!important;line-height:1.2!important;text-align:left!important}
.isp-ana-r12-hero p{position:relative;z-index:2;max-width:980px;margin:0!important;color:rgba(255,255,255,.94)!important;font-size:17px!important;line-height:1.65!important}

.isp-ana-r12-section{padding:31px;margin-bottom:23px;border:1px solid var(--ana12-border);border-radius:16px;background:#fff}
.isp-ana-r12-section> :last-child{margin-bottom:0!important}.isp-ana-r12-intro{border-left:5px solid var(--ana12-accent);background:var(--ana12-soft)}
.isp-ana-r12-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px}
.isp-ana-r12-summary-item{padding:20px 13px;border:1px solid var(--ana12-border);border-radius:12px;background:#fff;text-align:center;min-width:0}
.isp-ana-r12-summary-item strong{display:block;margin-bottom:5px;color:var(--ana12-dark);font-size:17px;line-height:1.35;overflow-wrap:anywhere}.isp-ana-r12-summary-item span{color:var(--ana12-muted);font-size:12px}

.isp-ana-r12-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:22px}.isp-ana-r12-feature{padding:21px;border:1px solid var(--ana12-border);border-radius:13px;background:var(--ana12-soft);min-width:0}.isp-ana-r12-icon{display:flex;align-items:center;justify-content:center;width:57px;height:44px;margin-bottom:13px;border-radius:10px;background:var(--ana12-primary);color:#fff;font-size:11px;font-weight:800}.isp-ana-r12-feature p{margin:0!important;color:var(--ana12-muted)!important;font-size:14px!important;line-height:1.6!important}

.isp-ana-r12-advanced{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.isp-ana-r12-advanced-card{padding:24px;border:1px solid var(--ana12-border);border-radius:13px;background:#fafcfd}.isp-ana-r12-advanced-card strong{display:block;margin-bottom:7px;color:var(--ana12-dark);font-size:18px}.isp-ana-r12-advanced-card p{margin:0!important;color:var(--ana12-muted)!important;font-size:14px!important;line-height:1.65!important}

.isp-ana-r12-table-wrap{overflow-x:auto;margin-top:15px;border:1px solid var(--ana12-border);border-radius:12px}.isp-ana-r12-table{width:100%;min-width:650px;border-collapse:collapse!important;margin:0!important}.isp-ana-r12-table tr{border-bottom:1px solid var(--ana12-border)}.isp-ana-r12-table tr:last-child{border-bottom:0}.isp-ana-r12-table th,.isp-ana-r12-table td{padding:13px 11px!important;border:0!important;text-align:left;vertical-align:top;font-size:14px!important;line-height:1.6!important}.isp-ana-r12-table th{width:31%;background:#f8fbfc;color:var(--ana12-dark)!important;font-weight:700!important}
.isp-ana-r12-fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0!important;padding:0!important;list-style:none}.isp-ana-r12-fact-list li{position:relative;padding:10px 10px 10px 28px;border-bottom:1px solid var(--ana12-border);color:var(--ana12-muted);font-size:14px}.isp-ana-r12-fact-list li:before{content:'✓';position:absolute;left:5px;color:var(--ana12-accent);font-weight:800}

.isp-ana-r12-note-section{background:#fff}.isp-ana-r12-note{padding:18px 21px;border-left:4px solid var(--ana12-accent);border-radius:8px;background:var(--ana12-soft);color:var(--ana12-muted);font-size:14px;line-height:1.65}.isp-ana-r12-note strong{color:var(--ana12-dark)}
.isp-ana-r12-company{background:var(--ana12-soft)}
.isp-ana-r12-cta{padding:31px;margin-bottom:23px;border-radius:16px;background:var(--ana12-dark);color:#fff}.isp-ana-r12-cta h3{margin-bottom:9px!important;color:#fff!important;font-size:25px!important;text-align:left!important}.isp-ana-r12-cta p{margin-bottom:18px!important;color:rgba(255,255,255,.9)!important}.isp-ana-r12-cta-actions{display:flex;flex-wrap:wrap;gap:10px}.isp-ana-r12-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 20px;border-radius:8px;background:#fff;color:var(--ana12-dark)!important;font-weight:700;text-decoration:none!important}.isp-ana-r12-btn--secondary{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.45)}

.isp-ana-r12-faq-list{display:grid;gap:10px}.isp-ana-r12-faq-list details{overflow:hidden;background:#fff;border:1px solid var(--ana12-border);border-radius:13px}.isp-ana-r12-faq-list summary{position:relative;cursor:pointer;list-style:none;padding:16px 48px 16px 18px;color:var(--ana12-dark);font-size:13.5px;font-weight:800;line-height:1.5}.isp-ana-r12-faq-list summary::-webkit-details-marker{display:none}.isp-ana-r12-faq-list summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--ana12-teal);font-size:20px;font-weight:500}.isp-ana-r12-faq-list details[open] summary:after{content:'−'}.isp-ana-r12-faq-list details>div{padding:0 18px 16px}.isp-ana-r12-faq-list p{margin:0!important;color:var(--ana12-muted)!important;font-size:13.5px!important;line-height:1.65!important}
.isp-ana-r12-source-note{margin:0 2px 0!important;padding:12px 14px;border-radius:10px;background:#f6f8f9;color:#687986!important;font-size:12.5px!important;line-height:1.55!important}

@media(max-width:900px){.isp-ana-r12-summary,.isp-ana-r12-features,.isp-ana-r12-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.isp-ana-r12-fact-list{grid-template-columns:1fr}}
@media(max-width:650px){.isp-ana-r12{font-size:15px}.isp-ana-r12-hero{padding:27px 21px;border-radius:13px}.isp-ana-r12-hero h2{font-size:27px!important}.isp-ana-r12-section{padding:22px 18px;border-radius:13px}.isp-ana-r12-summary,.isp-ana-r12-features,.isp-ana-r12-advanced{grid-template-columns:1fr}.isp-ana-r12-cta{padding:24px 19px}.isp-ana-r12-btn{width:100%}}
@media(max-width:560px){.isp-category-page.isp-ana-hf-r12-category .isp-category-image{aspect-ratio:auto}.isp-subcategory-page.isp-ana-hf-r12-subcategory .isp-product-card h2{-webkit-line-clamp:4}}

/* R1.2.2 — Dark-surface contrast hardening.
   Public Page Standard is intentionally loaded after page-family CSS, so these
   selectors use a stronger Anaesthesia-only scope to preserve white typography
   on the two dark Hospital-Furniture-style surfaces. */
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-hero,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-hero * {
    color:#fff !important;
}
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-hero h2,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-hero p,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-hero .isp-ana-r12-badge {
    color:#fff !important;
}
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta h3,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta p {
    color:#fff !important;
}
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta .isp-ana-r12-btn,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta .isp-ana-r12-btn:visited {
    color:var(--ana12-dark) !important;
    background:#fff !important;
}
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta .isp-ana-r12-btn--secondary,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta .isp-ana-r12-btn--secondary:visited {
    color:#fff !important;
    background:transparent !important;
    border-color:rgba(255,255,255,.62) !important;
}
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta .isp-ana-r12-btn--secondary:hover,
html body .isp-product-page .isp-product-description.isp-anaesthesia-product-content-r12 .isp-ana-r12 .isp-ana-r12-cta .isp-ana-r12-btn--secondary:focus-visible {
    color:var(--ana12-dark) !important;
    background:#fff !important;
}

/* R1.2.3 — Anaesthesia subcategory product-card media hardening.
   R1.1's branded image fallback used display:flex!important, which could
   override the HTML hidden state and render beside a valid product image.
   Keep one Hospital-Furniture-style media surface: product image OR fallback. */
html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 .isp-product-image {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:1 / 1;
    min-height:0;
    padding:12px;
    overflow:hidden;
    background:#f7f9f9;
}

html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 .isp-product-image > img {
    display:block;
    flex:0 0 100%;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
}

/* Critical fix: a valid image must never share the media row with the fallback. */
html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 .isp-ana-card-placeholder[hidden] {
    display:none !important;
}

/* If image loading really fails, fill the same locked media surface cleanly. */
html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 .isp-ana-card-placeholder:not([hidden]) {
    position:absolute;
    inset:12px;
    z-index:1;
    display:flex !important;
    width:auto;
    height:auto;
    min-height:0;
    padding:18px;
}

/* Keep catalogue rows visually aligned like Hospital Furniture. */
html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 {
    height:100%;
}
html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 .isp-product-card-body {
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
}
html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
.isp-product-card--anaesthesia-r11 .isp-product-sku {
    margin-top:auto;
}

@media (max-width:600px) {
    html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
    .isp-product-card--anaesthesia-r11 .isp-product-image {
        aspect-ratio:auto;
        min-height:150px;
        padding:8px;
    }
    html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
    .isp-product-card--anaesthesia-r11 .isp-product-image > img {
        height:136px !important;
    }
    html body .isp-subcategory-page.isp-ana-hf-r12-subcategory
    .isp-product-card--anaesthesia-r11 .isp-ana-card-placeholder:not([hidden]) {
        inset:8px;
    }
}


/* ===== source: css/indos-respiratory-anesthesia-db-r13.css ===== */
/* Respiratory & Anesthesia Gold Standard R1.3 — Database Content Authority */
:root{
  --isp-ra13-navy:#123f52;
  --isp-ra13-navy-deep:#0b4052;
  --isp-ra13-teal:#079b91;
  --isp-ra13-teal-soft:#e9f7f5;
  --isp-ra13-ink:#263f52;
  --isp-ra13-muted:#65798a;
  --isp-ra13-border:#cfe0e4;
  --isp-ra13-panel:#f5fafb;
  --isp-ra13-white:#fff;
}
.isp-ra-db-content{color:var(--isp-ra13-ink);font:inherit;line-height:1.62;width:100%;box-sizing:border-box}
.isp-ra-db-content *{box-sizing:border-box}
.isp-ra-db-content h2,.isp-ra-db-content h3,.isp-ra-db-content h4{color:var(--isp-ra13-ink);font-family:inherit;line-height:1.2;margin-top:0}
.isp-ra-db-content p{color:var(--isp-ra13-muted);margin:0 0 14px}
.isp-ra-db-content a{color:var(--isp-ra13-teal)}
.isp-ra-db-content table{width:100%;border-collapse:collapse}
.isp-ra-db-content th,.isp-ra-db-content td{border:1px solid var(--isp-ra13-border);padding:11px 13px;vertical-align:top;text-align:left}
.isp-ra-db-content th{background:var(--isp-ra13-panel);color:var(--isp-ra13-ink);font-weight:700}

/* One visual grammar for root category, subcategories and product articles. */
.isp-ra-db-category,.isp-ra-db-subcategory,.isp-ra-db-product{--ra-gap:18px}
.isp-ra-db-content .isp-hf-fcp-v2__intro,
.isp-ra-db-content .isp-hf-fcp-v2__section,
.isp-ra-db-content .isp-ana-r12-section{border:1px solid var(--isp-ra13-border);border-radius:18px;background:var(--isp-ra13-white);box-shadow:0 8px 24px rgba(17,63,82,.04)}
.isp-ra-db-content .isp-hf-fcp-v2__intro{background:linear-gradient(120deg,#f7fbfc 0%,#fff 55%,#e8f7f5 100%)}
.isp-ra-db-content .isp-hf-fcp-v2__eyebrow,
.isp-ra-db-content .isp-category-eyebrow{color:#087d77;text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:12px}
.isp-ra-db-content .isp-hf-fcp-v2__highlights{background:linear-gradient(110deg,#174c61,#079b91);border-radius:18px}
.isp-ra-db-content .isp-hf-fcp-v2__highlight{border-color:rgba(255,255,255,.2)}
.isp-ra-db-content .isp-hf-fcp-v2__highlight strong,
.isp-ra-db-content .isp-hf-fcp-v2__highlight span{color:#fff}
.isp-ra-db-content .isp-hf-fcp-v2__num{background:var(--isp-ra13-teal);color:#fff}
.isp-ra-db-content .isp-hf-fcp-v2__cta,
.isp-ra-db-content .isp-ana-r12-cta{background:var(--isp-ra13-navy-deep);border-radius:18px}
.isp-ra-db-content .isp-hf-fcp-v2__cta h3,
.isp-ra-db-content .isp-hf-fcp-v2__cta p,
.isp-ra-db-content .isp-hf-fcp-v2__cta .isp-hf-fcp-v2__eyebrow,
.isp-ra-db-content .isp-ana-r12-cta h3,
.isp-ra-db-content .isp-ana-r12-cta p{color:#fff!important}
.isp-ra-db-content .isp-hf-fcp-v2__cta a,
.isp-ra-db-content .isp-ana-r12-btn{font-weight:800;text-decoration:none}

/* Product article parity with Hospital Furniture. */
.isp-ra-db-product .isp-ana-r12-hero{background:linear-gradient(120deg,#0e4b60 0%,#14758a 58%,#0a9a91 100%);border-radius:18px;padding:34px 40px;position:relative;overflow:hidden}
.isp-ra-db-product .isp-ana-r12-hero h2,
.isp-ra-db-product .isp-ana-r12-hero p,
.isp-ra-db-product .isp-ana-r12-badge{color:#fff!important}
.isp-ra-db-product .isp-ana-r12-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.isp-ra-db-product .isp-ana-r12-summary-item{border:1px solid var(--isp-ra13-border);border-radius:14px;background:#fff;padding:18px;text-align:center}
.isp-ra-db-product .isp-ana-r12-summary-item strong{display:block;color:var(--isp-ra13-ink)}
.isp-ra-db-product .isp-ana-r12-summary-item span{display:block;color:var(--isp-ra13-muted);font-size:13px;margin-top:6px}
.isp-ra-db-product .isp-ana-r12-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.isp-ra-db-product .isp-ana-r12-feature,.isp-ra-db-product .isp-ana-r12-advanced-card{border:1px solid var(--isp-ra13-border);border-radius:14px;background:var(--isp-ra13-panel);padding:18px}
.isp-ra-db-product .isp-ana-r12-icon{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;border-radius:8px;background:var(--isp-ra13-teal);color:#fff;font-size:12px;font-weight:800;margin-bottom:10px}
.isp-ra-db-product .isp-ana-r12-advanced{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.isp-ra-db-product .isp-ana-r12-note{border-left:4px solid var(--isp-ra13-teal);background:var(--isp-ra13-teal-soft);border-radius:10px;padding:16px 18px;color:var(--isp-ra13-ink)}
.isp-ra-db-product .isp-ana-r12-faq-list details{border:1px solid var(--isp-ra13-border);border-radius:12px;background:#fff;margin-top:10px}
.isp-ra-db-product .isp-ana-r12-faq-list summary{padding:14px 16px;font-weight:750;color:var(--isp-ra13-ink);cursor:pointer}
.isp-ra-db-product .isp-ana-r12-faq-list details div{padding:0 16px 14px}

/* Database authority marker: suppress legacy read-more clipping. */
[data-anaesthesia-gold-r12] .isp-description-content:has(.isp-ra-db-content),
[data-anaesthesia-gold-r12] .isp-category-description:has(.isp-ra-db-content){max-height:none!important;overflow:visible!important}

@media (max-width:900px){
  .isp-ra-db-product .isp-ana-r12-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .isp-ra-db-product .isp-ana-r12-advanced{grid-template-columns:1fr}
}
@media (max-width:640px){
  .isp-ra-db-product .isp-ana-r12-hero{padding:26px 22px}
  .isp-ra-db-product .isp-ana-r12-summary,
  .isp-ra-db-product .isp-ana-r12-features{grid-template-columns:1fr}
}


/* R1.4.4 — Parent category FCP structural parity
   Self-contained structural rules for the database-authored Respiratory & Anesthesia
   parent category. These mirror the finalized Diagnostic/Hospital Furniture grammar
   without requiring the Hospital Furniture stylesheet to be present. */
.isp-ra-db-category.isp-hf-fcp-v2{
  display:grid;
  gap:20px;
  width:100%;
}
.isp-ra-db-category.isp-hf-fcp-v2 *,
.isp-ra-db-category.isp-hf-fcp-v2 *::before,
.isp-ra-db-category.isp-hf-fcp-v2 *::after{box-sizing:border-box}

.isp-ra-db-category .isp-hf-fcp-v2__intro,
.isp-ra-db-category .isp-hf-fcp-v2__section{
  min-width:0;
  padding:clamp(24px,3.1vw,34px);
  background:#fff;
  border:1px solid var(--isp-ra13-border);
  border-radius:17px;
  box-shadow:0 7px 22px rgba(39,60,77,.045);
}
.isp-ra-db-category .isp-hf-fcp-v2__intro{
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 95% 2%,rgba(0,143,135,.13),transparent 31%),linear-gradient(135deg,#eef9f7 0%,#fff 62%,#f4f8fb 100%);
  border-color:#cbe3df;
}
.isp-ra-db-category .isp-hf-fcp-v2__eyebrow,
.isp-ra-db-category .isp-hf-fcp-v2__section-head>span{
  display:block;
  margin:0 0 8px;
  color:#087d77!important;
  font-size:11px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.isp-ra-db-category .isp-hf-fcp-v2__intro h2,
.isp-ra-db-category .isp-hf-fcp-v2__section-head h3{
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  color:var(--isp-ra13-ink)!important;
  font-family:inherit!important;
  font-size:clamp(23px,2.5vw,30px)!important;
  font-weight:850!important;
  line-height:1.22!important;
  letter-spacing:-.02em;
  text-align:left!important;
}
.isp-ra-db-category .isp-hf-fcp-v2__intro p,
.isp-ra-db-category .isp-hf-fcp-v2__section-head p,
.isp-ra-db-category .isp-hf-fcp-v2__card p{
  margin:0!important;
  color:var(--isp-ra13-muted)!important;
  font-size:14.5px!important;
  line-height:1.68!important;
}
.isp-ra-db-category .isp-hf-fcp-v2__section-head{
  max-width:1020px;
  margin-bottom:19px;
}

.isp-ra-db-category .isp-hf-fcp-v2__highlights{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  padding:17px;
  background:radial-gradient(circle at 96% 0%,rgba(68,213,195,.18),transparent 31%),linear-gradient(120deg,#173c55 0%,#0d6570 58%,#087f78 100%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  box-shadow:0 13px 28px rgba(26,58,74,.13);
}
.isp-ra-db-category .isp-hf-fcp-v2__highlight{
  display:block!important;
  min-width:0;
  min-height:116px;
  padding:17px 16px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px;
}
.isp-ra-db-category .isp-hf-fcp-v2__highlight strong,
.isp-ra-db-category .isp-hf-fcp-v2__highlight span{
  display:block!important;
  color:#fff!important;
}
.isp-ra-db-category .isp-hf-fcp-v2__highlight strong{
  margin:0 0 8px!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.3!important;
}
.isp-ra-db-category .isp-hf-fcp-v2__highlight span{
  color:#e8f4f5!important;
  font-size:12.5px!important;
  line-height:1.55!important;
}

.isp-ra-db-category .isp-hf-fcp-v2__grid{
  display:grid!important;
  gap:13px;
}
.isp-ra-db-category .isp-hf-fcp-v2__grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.isp-ra-db-category .isp-hf-fcp-v2__grid--4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.isp-ra-db-category .isp-hf-fcp-v2__card{
  display:block!important;
  min-width:0;
  height:100%;
  padding:19px;
  background:linear-gradient(180deg,#f2f8f8 0%,#f8fafb 100%);
  border:1px solid var(--isp-ra13-border)!important;
  border-radius:13px;
}
.isp-ra-db-category .isp-hf-fcp-v2__num{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:28px;
  margin:0 0 11px!important;
  padding:0 8px;
  color:#fff!important;
  background:var(--isp-ra13-teal)!important;
  border-radius:8px;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.04em;
}
.isp-ra-db-category .isp-hf-fcp-v2__card h4{
  margin:0 0 7px!important;
  padding:0!important;
  border:0!important;
  color:var(--isp-ra13-ink)!important;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1.32!important;
  text-align:left!important;
}
.isp-ra-db-category .isp-hf-fcp-v2__card p{
  font-size:13.5px!important;
  line-height:1.6!important;
}

.isp-ra-db-category .isp-hf-fcp-v2__prose{
  padding:clamp(20px,2.6vw,28px);
  background:linear-gradient(180deg,#fbfdfd 0%,#f7fafb 100%);
  border:1px solid #e0e8e9;
  border-radius:13px;
}
.isp-ra-db-category .isp-hf-fcp-v2__prose p{
  margin:0 0 13px!important;
  color:#435664!important;
  font-size:14.5px!important;
  line-height:1.72!important;
}
.isp-ra-db-category .isp-hf-fcp-v2__prose p:last-child{margin-bottom:0!important}

@media(max-width:1020px){
  .isp-ra-db-category .isp-hf-fcp-v2__highlights,
  .isp-ra-db-category .isp-hf-fcp-v2__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .isp-ra-db-category .isp-hf-fcp-v2__grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .isp-ra-db-category .isp-hf-fcp-v2__intro,
  .isp-ra-db-category .isp-hf-fcp-v2__section{padding:20px 17px;border-radius:14px}
  .isp-ra-db-category .isp-hf-fcp-v2__highlights,
  .isp-ra-db-category .isp-hf-fcp-v2__grid--3,
  .isp-ra-db-category .isp-hf-fcp-v2__grid--4{grid-template-columns:1fr}
  .isp-ra-db-category .isp-hf-fcp-v2__highlights{padding:13px;border-radius:14px}
  .isp-ra-db-category .isp-hf-fcp-v2__highlight{min-height:0}
}


/* ===== source: css/indos-respiratory-anesthesia-diagnostic-parity-r14.css ===== */
/* Respiratory & Anesthesia R1.4 — Diagnostic/Laryngoscope content parity */
.isp-ra14-category,.isp-ra14-product{--ink:#16324a;--text:#40566a;--muted:#6d8091;--teal:#009b95;--teal-dark:#08746f;--teal-soft:#eef9f8;--soft:#f4f8fb;--line:#d8e4ea;--white:#fff;--shadow:0 10px 28px rgba(22,50,74,.07);width:100%;color:var(--text);font:inherit;line-height:1.68;box-sizing:border-box}.isp-ra14-category *,.isp-ra14-product *{box-sizing:border-box}.isp-ra14-category h2,.isp-ra14-category h3,.isp-ra14-product h2,.isp-ra14-product h3{margin-top:0;color:var(--ink);font-family:inherit;font-weight:800;line-height:1.25}.isp-ra14-category p,.isp-ra14-product p{margin:0 0 13px}.isp-ra14-eyebrow{display:inline-block;margin-bottom:9px;color:var(--teal-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.isp-ra14-cat-intro,.isp-ra14-section{margin:0 0 20px;padding:clamp(20px,3vw,30px);background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.isp-ra14-intro-panel{padding:22px;background:var(--soft);border-left:4px solid var(--teal);border-radius:14px}.isp-ra14-intro-panel h3{font-size:20px}.isp-ra14-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 20px;padding:18px;background:linear-gradient(145deg,#17364d 0%,#174e5a 58%,#08746f 100%);border-radius:15px}.isp-ra14-fact{min-width:0;padding:14px 10px;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:11px}.isp-ra14-fact strong,.isp-ra14-fact span{display:block;color:#fff}.isp-ra14-fact strong{font-size:14px}.isp-ra14-fact span{margin-top:4px;font-size:11px;line-height:1.4;opacity:.9}.isp-ra14-choice-grid,.isp-ra14-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.isp-ra14-choice,.isp-ra14-card,.isp-ra14-panel{padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:13px}.isp-ra14-choice h3,.isp-ra14-card h3,.isp-ra14-panel h3{margin-bottom:7px;font-size:15px}.isp-ra14-choice p,.isp-ra14-card p,.isp-ra14-panel p{color:var(--muted);font-size:13px}.isp-ra14-standards-note,.isp-ra14-note{margin-top:15px;padding:15px 16px;background:#fff7e8;border-left:4px solid #c98722;border-radius:10px;color:#536878}.isp-ra14-procure-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.isp-ra14-procure-actions a,.isp-ra14-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #c8dce2;border-radius:9px;color:var(--teal-dark);background:#fff;text-decoration:none;font-weight:800}.isp-ra14-support{display:flex;gap:10px;flex-direction:column;margin:0 0 20px;padding:18px;background:var(--teal-soft);border-left:4px solid var(--teal);border-radius:11px}.isp-ra14-support strong{color:var(--ink)}
.isp-ra14-prod-hero{position:relative;margin:0 0 20px;padding:clamp(24px,4vw,40px);overflow:hidden;background:radial-gradient(circle at 95% 0%,rgba(0,155,149,.14),transparent 32%),linear-gradient(135deg,#f2fbfa 0%,#fff 57%,#f5f9fc 100%);border:1px solid #cfe5e3;border-radius:17px;box-shadow:var(--shadow)}.isp-ra14-prod-hero h2{margin-bottom:12px;font-size:clamp(27px,3.2vw,38px);letter-spacing:-.025em}.isp-ra14-prod-hero p{max-width:900px;color:var(--text);font-size:15px}.isp-ra14-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.isp-ra14-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:13px;margin-top:12px}.isp-ra14-product table{width:100%;border-collapse:collapse}.isp-ra14-product th,.isp-ra14-product td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.isp-ra14-product tr:first-child th,.isp-ra14-product tr:first-child td{background:var(--ink);color:#fff;font-weight:800}.isp-ra14-product tr:last-child td,.isp-ra14-product tr:last-child th{border-bottom:0}.isp-ra14-small{margin-top:10px!important;color:var(--muted);font-size:12px}.isp-ra14-section ul{margin:10px 0 0;padding-left:20px}.isp-ra14-section li{margin:6px 0}.isp-ra14-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:24px 26px;color:#eef9f8;background:linear-gradient(145deg,#17364d 0%,#174e5a 58%,#08746f 100%);border-radius:15px}.isp-ra14-cta h2,.isp-ra14-cta p{color:#fff}.isp-ra14-cta h2{margin-bottom:5px}.isp-ra14-cta p{margin:0}.isp-ra14-cta a{flex:0 0 auto}
[data-anaesthesia-gold-r12] .isp-description-content:has(.isp-ra14-category),[data-anaesthesia-gold-r12] .isp-category-description:has(.isp-ra14-category){max-height:none!important;overflow:visible!important}
@media(max-width:980px){.isp-ra14-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.isp-ra14-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.isp-ra14-choice-grid,.isp-ra14-card-grid,.isp-ra14-two{grid-template-columns:1fr}.isp-ra14-cta{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.isp-ra14-facts{grid-template-columns:1fr}.isp-ra14-cat-intro,.isp-ra14-section,.isp-ra14-prod-hero{padding:19px 17px;border-radius:13px}}

/* R1.4.1 — Manual Resuscitator product fidelity parity with finalized Diagnostic/Laryngoscope product system */
.isp-ra141-product,.isp-ra141-product *{box-sizing:border-box}.isp-ra141-product{--r141-ink:#16324a;--r141-text:#40566a;--r141-muted:#6d8091;--r141-teal:#009b95;--r141-teal-dark:#08746f;--r141-soft:#f4f8fb;--r141-line:#d8e4ea;--r141-shadow:0 10px 28px rgba(22,50,74,.07);width:100%;color:var(--r141-text);font:inherit;line-height:1.72}.isp-ra141-product h2,.isp-ra141-product h3{margin-top:0;color:var(--r141-ink)!important;font-family:inherit;font-weight:800;line-height:1.25}.isp-ra141-product p{margin:0 0 13px}.isp-ra141-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:0 0 22px;padding:clamp(24px,4vw,40px);background:radial-gradient(circle at 95% 0%,rgba(0,155,149,.14),transparent 32%),linear-gradient(135deg,#f2fbfa 0%,#fff 57%,#f5f9fc 100%);border:1px solid #cfe5e3;border-radius:17px;box-shadow:var(--r141-shadow);overflow:hidden}.isp-ra141-eyebrow,.isp-ra141-section-head>span,.isp-ra141-cta>div>span{display:inline-block;margin-bottom:9px;color:var(--r141-teal-dark)!important;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.isp-ra141-hero h2{max-width:1060px;margin-bottom:12px;font-size:clamp(29px,3vw,38px);letter-spacing:-.03em}.isp-ra141-lead{max-width:1060px;font-size:15px}.isp-ra141-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.isp-ra141-chips span{display:inline-flex;min-height:34px;align-items:center;padding:7px 11px;color:#155d59!important;background:rgba(255,255,255,.94);border:1px solid #cde2e0;border-radius:9px;font-size:12px;font-weight:700}.isp-ra141-highlight-panel{padding:16px;background:linear-gradient(145deg,#17364d 0%,#174e5a 58%,#08746f 100%);border-radius:15px;box-shadow:0 12px 28px rgba(22,50,74,.14)}.isp-ra141-highlight-panel h3{margin-bottom:11px;color:#fff!important;font-size:15px}.isp-ra141-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.isp-ra141-highlight{position:relative;min-height:96px;padding:13px 12px 12px 42px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:11px}.isp-ra141-highlight:before{position:absolute;top:14px;left:13px;width:20px;height:20px;content:"";background:#fff;border-radius:50%}.isp-ra141-highlight b,.isp-ra141-highlight span{display:block;color:#fff!important}.isp-ra141-highlight b{margin-bottom:5px;font-size:13px;line-height:1.35}.isp-ra141-highlight span{font-size:11.8px;line-height:1.5;opacity:.95}.isp-ra141-section{margin:0 0 22px;padding:clamp(20px,3vw,30px);background:#fff;border:1px solid var(--r141-line);border-radius:17px;box-shadow:var(--r141-shadow)}.isp-ra141-section-head{margin-bottom:16px}.isp-ra141-section-head h2{margin-bottom:10px;font-size:clamp(22px,2.4vw,29px)}.isp-ra141-section-head p{max-width:930px;color:var(--r141-muted)}.isp-ra141-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.isp-ra141-info,.isp-ra141-feature-grid article{padding:18px;background:var(--r141-soft);border:1px solid var(--r141-line);border-radius:13px}.isp-ra141-info h3,.isp-ra141-feature-grid h3{margin-bottom:7px;font-size:15px}.isp-ra141-info p,.isp-ra141-feature-grid p{color:var(--r141-muted);font-size:13px}.isp-ra141-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.isp-ra141-feature-grid article{position:relative;padding-left:47px}.isp-ra141-feature-grid article:before{position:absolute;top:17px;left:16px;display:grid;width:21px;height:21px;place-items:center;content:"✓";color:#fff;background:var(--r141-teal);border-radius:7px;font-size:11px;font-weight:900}.isp-ra141-feature-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.isp-ra141-table-wrap{width:100%;overflow:auto;border:1px solid var(--r141-line);border-radius:14px}.isp-ra141-product table{width:100%;margin:0;border-collapse:collapse}.isp-ra141-product th,.isp-ra141-product td{padding:11px 13px;border:0;border-bottom:1px solid var(--r141-line);text-align:left;vertical-align:top;font-size:12.5px;line-height:1.55}.isp-ra141-product tbody th{width:31%;color:var(--r141-ink)!important;background:#eef6f7;font-weight:800}.isp-ra141-product td{color:var(--r141-text);background:#fff}.isp-ra141-product thead th{color:#fff!important;background:var(--r141-ink);font-weight:800}.isp-ra141-product tr:last-child th,.isp-ra141-product tr:last-child td{border-bottom:0}.isp-ra141-family-table{min-width:760px}.isp-ra141-small{margin-top:10px!important;color:var(--r141-muted);font-size:12px}.isp-ra141-note{margin-top:15px;padding:14px 15px;color:#315a5c;background:#eef9f8;border:1px solid #cbe5e2;border-left:4px solid var(--r141-teal);border-radius:11px;font-size:12.5px}.isp-ra141-faq{display:grid;gap:8px}.isp-ra141-faq details{overflow:hidden;background:#fff;border:1px solid var(--r141-line);border-radius:11px}.isp-ra141-faq summary{position:relative;display:block;padding:13px 42px 13px 15px;color:var(--r141-ink)!important;cursor:pointer;font-size:13px;font-weight:800;line-height:1.5;list-style:none}.isp-ra141-faq summary::-webkit-details-marker{display:none}.isp-ra141-faq summary:after{position:absolute;top:50%;right:14px;transform:translateY(-50%);content:"+";color:var(--r141-teal-dark);font-size:20px;font-weight:500}.isp-ra141-faq details[open] summary:after{content:"−"}.isp-ra141-faq details>div{padding:0 15px 14px;color:var(--r141-muted);font-size:12.8px;line-height:1.65}.isp-ra141-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:24px 26px;color:#fff!important;background:linear-gradient(145deg,#17364d 0%,#174e5a 58%,#08746f 100%);border-radius:15px}.isp-ra141-cta h2,.isp-ra141-cta p,.isp-ra141-cta span{color:#fff!important}.isp-ra141-cta h2{margin-bottom:5px}.isp-ra141-cta p{margin:0}.isp-ra141-cta a{display:inline-flex;flex:0 0 auto;min-height:42px;align-items:center;justify-content:center;padding:10px 15px;color:#08746f!important;background:#fff!important;border:1px solid #fff;border-radius:9px;text-decoration:none!important;font-weight:800}
@media(max-width:980px){.isp-ra141-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.isp-ra141-feature-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.isp-ra141-split,.isp-ra141-feature-grid,.isp-ra141-feature-grid--four{grid-template-columns:1fr}.isp-ra141-cta{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.isp-ra141-hero,.isp-ra141-section{padding:19px 17px;border-radius:13px}.isp-ra141-highlight-grid{grid-template-columns:1fr}.isp-ra141-highlight{min-height:0}.isp-ra141-hero h2{font-size:27px}}

/* R1.4.2 — dark-panel contrast hardening.
   The global product article stylesheet uses `html body .isp-content-body h2/h3`
   with !important. These selectors intentionally exceed that specificity so
   Respiratory & Anesthesia dark surfaces always retain accessible light text. */
html body .isp-content-body .isp-ra14-facts .isp-ra14-fact strong,
html body .isp-content-body .isp-ra14-facts .isp-ra14-fact span {
    color: #ffffff !important;
}
html body .isp-content-body .isp-ra14-cta,
html body .isp-content-body .isp-ra14-cta h2,
html body .isp-content-body .isp-ra14-cta h3,
html body .isp-content-body .isp-ra14-cta p,
html body .isp-content-body .isp-ra14-cta strong,
html body .isp-content-body .isp-ra14-cta span {
    color: #ffffff !important;
}
html body .isp-content-body .isp-ra14-cta a {
    color: #08746f !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
}
html body .isp-content-body .isp-ra141-highlight-panel h2,
html body .isp-content-body .isp-ra141-highlight-panel h3,
html body .isp-content-body .isp-ra141-highlight-panel h4,
html body .isp-content-body .isp-ra141-highlight-panel p,
html body .isp-content-body .isp-ra141-highlight-panel strong,
html body .isp-content-body .isp-ra141-highlight-panel b,
html body .isp-content-body .isp-ra141-highlight-panel span,
html body .isp-content-body .isp-ra141-highlight-panel .isp-ra141-highlight b,
html body .isp-content-body .isp-ra141-highlight-panel .isp-ra141-highlight span {
    color: #ffffff !important;
}
html body .isp-content-body .isp-ra141-cta,
html body .isp-content-body .isp-ra141-cta h2,
html body .isp-content-body .isp-ra141-cta h3,
html body .isp-content-body .isp-ra141-cta p,
html body .isp-content-body .isp-ra141-cta strong {
    color: #ffffff !important;
}
html body .isp-content-body .isp-ra141-cta > div > span {
    color: #7fe0d9 !important;
}
html body .isp-content-body .isp-ra141-cta a {
    color: #08746f !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
}


/* ===== unified runtime additions ===== */

/* Shared X-Ray product family migrated out of per-product DB style_html. */

.is-xray-product,.is-xray-product *{box-sizing:border-box}.is-xray-product{width:100%;margin:0;color:#40566a;font-family:Poppins,Arial,sans-serif;font-size:14px;line-height:1.7}.is-xray-product h2,.is-xray-product h3{margin-top:0;color:#16324a}.is-xray-product h2{font-size:clamp(24px,2.5vw,30px);line-height:1.25}.is-xray-product h3{font-size:15px}.is-xray-product p{margin:0 0 12px}.is-xray-product ul{margin:0;padding-left:20px}.is-xray-product li{margin:0 0 7px}.is-xray-product__hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:18px;align-items:center;margin:0 0 18px;padding:clamp(22px,3.5vw,36px);background:linear-gradient(135deg,#eef9f8,#fff 58%,#f4f8fb);border:1px solid #cfe4e3;border-radius:17px}.is-xray-product__eyebrow,.is-xray-product__label{display:inline-block;margin-bottom:8px;color:#08746f;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.is-xray-product__hero h2{margin-bottom:10px}.is-xray-product__lead{font-size:15px}.is-xray-product__panel{padding:18px;color:#edf9f8;background:linear-gradient(145deg,#17364d,#174e5a 58%,#08746f);border-radius:14px}.is-xray-product__panel h3{color:#fff}.is-xray-product__panel ul{padding-left:18px}.is-xray-product__section{margin:0 0 18px;padding:clamp(18px,2.5vw,27px);background:#fff;border:1px solid #d8e4ea;border-radius:17px}.is-xray-product__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.is-xray-product__card{padding:16px;background:#f5f9fb;border:1px solid #dbe7eb;border-radius:12px}.is-xray-product__card p:last-child{margin-bottom:0}.is-xray-product__table-wrap{overflow-x:auto}.is-xray-product table{width:100%;border-collapse:collapse}.is-xray-product th,.is-xray-product td{padding:10px 12px;border:1px solid #d8e4ea;text-align:left;vertical-align:top}.is-xray-product th{width:34%;color:#16324a;background:#f5f9fb}.is-xray-product__note{padding:14px 16px;background:#eef9f8;border-left:4px solid #009b95;border-radius:10px}.is-xray-product details{margin:0 0 8px;padding:12px 14px;background:#f7fafc;border:1px solid #dbe7eb;border-radius:10px}.is-xray-product summary{cursor:pointer;color:#16324a;font-weight:700}.is-xray-product details p{margin:9px 0 0}.is-xray-product__cta{color:#eef9f8;background:linear-gradient(135deg,#17364d,#08746f)}.is-xray-product__cta h2{color:#fff}.is-xray-product__cta p{color:#dceeed}.is-xray-product__cta a{display:inline-flex;min-height:42px;align-items:center;padding:9px 14px;color:#0d5552;background:#fff;border-radius:10px;font-weight:800;text-decoration:none}@media(max-width:760px){.is-xray-product__hero,.is-xray-product__grid{grid-template-columns:1fr}.is-xray-product th{width:42%}}


/* Shared F526 diagnostic family. Product-specific IDs are intentionally removed. */

.isp-f526-wrap{--navy:#123047;--navy2:#0b2437;--teal:#0f8b82;--teal2:#087169;--soft:#eef8f7;--line:#dbe7ea;--text:#273b49;--muted:#5d7180;width:100%;max-width:100%;margin:0;box-sizing:border-box;color:var(--text);font-family:inherit;line-height:1.7;overflow-wrap:anywhere}.isp-f526-wrap *{box-sizing:border-box}.isp-f526-wrap .isp-f526-hero{padding:clamp(22px,4vw,42px);border-radius:18px;background:linear-gradient(135deg,var(--navy2),var(--navy) 62%,#145b66);color:#fff}.isp-f526-wrap .isp-f526-eyebrow{display:inline-block;margin-bottom:10px;color:#a9eee8;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.isp-f526-wrap h2,.isp-f526-wrap h3{color:var(--navy2)!important;line-height:1.28!important;text-align:left!important}.isp-f526-wrap .isp-f526-hero h2{max-width:880px;margin:0 0 14px!important;color:#fff!important;font-size:clamp(27px,4vw,42px)!important}.isp-f526-wrap .isp-f526-hero p{max-width:900px;margin:0;color:#e7f1f4;font-size:clamp(16px,2vw,19px)}.isp-f526-wrap .isp-f526-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 30px}.isp-f526-wrap .isp-f526-fact{min-width:0;padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff}.isp-f526-wrap .isp-f526-fact span{display:block;margin-bottom:5px;color:var(--teal2);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.isp-f526-wrap .isp-f526-fact strong{display:block;color:var(--navy2);font-size:15px;line-height:1.4}.isp-f526-wrap .isp-f526-section{margin:30px 0}.isp-f526-wrap .isp-f526-section>h2{margin:0 0 12px!important;font-size:clamp(23px,3vw,30px)!important}.isp-f526-wrap p{margin:0 0 15px}.isp-f526-wrap .isp-f526-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.isp-f526-wrap .isp-f526-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(18,48,71,.06)}.isp-f526-wrap .isp-f526-card h3{margin:0 0 7px!important;font-size:18px!important}.isp-f526-wrap .isp-f526-card p{margin:0;color:var(--muted);font-size:15px}.isp-f526-wrap .isp-f526-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.isp-f526-wrap .isp-f526-panel{min-width:0;padding:22px;border-radius:14px;background:var(--soft)}.isp-f526-wrap .isp-f526-panel h2{margin:0 0 10px!important;font-size:22px!important}.isp-f526-wrap ul{width:auto!important;margin:0!important;padding-left:22px!important;overflow:visible!important;list-style:disc outside!important}.isp-f526-wrap li{width:auto!important;float:none!important;display:list-item!important;margin:0 0 9px!important;padding:0!important;overflow:visible!important}.isp-f526-wrap .isp-f526-note{padding:18px 20px;border-left:4px solid var(--teal);border-radius:10px;background:#f5f9fa;color:var(--muted)}.isp-f526-wrap .isp-f526-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding:24px;border-radius:15px;background:var(--navy2);color:#fff}.isp-f526-wrap .isp-f526-cta h2{margin:0 0 6px!important;color:#fff!important;font-size:23px!important}.isp-f526-wrap .isp-f526-cta p{margin:0;color:#dbe9ed}.isp-f526-wrap .isp-f526-cta a{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border-radius:9px;background:var(--teal);color:#fff!important;font-weight:800;text-decoration:none!important}.isp-f526-wrap .isp-f526-cta a:hover,.isp-f526-wrap .isp-f526-cta a:focus{background:#11a399}@media(max-width:820px){.isp-f526-wrap .isp-f526-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.isp-f526-wrap .isp-f526-grid,.isp-f526-wrap .isp-f526-two{grid-template-columns:1fr}.isp-f526-wrap .isp-f526-cta{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.isp-f526-wrap .isp-f526-hero{padding:22px 18px;border-radius:13px}.isp-f526-wrap .isp-f526-facts{grid-template-columns:1fr}.isp-f526-wrap .isp-f526-card,.isp-f526-wrap .isp-f526-panel,.isp-f526-wrap .isp-f526-cta{padding:18px}}


/* Shared Forceps product family migrated out of product_content.php. */

/* Shared presentation only: all product-specific Forceps copy remains in DB. */
html body .isp-product-page.isp-si197-product-r72 .isp-product-description.isp-content-body .si197-hero h2{color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important}
html body .isp-product-page.isp-si197-product-r72 .isp-product-description.isp-content-body .si197-cta h3{color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important}

.isp-product-page .si197-product,.isp-product-page .si197-product *{box-sizing:border-box}
.isp-product-page .si197-product{display:grid;gap:18px;color:#344c5e;line-height:1.7}
.isp-product-page .si197-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,.55fr);gap:18px;padding:25px;border-radius:17px;background:linear-gradient(120deg,#173b50,#087b7b);color:#fff}
.isp-product-page .si197-eyebrow,.isp-product-page .si197-kicker{display:block;margin-bottom:7px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#087b7b}
.isp-product-page .si197-hero .si197-eyebrow{color:#b9f2eb}
.isp-product-page .si197-hero h2{color:#fff!important;line-height:1.24;font-size:clamp(1.45rem,2.5vw,2rem);margin:4px 0 12px}
.isp-product-page .si197-hero p{color:#e7f5f4!important;margin:0}
.isp-product-page .si197-hero-code{display:flex;flex-direction:column;justify-content:center;padding:17px;border:1px solid rgba(255,255,255,.27);border-radius:13px;background:rgba(255,255,255,.08)}
.isp-product-page .si197-hero-code span,.isp-product-page .si197-hero-code small{color:#e0f5f1}
.isp-product-page .si197-hero-code strong{font-size:1.25rem;color:#fff;overflow-wrap:anywhere}
.isp-product-page .si197-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.isp-product-page .si197-facts>div{padding:16px;border:1px solid #d8e6e8;background:#f4faf9;border-radius:13px}
.isp-product-page .si197-facts span{display:block;font-size:.76rem;color:#657b85}
.isp-product-page .si197-facts strong{display:block;font-size:.92rem;color:#16374b;overflow-wrap:anywhere}
.isp-product-page .si197-section{padding:22px;border:1px solid #dbe7e8;border-radius:15px;background:#fff}
.isp-product-page .si197-section h3{font-size:1.25rem;color:#173b50;margin:0 0 13px}
.isp-product-page .si197-section p{margin:8px 0;color:#425d6d}
.isp-product-page .si197-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.isp-product-page .si197-feature{padding:15px;border:1px solid #dce8e9;border-radius:12px;background:#f6fafb}
.isp-product-page .si197-feature span{display:block;font-size:.72rem;color:#647d85;letter-spacing:.06em;text-transform:uppercase}
.isp-product-page .si197-feature p{margin:7px 0 0;color:#19384b}
.isp-product-page .si197-spec-list{margin:0;display:grid;gap:0;border:1px solid #dbe6e9;border-radius:12px;overflow:hidden}
.isp-product-page .si197-spec-list>div{display:grid;grid-template-columns:minmax(120px,32%) 1fr;border-top:1px solid #dce8e9}
.isp-product-page .si197-spec-list>div:first-child{border-top:0}
.isp-product-page .si197-spec-list dt,.isp-product-page .si197-spec-list dd{margin:0;padding:11px 13px}
.isp-product-page .si197-spec-list dt{font-weight:700;color:#173b50;background:#eff8f8}
.isp-product-page .si197-table-wrap{width:100%;overflow-x:auto;border:1px solid #dae6e8;border-radius:12px}
.isp-product-page .si197-table-wrap table{border-collapse:collapse;width:100%;margin:0!important}
.isp-product-page .si197-table-wrap th,.isp-product-page .si197-table-wrap td{padding:11px 13px;border-bottom:1px solid #e0ebed;text-align:left}
.isp-product-page .si197-table-wrap th{background:#edf7f7;color:#15384a}
.isp-product-page .si197-note{padding:11px 13px;border-left:3px solid #0b8582;border-radius:8px;background:#f2f8f8}
.isp-product-page .si197-faq details{padding:12px 0;border-top:1px solid #e0e9eb}
.isp-product-page .si197-faq details:last-child{border-bottom:1px solid #e0e9eb}
.isp-product-page .si197-faq summary{font-weight:700;cursor:pointer;color:#1c4052}
.isp-product-page .si197-cta{padding:23px;border-radius:16px;background:#173b50}
.isp-product-page .si197-cta .si197-kicker{color:#b7efe8}
.isp-product-page .si197-cta h3{color:#fff!important;font-size:1.2rem;margin:0 0 8px}
.isp-product-page .si197-cta p{margin:0;color:#e3f1f3}
@media(max-width:750px){.isp-product-page .si197-hero{grid-template-columns:1fr}.isp-product-page .si197-facts{grid-template-columns:1fr 1fr}}
@media(max-width:530px){.isp-product-page .si197-facts,.isp-product-page .si197-feature-grid{grid-template-columns:1fr}.isp-product-page .si197-hero,.isp-product-page .si197-section,.isp-product-page .si197-cta{padding:17px}.isp-product-page .si197-spec-list>div{grid-template-columns:minmax(90px,38%) 1fr}}


/* Shared Instrument Kit product family migrated out of product_content.php. */

.isp-product-page.isp-si196-product-r1 .isp-product-details-section{border-radius:18px}
.isp-product-page.isp-si196-product-r1 .isp-product-description{max-width:none}
.isp-product-page.isp-si196-product-r1 .si196-editorial{display:grid;gap:18px;color:#17324a}
.isp-product-page.isp-si196-product-r1 .si196-product-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:20px;padding:26px;border-radius:18px;background:linear-gradient(120deg,#173b50,#007f7b);color:#fff}
.isp-product-page.isp-si196-product-r1 .si196-product-hero h2{margin:4px 0 10px;color:#fff;font-size:clamp(1.45rem,2.8vw,2.15rem);line-height:1.18}
.isp-product-page.isp-si196-product-r1 .si196-product-hero p{margin:0;color:#e7f2f3;line-height:1.7}
.isp-product-page.isp-si196-product-r1 .si196-eyebrow{display:block;font-size:.73rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#a9e9e3}
.isp-product-page.isp-si196-product-r1 .si196-hero-panel{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.07)}
.isp-product-page.isp-si196-product-r1 .si196-hero-panel h3{margin:0 0 8px;color:#fff;font-size:1rem}
.isp-product-page.isp-si196-product-r1 .si196-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.isp-product-page.isp-si196-product-r1 .si196-fact{padding:15px;border:1px solid #d9e5e8;border-radius:13px;background:#f8fbfb}
.isp-product-page.isp-si196-product-r1 .si196-fact strong{display:block;color:#17324a;font-size:1rem}
.isp-product-page.isp-si196-product-r1 .si196-fact span{display:block;margin-top:4px;color:#657985;font-size:.76rem}
.isp-product-page.isp-si196-product-r1 .si196-product-section{padding:20px;border:1px solid #dce6e9;border-radius:15px;background:#fff}
.isp-product-page.isp-si196-product-r1 .si196-product-section h3{margin:0 0 10px;color:#17324a;font-size:1.25rem}
.isp-product-page.isp-si196-product-r1 .si196-product-section p{line-height:1.72;color:#465d6c}
.isp-product-page.isp-si196-product-r1 .si196-table-wrap{overflow-x:auto;margin-top:12px;border:1px solid #dbe4e7;border-radius:12px}
.isp-product-page.isp-si196-product-r1 .si196-table-wrap table{width:100%;border-collapse:collapse;margin:0!important}
.isp-product-page.isp-si196-product-r1 .si196-table-wrap th{background:#eef7f6;color:#17324a;text-align:left;font-weight:800}
.isp-product-page.isp-si196-product-r1 .si196-table-wrap th,.isp-product-page.isp-si196-product-r1 .si196-table-wrap td{padding:11px 12px;border-bottom:1px solid #e2e9eb;vertical-align:top}
.isp-product-page.isp-si196-product-r1 .si196-table-wrap tbody tr:last-child td{border-bottom:0}
.isp-product-page.isp-si196-product-r1 .si196-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.isp-product-page.isp-si196-product-r1 .si196-check-grid>div{padding:15px;border:1px solid #dce6e9;border-radius:12px;background:#f8fbfb}
.isp-product-page.isp-si196-product-r1 .si196-check-grid strong{display:block;margin-bottom:5px}
.isp-product-page.isp-si196-product-r1 .si196-note,.isp-product-page.isp-si196-product-r1 .si196-alert{margin-top:13px;padding:14px 16px;border-left:4px solid #009b93;border-radius:10px;background:#edf8f6}
.isp-product-page.isp-si196-product-r1 .si196-note p,.isp-product-page.isp-si196-product-r1 .si196-alert p{margin:4px 0 0}
.isp-product-page.isp-si196-product-r1 .si196-alert--strong{border-left-color:#b26a00;background:#fff8eb}
.isp-product-page.isp-si196-product-r1 .si196-resource a{font-weight:700;color:#007d78}
.isp-product-page.isp-si196-product-r1 .si196-faq details{border-top:1px solid #e0e7e9;padding:12px 0}
.isp-product-page.isp-si196-product-r1 .si196-faq details:last-child{border-bottom:1px solid #e0e7e9}
.isp-product-page.isp-si196-product-r1 .si196-faq summary{cursor:pointer;font-weight:800;color:#17324a}
.isp-product-page.isp-si196-product-r1 .si196-faq details p{margin:9px 0 0}
.isp-product-page.isp-si196-product-r1 .si196-procurement-cta{padding:22px;border-radius:16px;background:#173b50;color:#fff}
.isp-product-page.isp-si196-product-r1 .si196-procurement-cta span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8fe2db}
.isp-product-page.isp-si196-product-r1 .si196-procurement-cta h3{margin:7px 0;color:#fff;font-size:1.25rem}
.isp-product-page.isp-si196-product-r1 .si196-procurement-cta p{margin:0;color:#e1edf0}
@media(max-width:800px){.isp-product-page.isp-si196-product-r1 .si196-product-hero{grid-template-columns:1fr}.isp-product-page.isp-si196-product-r1 .si196-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.isp-product-page.isp-si196-product-r1 .si196-facts,.isp-product-page.isp-si196-product-r1 .si196-check-grid{grid-template-columns:1fr}.isp-product-page.isp-si196-product-r1 .si196-product-hero,.isp-product-page.isp-si196-product-r1 .si196-product-section{padding:17px}}

/* SI-196-R1 HF1: dark-panel heading contrast hardening. */
.isp-product-page.isp-si196-product-r1{--si196-r1-hf1-contrast:1}
.isp-product-page.isp-si196-product-r1 .si196-product-hero h2,
.isp-product-page.isp-si196-product-r1 .si196-hero-panel h3,
.isp-product-page.isp-si196-product-r1 .si196-procurement-cta h3{color:#fff!important}

/* SI-196-R1 HF2: specificity repair.
   Global generic product CSS uses:
   html body .isp-product-page .isp-product-description:not(.isp-product-description--custom) h2/h3
   with !important. These selectors intentionally exceed that specificity. */
html body .isp-product-page.isp-si196-product-r1 .isp-product-description.isp-content-body .si196-product-hero h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  margin:4px 0 10px!important;
  font-size:clamp(1.45rem,2.8vw,2.15rem)!important;
  line-height:1.18!important;
  font-weight:800!important;
}
html body .isp-product-page.isp-si196-product-r1 .isp-product-description.isp-content-body .si196-hero-panel h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  margin:0 0 8px!important;
  font-size:1rem!important;
  line-height:1.35!important;
  font-weight:800!important;
}
html body .isp-product-page.isp-si196-product-r1 .isp-product-description.isp-content-body .si196-procurement-cta h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  margin:7px 0!important;
  font-size:1.25rem!important;
  line-height:1.3!important;
  font-weight:800!important;
}
.isp-product-page.isp-si196-product-r1{--si196-r1-hf2-contrast:1}


/* Respiratory & Anesthesia late contrast migrated out of head.php. */

html body .isp-product-description.isp-content-body .isp-ra14-facts .isp-ra14-fact strong,
html body .isp-product-description.isp-content-body .isp-ra14-facts .isp-ra14-fact span {
    color: #ffffff !important;
}
html body .isp-product-description.isp-content-body .isp-ra14-cta h2,
html body .isp-product-description.isp-content-body .isp-ra14-cta h3,
html body .isp-product-description.isp-content-body .isp-ra14-cta h4,
html body .isp-product-description.isp-content-body .isp-ra14-cta p,
html body .isp-product-description.isp-content-body .isp-ra14-cta strong,
html body .isp-product-description.isp-content-body .isp-ra14-cta span {
    color: #ffffff !important;
}
html body .isp-product-description.isp-content-body .isp-ra14-cta a {
    color: #08746f !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
}
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel > h2,
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel > h3,
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel > h4,
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel .isp-ra141-highlight b,
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel .isp-ra141-highlight strong,
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel .isp-ra141-highlight span,
html body .isp-product-description.isp-content-body .isp-ra141-highlight-panel .isp-ra141-highlight p {
    color: #ffffff !important;
}
html body .isp-product-description.isp-content-body .isp-ra141-cta h2,
html body .isp-product-description.isp-content-body .isp-ra141-cta h3,
html body .isp-product-description.isp-content-body .isp-ra141-cta h4,
html body .isp-product-description.isp-content-body .isp-ra141-cta p,
html body .isp-product-description.isp-content-body .isp-ra141-cta strong {
    color: #ffffff !important;
}
html body .isp-product-description.isp-content-body .isp-ra141-cta > div > span {
    color: #7fe0d9 !important;
}
html body .isp-product-description.isp-content-body .isp-ra141-cta a {
    color: #08746f !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    text-decoration: none !important;
}


/* Unified generic content fallback.
   Any database-authored product that is not one of the shared component families
   uses the canonical article system instead of product-specific embedded CSS. */
html body .isp-product-page .isp-product-description.isp-content-body{
  width:100%;max-width:100%;
}
html body .isp-product-page .isp-product-description.isp-content-body :where(table){
  width:100%;border-collapse:collapse;margin:16px 0;display:table;
}
html body .isp-product-page .isp-product-description.isp-content-body :where(th,td){
  padding:10px 12px;border:1px solid var(--isp-pa-line,#d8e2e3);vertical-align:top;text-align:left;
}
html body .isp-product-page .isp-product-description.isp-content-body th{
  background:var(--isp-pa-soft,#f4f7f7);color:var(--isp-pa-navy-dark,#273c4d);font-weight:800;
}
html body .isp-product-page .isp-product-description.isp-content-body :where(details){
  margin:0 0 9px;padding:12px 14px;border:1px solid var(--isp-pa-line,#d8e2e3);border-radius:10px;background:#fff;
}
html body .isp-product-page .isp-product-description.isp-content-body summary{cursor:pointer;font-weight:800;color:var(--isp-pa-navy-dark,#273c4d)}


/* ===== source: js/fancybox/jquery.fancybox-1.3.4.css (URL paths rebased) ===== */
#fancybox-wrap, #fancybox-wrap *{
    -moz-box-sizing: content-box !important;
    -webkit-box-sizing: content-box !important;
    -safari-box-sizing: content-box !important;
    box-sizing: content-box !important;
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	margin-left: -20px;
	cursor: pointer;
	overflow: hidden;
	z-index: 1104;
	display: none;
}

#fancybox-loading div {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 480px;
	background-image: url('../js/fancybox/fancybox.png');
}

#fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1100;
	display: none;
}

#fancybox-tmp {
	padding: 0;
	margin: 0;
	border: 0;
	overflow: auto;
	display: none;
}

#fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	padding: 20px;
	z-index: 1101;
	outline: none;
	display: none;
}

#fancybox-outer {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
}

#fancybox-content {
	width: 0;
	height: 0;
	padding: 0;
	outline: none;
	position: relative;
	overflow: hidden;
	z-index: 1102;
	border: 0px solid #fff;
}

#fancybox-hide-sel-frame {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	z-index: 1101;
}

#fancybox-close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 30px;
	height: 30px;
	background: transparent url('../js/fancybox/fancybox.png') -40px 0px;
	cursor: pointer;
	z-index: 1103;
	display: none;
}

#fancybox-error {
	color: #444;
	font: normal 12px/20px Arial;
	padding: 14px;
	margin: 0;
}

#fancybox-img {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: none;
	outline: none;
	line-height: 0;
	vertical-align: top;
}

#fancybox-frame {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

#fancybox-left, #fancybox-right {
	position: absolute;
	bottom: 0px;
	height: 100%;
	width: 35%;
	cursor: pointer;
	outline: none;
	background: transparent url('../js/fancybox/blank.gif');
	z-index: 1102;
	display: none;
}

#fancybox-left {
	left: 0px;
}

#fancybox-right {
	right: 0px;
}

#fancybox-left-ico, #fancybox-right-ico {
	position: absolute;
	top: 50%;
	left: -9999px;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	cursor: pointer;
	z-index: 1102;
	display: block;
}

#fancybox-left-ico {
	background-image: url('../js/fancybox/fancybox.png');
	background-position: -40px -30px;
}

#fancybox-right-ico {
	background-image: url('../js/fancybox/fancybox.png');
	background-position: -40px -60px;
}

#fancybox-left:hover, #fancybox-right:hover {
	visibility: visible; /* IE6 */
}

#fancybox-left:hover span {
	left: 20px;
}

#fancybox-right:hover span {
	left: auto;
	right: 20px;
}

.fancybox-bg {
	position: absolute;
	padding: 0;
	margin: 0;
	border: 0;
	width: 20px;
	height: 20px;
	z-index: 1001;
}

#fancybox-bg-n {
	top: -20px;
	left: 0;
	width: 100%;
	background-image: url('../js/fancybox/fancybox-x.png');
}

#fancybox-bg-ne {
	top: -20px;
	right: -20px;
	background-image: url('../js/fancybox/fancybox.png');
	background-position: -40px -162px;
}

#fancybox-bg-e {
	top: 0;
	right: -20px;
	height: 100%;
	background-image: url('../js/fancybox/fancybox-y.png');
	background-position: -20px 0px;
}

#fancybox-bg-se {
	bottom: -20px;
	right: -20px;
	background-image: url('../js/fancybox/fancybox.png');
	background-position: -40px -182px; 
}

#fancybox-bg-s {
	bottom: -20px;
	left: 0;
	width: 100%;
	background-image: url('../js/fancybox/fancybox-x.png');
	background-position: 0px -20px;
}

#fancybox-bg-sw {
	bottom: -20px;
	left: -20px;
	background-image: url('../js/fancybox/fancybox.png');
	background-position: -40px -142px;
}

#fancybox-bg-w {
	top: 0;
	left: -20px;
	height: 100%;
	background-image: url('../js/fancybox/fancybox-y.png');
}

#fancybox-bg-nw {
	top: -20px;
	left: -20px;
	background-image: url('../js/fancybox/fancybox.png');
	background-position: -40px -122px;
}

#fancybox-title {
	font-family: Helvetica;
	font-size: 12px;
	z-index: 1102;
}

.fancybox-title-inside {
	padding-bottom: 10px;
	text-align: center;
	color: #333;
	background: #fff;
	position: relative;
}

.fancybox-title-outside {
	padding-top: 10px;
	color: #fff;
}

.fancybox-title-over {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #FFF;
	text-align: left;
}

#fancybox-title-over {
	padding: 10px;
	background-image: url('../js/fancybox/fancy_title_over.png');
	display: block;
}

.fancybox-title-float {
	position: absolute;
	left: 0;
	bottom: -20px;
	height: 32px;
}

#fancybox-title-float-wrap {
	border: none;
	border-collapse: collapse;
	width: auto;
}

#fancybox-title-float-wrap td {
	border: none;
	white-space: nowrap;
}

#fancybox-title-float-left {
	padding: 0 0 0 15px;
	background: url('../js/fancybox/fancybox.png') -40px -90px no-repeat;
}

#fancybox-title-float-main {
	color: #FFF;
	line-height: 29px;
	font-weight: bold;
	padding: 0 0 3px 0;
	background: url('../js/fancybox/fancybox-x.png') 0px -40px;
}

#fancybox-title-float-right {
	padding: 0 0 0 15px;
	background: url('../js/fancybox/fancybox.png') -55px -90px no-repeat;
}

/* IE6 */

.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }

.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }

.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }

.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
	height: expression(this.parentNode.clientHeight + "px");
}

#fancybox-loading.fancybox-ie6 {
	position: absolute; margin-top: 0;
	top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
}

#fancybox-loading.fancybox-ie6 div	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }

/* IE6, IE7, IE8 */

.fancybox-ie .fancybox-bg { background: transparent !important; }

.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }

/* ===== Tuning Fork / generic Product Editorial Structure v1.0.1 =====
 * Reusable product-description components for DB-authored Product Details.
 * No category, product, SKU or tuning-fork selector is used here.
 * Admin/DB supplies semantic content + generic component classes; this shared
 * stylesheet is the only presentation authority.
 */
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    color: var(--isp-pa-text);
    font: inherit;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial *,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial *::before,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial *::after {
    box-sizing: border-box;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 18px;
    padding: 28px 30px;
    border: 1px solid #174f61;
    border-radius: var(--isp-pa-radius-lg);
    background: linear-gradient(135deg, #173f56 0%, #0b6d73 100%);
    box-shadow: var(--isp-pa-shadow-sm);
    color: #fff;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero h3 {
    margin: 0 0 9px !important;
    color: #fff !important;
    font-size: clamp(22px, 2.2vw, 30px) !important;
    line-height: 1.22 !important;
    letter-spacing: -.02em !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero p,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero strong {
    color: rgba(255,255,255,.94) !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero p:last-child {
    margin-bottom: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__section {
    margin: 0 0 16px;
    padding: 22px 24px;
    border: 1px solid var(--isp-pa-line);
    border-radius: var(--isp-pa-radius-md);
    background: #fff;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__section--intro {
    border-left: 4px solid var(--isp-pa-teal) !important;
    background: linear-gradient(135deg, #f6fbfa 0%, #eef8f6 100%) !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__section--soft {
    background: var(--isp-pa-soft) !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__section > h3:first-child {
    margin-top: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid {
    display: grid;
    gap: 14px;
    min-width: 0;
    margin: 16px 0 0;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__card,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__mini-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--isp-pa-line);
    border-radius: 11px;
    background: #fff;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__card {
    background: #f9fbfb;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__card--featured {
    border-color: #9ed5cc !important;
    background: var(--isp-pa-teal-soft) !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__card h4,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__mini-card h4 {
    margin-top: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__card p:last-child,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__mini-card p:last-child {
    margin-bottom: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 40px;
    margin: 0 0 10px;
    padding: 7px 9px;
    border-radius: 9px;
    background: var(--isp-pa-navy-dark);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .02em;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__eyebrow {
    display: inline-block;
    margin: 0 0 8px;
    color: var(--isp-pa-teal-dark);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric-callout,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__split-card {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin: 16px 0 0;
    padding: 18px;
    border: 1px solid var(--isp-pa-line);
    border-radius: 12px;
    background: #fff;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric {
    padding: 18px 14px;
    border-radius: 10px;
    background: var(--isp-pa-navy-dark);
    color: #fff;
    text-align: center;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric strong {
    display: block;
    color: #fff !important;
    font-size: 22px;
    line-height: 1.18;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric span {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.86);
    font-size: 11px;
    line-height: 1.35;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric-copy p:last-child {
    margin-bottom: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__steps {
    margin: 14px 0 0;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    padding: 14px 0;
    border-bottom: 1px solid var(--isp-pa-line);
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--isp-pa-teal-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step h4 {
    margin: 1px 0 5px !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step p:last-child {
    margin-bottom: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__tag {
    padding: 10px 12px;
    border: 1px solid #d9e8e6;
    border-radius: 9px;
    background: var(--isp-pa-teal-soft);
    color: var(--isp-pa-navy-dark);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__note {
    margin: 16px 0 0 !important;
    padding: 15px 17px !important;
    border: 1px solid #cfe7e3 !important;
    border-left: 4px solid var(--isp-pa-teal) !important;
    border-radius: 9px !important;
    background: var(--isp-pa-teal-soft) !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__note--caution {
    border-color: #d9d5bd !important;
    border-left-color: #938646 !important;
    background: #fbfaf2 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__table-wrap {
    width: 100%;
    max-width: 100%;
    margin: 15px 0 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--isp-pa-line);
    border-radius: 11px;
    background: #fff;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__table {
    min-width: 620px;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta {
    margin: 0;
    padding: 24px;
    border-radius: var(--isp-pa-radius-md);
    background: var(--isp-pa-navy-dark);
    color: #fff;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta h3,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta p,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta strong {
    color: #fff !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta h3 {
    margin-top: 0 !important;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta .isp-content-button {
    margin-top: 2px;
    border-color: #fff !important;
    background: #fff !important;
    color: var(--isp-pa-navy-dark) !important;
    -webkit-text-fill-color: var(--isp-pa-navy-dark) !important;
    box-shadow: none;
}

html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta .isp-content-button:hover,
html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__cta .isp-content-button:focus {
    background: var(--isp-pa-teal-soft) !important;
    color: var(--isp-pa-navy-dark) !important;
    -webkit-text-fill-color: var(--isp-pa-navy-dark) !important;
}

@media (max-width: 980px) {
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--4,
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero {
        padding: 23px 20px;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__section {
        padding: 19px 17px;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--2,
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--3,
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--4,
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__grid--5,
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric-callout,
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__split-card {
        grid-template-columns: 1fr;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__metric {
        text-align: left;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__table {
        min-width: 560px;
    }
}

@media (max-width: 480px) {
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__hero {
        padding: 20px 16px;
        border-radius: 12px;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__section {
        padding: 17px 14px;
        border-radius: 11px;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 10px;
    }
    html body .isp-product-page #ispProductDescription.isp-content-body .isp-product-editorial__step-number {
        width: 30px;
        height: 30px;
    }
}

