/* Compact product actions; Aspro illustration style requested for this block. */
.rscable-product-calculators { position: relative; z-index: 1; display: grid; gap: 18px; margin: 24px 0; padding: 20px; border: 1px solid var(--stroke_black, #ebedef); border-radius: var(--theme-outer-border-radius, 12px); background: var(--black_bg_black, #fff); }
.rscable-product-calculators__intro { min-width: 0; }
.rscable-product-calculators__intro h2 { margin: 0 0 6px; }
.rscable-product-calculators__intro p { margin: 0; }
.rscable-product-calculators__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.rscable-product-calculators__item { position: relative; min-width: 0; }
.rscable-product-calculators .rscable-product-calculators__link { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; min-height: 66px; padding: 10px 48px 10px 14px; border: 1px solid var(--stroke_black, #ebedef); border-radius: var(--theme-button-border-radius, 6px); background: var(--darkerblack_bg_black, #f7f8fa); text-decoration: none; transition: background-color .2s, border-color .2s, box-shadow .2s, transform .12s; }
.rscable-product-calculators__label { min-width: 0; color: var(--white_text_black, #222228); font-size: 14px; font-weight: 500; line-height: 1.4; }
.rscable-product-calculators__icon { flex: 0 0 40px; width: 40px; height: 40px; color: var(--theme-base-color, #257de3); pointer-events: none; }
.rscable-product-calculators__sprite { position: absolute; width: 0; height: 0; pointer-events: none; }
.rscable-product-calculators .rscable-product-calculators__link:hover,
.rscable-product-calculators .rscable-product-calculators__link:focus-visible { background: color-mix(in srgb, var(--theme-base-color, #257de3) 5%, var(--black_bg_black, #fff)); border-color: var(--rk-border-hover, #9fd4f2); box-shadow: 0 2px 8px rgba(30, 155, 224, .1); }
.rscable-product-calculators .rscable-product-calculators__link:focus-visible,
.rscable-product-calculators__info:focus-visible { outline: 2px solid var(--theme-base-color, #257de3); outline-offset: 2px; }
.rscable-product-calculators__info { position: absolute; z-index: 1; top: 50%; right: 8px; transform: translateY(-50%); display: grid; place-items: center; width: 32px; height: 32px; padding: 7px; border: 0; border-radius: 50%; background: transparent; color: var(--secondary_text, #8d8d8d); cursor: pointer; }
.rscable-product-calculators__info svg { display: block; width: 18px; height: 18px; pointer-events: none; }
.rscable-product-calculators__info:hover,
.rscable-product-calculators__info[aria-expanded="true"] { color: var(--theme-base-color, #257de3); background: color-mix(in srgb, var(--theme-base-color, #257de3) 8%, transparent); }
.rscable-product-calculators__tooltip { position: fixed; z-index: 1100; width: 300px; max-width: calc(100vw - 32px); padding: 12px 14px; border: 1px solid var(--stroke_black, #ebedef); border-radius: var(--theme-image-border-radius, 8px); background: var(--black_bg_black, #fff); color: var(--white_text_black, #222228); box-shadow: 0 4px 20px rgba(0,0,0,.12); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.rscable-product-calculators__tooltip[hidden] { display: none; }
.rscable-calculator-product-context { margin: 16px 0; padding: 12px 16px; background: var(--darkerblack_bg_black, #f7f8fa); border-radius: var(--theme-button-border-radius, 6px); }
.rscable-calculator-product-context p { margin: 0; }
@media (min-width: 1200px) {
    .gallery-size-normal .catalog-detail__item > .rscable-product-calculators { width: calc(100% - 406px); }
    .gallery-size-normal .catalog-detail__item:has(> .rscable-product-calculators) > .catalog-detail__mark-sizes { position: relative; z-index: 1; }
}
@media (max-width: 767px) {
    .rscable-product-calculators { padding: 16px; gap: 14px; }
    .rscable-product-calculators__links { grid-template-columns: minmax(0, 1fr); }
    .rscable-product-calculators__info { width: 44px; height: 44px; right: 3px; padding: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .rscable-product-calculators .rscable-product-calculators__link { transition: none; }
}

/* Product group hover follows the cable-selection help CTA. Voltage keeps only its radius. */
.catalog-detail__item > .catalog-detail__mark-sizes {
    border-radius: var(--theme-outer-border-radius, 12px);
}
.catalog-detail__item .rscable-mark--embedded .rscable-mark__panel {
    transition: box-shadow .2s ease;
}
.catalog-detail__item .rscable-mark--embedded .rscable-mark__panel:hover,
.catalog-detail__item .rscable-mark--embedded .rscable-mark__panel:focus-within {
    box-shadow: inset 0 0 0 1px var(--rk-border-hover, #9fd4f2), 0 8px 24px rgba(30, 155, 224, .16);
}
/* A meaning row is display:contents on desktop, so dim its visible children, not the row. */
@media (hover: hover) and (pointer: fine) {
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__meaning > *,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__result > h2,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__result-head,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__facts {
        transition: opacity .12s ease;
    }
    .catalog-detail__item .rscable-mark--embedded.is-mark-emphasized .rscable-mark__meaning:not(.is-mark-active) > *,
    .catalog-detail__item .rscable-mark--embedded.is-mark-emphasized .rscable-mark__result > h2,
    .catalog-detail__item .rscable-mark--embedded.is-mark-emphasized .rscable-mark__result-head,
    .catalog-detail__item .rscable-mark--embedded.is-mark-emphasized .rscable-mark__facts {
        opacity: .25;
    }
}
@media (prefers-reduced-motion: reduce) {
    .catalog-detail__item > .rscable-product-calculators,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__panel,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__meaning > *,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__result > h2,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__result-head,
    .catalog-detail__item .rscable-mark--embedded .rscable-mark__facts { transition: none; }
}

/* Expand letter hit targets without moving Aspro's staggered layout. */
.catalog-detail__item .rscable-mark--embedded .rscable-mark__meaning-code { padding: 12px 14px; margin: -12px -14px; position: relative; z-index: 1; cursor: default; border-radius: var(--theme-button-border-radius, 6px); }
.catalog-detail__item .rscable-mark--embedded .rscable-mark__meaning-code:focus-visible { outline: 2px solid var(--theme-base-color); outline-offset: 2px; }

/* Match the existing overview button press feedback. */
.rscable-product-calculators .rscable-product-calculators__link:active { transform: scale(.95); box-shadow: inset 0 2px 5px rgb(0 0 0 / 18%); }
/* Aspro's transparent absolute main-parts must not intercept the decoder panel. */
.catalog-detail__item .rscable-mark--embedded { position: relative; z-index: 1; }
/* Extend dotted leader hit targets without changing the visible technical line. */
.catalog-detail__item .rscable-mark--embedded .rscable-mark__leader::after { content: ''; position: absolute; inset: -8px; }

/* Reserve a narrow reading lane for the existing floating controls; keep their handlers/position intact. */
.catalog-detail__item .rscable-mark--embedded .rscable-mark__description { padding-right: var(--rscable-floating-clearance, 0px); box-sizing: border-box; }
/* This is the automatic greeting only. The launcher and the user-opened contact menu stay available. */
body.rscable-reading-mark .b24-widget-button-wrapper .b24-widget-button-popup { visibility: hidden !important; pointer-events: none !important; }
/* At an exceptionally narrow desktop window with a B24 launcher, keep the explanation readable. */
.catalog-detail__item .rscable-mark--embedded .rscable-mark__description { container-type: inline-size; container-name: rscable-mark-reading; }
@container rscable-mark-reading (max-width: 200px) {
    .rscable-mark__legend:not(.rscable-mark__legend--stagger) .rscable-mark__meaning { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-block: 10px; }
    .rscable-mark__legend:not(.rscable-mark__legend--stagger) .rscable-mark__term { width: 100%; }
}
.catalog-detail__item .rscable-mark--embedded .rscable-mark__result > h2,
.catalog-detail__item .rscable-mark--embedded .rscable-mark__result-head,
.catalog-detail__item .rscable-mark--embedded .rscable-mark__facts { padding-right: var(--rscable-floating-clearance, 0px); box-sizing: border-box; }
