.product-page.kaman-product-summary {
    gap: clamp(16px, 1.25vw, 20px);
    color: var(--kaman-text);
}

@media (min-width: 1201px) {
    .product-page.kaman-product-summary {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.7fr) minmax(0, 1fr);
    }
}

.kaman-product-summary .product-gallery-main--static {
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 1;
    margin-block-end: 16px;
    padding: 0;
    border: 1px solid var(--kaman-border);
    border-radius: 8px;
    background: var(--kaman-surface);
}

.kaman-product-summary .product-gallery-main--static .product-gallery-image {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    padding: clamp(12px, 2vw, 24px);
    object-fit: contain;
}

.kaman-product-summary .product-gallery-thumbs--static {
    overflow: hidden;
}

/* Match the initialized Swiper row before its script runs. */
.kaman-product-summary .product-gallery-thumbs--static:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    gap: 10px;
}

.kaman-product-summary .product-gallery-thumbs--static:not(.swiper-initialized) .product-gallery-thumb-button {
    flex: 0 0 auto;
    width: calc((100% - 30px) / 4);
}

.kaman-product-summary .actions-icon {
    inset-inline-start: 12px;
    inset-inline-end: auto;
    inset-block-start: 12px;
    gap: 8px;
    color: var(--kaman-text-secondary);
}

.kaman-product-summary .actions-icon > span,
.kaman-product-summary .product-gallery-nav {
    background: var(--kaman-surface);
    color: var(--kaman-text-secondary);
    border: 1px solid var(--kaman-border);
}

.kaman-product-summary .actions-icon > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 6px;
}

.kaman-product-summary .product-gallery-nav {
    box-shadow: var(--kaman-shadow-card);
}

.kaman-product-summary .product-gallery-thumb-button {
    position: relative;
    min-width: 0;
    border-color: var(--kaman-border);
    background: var(--kaman-surface);
}

.kaman-product-summary .product-gallery-thumb-button.is-active,
.kaman-product-summary .kaman-attribute-option.is-selected {
    border-color: var(--kaman-primary);
}

.kaman-product-summary .product-title,
.kaman-product-summary .seller-name,
.kaman-product-summary .discount-price,
.kaman-product-summary .installment-title {
    color: var(--kaman-text);
}

.kaman-product-summary .product-title {
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.kaman-product-summary .buy-box-divider,
.kaman-product-summary .spec-row,
.kaman-product-summary .add-to-cart-qty {
    border-color: var(--kaman-border);
}

.kaman-product-summary .kaman-attributes:has([data-offer-attributes]:empty) {
    display: none;
}

.kaman-product-summary .kaman-attribute-option {
    min-height: 32px;
    border-color: var(--kaman-border);
    background: var(--kaman-surface);
    color: var(--kaman-text-secondary);
}

.kaman-product-summary .kaman-attribute-option.is-selected {
    background: var(--kaman-primary-soft);
    color: var(--kaman-text);
}

.kaman-product-summary .kaman-attribute-swatch {
    background-color: var(--kaman-border);
}

.kaman-product-summary .buy-box,
.kaman-product-summary .buy-box-header,
.kaman-product-summary .calculator-card,
.kaman-product-summary .specs-preview,
.kaman-product-summary .buy-box-unavailable {
    border-color: var(--kaman-border);
    background: var(--kaman-surface);
    box-shadow: none;
}

.kaman-product-summary .buy-box {
    background: var(--kaman-surface);
    background: color-mix(in srgb, var(--kaman-surface) 75%, var(--kaman-border));
    box-shadow: var(--kaman-shadow-card);
}

.kaman-product-summary .mobile-purchase-dock {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.kaman-product-summary .discount-card {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    gap: 12px;
    align-items: flex-end;
}

.kaman-product-summary .discount-card .discount-badge {
    border-radius: 999px;
    padding: 8px 16px;
    background: var(--kaman-danger);
    color: var(--kaman-surface);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

.kaman-product-summary .discount-header {
    width: 100%;
    justify-content: flex-start;
    align-items: baseline;
    flex-wrap: wrap;
    row-gap: 4px;
}

.kaman-product-summary .discount-price {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.kaman-product-summary .discount-subtotal {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.kaman-product-summary .discount-header .woocommerce-Price-currencySymbol {
    display: inline-block;
    color: var(--kaman-text-muted);
    font-size: 12px;
    font-weight: 400;
}

.kaman-product-summary .mobile-purchase-dock .add-to-cart-btn {
    min-height: 48px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    box-shadow: none;
}

.kaman-product-summary .add-to-cart-added {
    gap: clamp(8px, 1.1vw, 20px);
}

.kaman-product-summary .add-to-cart-added .add-to-cart-view,
.kaman-product-summary .add-to-cart-added .add-to-cart-qty {
    box-sizing: border-box;
    min-height: 48px;
    padding: 8px;
    line-height: 22px;
}

.kaman-product-summary .add-to-cart-added .add-to-cart-view {
    display: grid;
    place-items: center;
    border-width: 1px;
    border-radius: 10px;
}

.kaman-product-summary .add-to-cart-added .add-to-cart-qty {
    direction: ltr;
    flex: 0 0 35.5%;
    min-width: 96px;
    gap: 6px;
}

.kaman-product-summary .add-to-cart-added .add-to-cart-qty[hidden] {
    display: none;
}

.kaman-product-summary .add-to-cart-added .add-to-cart-count {
    color: var(--kaman-text);
    font-size: 16px;
    font-weight: 500;
}

.kaman-product-summary .meta-item-icon,
.kaman-product-summary .meta-accent,
.kaman-product-summary .discount-subtotal,
.kaman-product-summary .spec-key {
    color: var(--kaman-text-secondary);
}

.kaman-product-summary .add-to-cart-btn:not(.is-added),
.kaman-product-summary .buy-box-unavailable__header {
    background: var(--kaman-primary);
    color: var(--kaman-surface);
}

.kaman-product-summary .add-to-cart-btn:not(.is-added):hover {
    background: var(--kaman-primary-hover);
}

.kaman-product-summary .add-to-cart-btn.is-added .add-to-cart-view,
.kaman-product-summary .seller-count,
.kaman-product-summary .plans-action {
    color: var(--kaman-link);
}

.kaman-product-summary .icc-pill,
.kaman-product-summary .icc-summary,
.kaman-product-summary .add-to-cart-qty {
    background: var(--kaman-surface);
    border-color: var(--kaman-border);
    color: var(--kaman-text-secondary);
}

.kaman-product-summary .icc-pill.is-active,
.kaman-product-summary .icc-primary-btn,
.kaman-product-summary .add-to-cart-view {
    background: var(--kaman-surface);
    border-color: var(--kaman-primary);
    color: var(--kaman-primary);
}

.kaman-product-summary .icc-primary-btn:hover {
    background: var(--kaman-primary-hover);
    color: var(--kaman-surface);
}

.kaman-product-summary .buy-box-cashback-note {
    box-sizing: border-box;
    background: var(--kaman-success-soft);
    color: var(--kaman-success);
    border: 0;
    font-weight: 500;
}

.kaman-product-summary .add-to-cart-btn.is-added:hover .add-to-cart-view {
    background: var(--kaman-primary-soft);
    border-color: var(--kaman-primary);
}

.kaman-product-summary :is(button, a, [tabindex]):focus-visible {
    outline: 2px solid var(--kaman-primary);
    outline-offset: 3px;
}

.kaman-product-summary [data-kaman-buy-pending]:not([hidden]) {
    display: flex !important;
    position: relative;
    min-height: 15rem;
}

.kaman-product-summary [data-kaman-buy-pending] > *,
.kaman-product-summary [data-kaman-image-pending] .product-gallery-image,
.kaman-product-summary [data-kaman-thumb-pending] .product-gallery-thumb,
.kaman-product-summary [data-kaman-thumb-error] .product-gallery-thumb {
    visibility: hidden;
}

.kaman-product-summary [data-kaman-buy-pending][hidden],
.kaman-product-summary .add-to-cart-btn[hidden] {
    display: none !important;
}

.kaman-product-summary [data-kaman-buy-pending]::before,
.kaman-product-summary [data-kaman-image-pending]::before,
.kaman-product-summary [data-kaman-thumb-pending]::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 8px;
    pointer-events: none;
    background-color: var(--kaman-border);
    animation: kaman-product-skeleton 1.4s ease-in-out infinite alternate;
}

.kaman-product-summary [data-kaman-thumb-pending]::before {
    inset: 5px;
}

.kaman-product-summary [data-kaman-buy-pending]::before {
    background: linear-gradient(var(--kaman-border) 0 0) 100% 8% / 84% 18% no-repeat,
        linear-gradient(var(--kaman-border) 0 0) 100% 45% / 66% 16% no-repeat,
        linear-gradient(var(--kaman-border) 0 0) 100% 93% / 100% 22% no-repeat;
}

.kaman-product-summary .kaman-buy-load-error {
    padding: 16px;
    border: 1px solid var(--kaman-border);
    border-radius: 8px;
    color: var(--kaman-text);
}

@keyframes kaman-product-skeleton {
    from { opacity: .55; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .kaman-product-summary [data-kaman-buy-pending]::before,
    .kaman-product-summary [data-kaman-image-pending]::before,
    .kaman-product-summary [data-kaman-thumb-pending]::before {
        animation: none;
    }
}

@media (max-width: 768px) {
    .kaman-product-summary .product-gallery-thumbs--static {
        display: none;
    }

    .kaman-product-summary .mobile-purchase-dock {
        background: var(--kaman-surface);
        border-color: var(--kaman-border);
        box-shadow: var(--kaman-shadow-card);
    }

    .kaman-product-summary .kaman-attribute-option {
        min-height: 44px;
    }
}

@media (scripting: none) {
    .kaman-product-summary [data-kaman-buy-pending]:not([hidden]) {
        display: none !important;
    }

    .kaman-product-summary [data-kaman-image-pending]::before,
    .kaman-product-summary [data-kaman-thumb-pending]::before {
        content: none;
    }

    .kaman-product-summary [data-kaman-image-pending] .product-gallery-image,
    .kaman-product-summary [data-kaman-thumb-pending] .product-gallery-thumb {
        visibility: visible;
    }
}


.kaman-product-summary .product-gallery-nav--prev {
    inset-inline: 0 auto;
}

.kaman-product-summary .product-gallery-nav--next {
    inset-inline: auto 0;
}

.kaman-product-summary .buy-box[hidden],
.kaman-product-summary [data-kaman-product-unavailable][hidden],
.kaman-product-summary .product-gallery-nav[hidden],
.seller-offers[hidden],
.product-details__aside[hidden] {
    display: none !important;
}

.kaman-product-summary .buy-box-unavailable__header {
    padding: 16px 16px 0;
    background: var(--kaman-surface);
    color: var(--kaman-danger, var(--kaman-primary));
    font-size: 18px;
}

.kaman-product-summary .buy-box-unavailable__body {
    color: var(--kaman-text-secondary);
}

.kaman-product-alternatives {
    margin-block: 24px;
}

.seller-offers .seller-offers__section {
    background: var(--kaman-surface);
    border-color: var(--kaman-border);
}

.seller-offers__title,
.seller-offers__price-row {
    color: var(--kaman-text);
}

.seller-offers__list {
    display: grid;
    gap: 8px;
}

.seller-offers .seller-offers__card {
    margin: 0;
    padding: 16px;
    background: var(--kaman-background);
    border-color: var(--kaman-border);
    box-shadow: none;
}

.seller-offers .seller-offers__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.2fr) max-content;
    gap: 12px;
}

.seller-offers .seller-offers__row > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

.seller-offers__delivery,
.seller-offers__warranty,
.seller-offers__currency,
.seller-offers__price-old {
    color: var(--kaman-text-secondary);
}

.seller-offers .seller-offers__price {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.seller-offers .seller-offers__price-row {
    flex-wrap: wrap;
    gap: 4px 8px;
}

.seller-offers .seller-offers__btn {
    background: var(--kaman-primary);
    color: var(--kaman-surface);
    box-shadow: none;
}

.seller-offers .seller-offers__btn:hover {
    background: var(--kaman-primary-hover);
}

.seller-offers__discount {
    background: var(--kaman-danger, var(--kaman-primary));
    color: var(--kaman-surface);
}

.seller-offers__price-note {
    color: var(--kaman-danger, var(--kaman-primary));
}

@media (max-width: 768px) {
    .kaman-product-summary .product-gallery-nav--mobile.product-gallery-nav--prev {
        inset-inline: 4px auto;
    }

    .kaman-product-summary .product-gallery-nav--mobile.product-gallery-nav--next {
        inset-inline: auto 4px;
    }

    .seller-offers.is-mobile-open {
        overscroll-behavior: contain;
        background: var(--kaman-surface);
    }

    .seller-offers.is-mobile-open .seller-offers__section {
        box-sizing: border-box;
        padding: 0 16px 16px;
        background: var(--kaman-surface);
    }

    .seller-offers.is-mobile-open .seller-offers__title {
        position: sticky;
        inset-block-start: 0;
        z-index: 1;
        margin: 0;
        padding-block: 12px;
        background: var(--kaman-surface);
        border-block-end: 1px solid var(--kaman-border);
    }

    .seller-offers.is-mobile-open .seller-offers__close {
        width: 44px;
        height: 44px;
    }

    .seller-offers .seller-offers__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .seller-offers .seller-offers__btn {
        width: 100%;
        min-height: 44px;
    }
}

.product-details {
    --product-details-header-offset: 0px;
    --product-details-nav-height: 60px;
    --product-details-sticky-offset: calc(var(--product-details-header-offset) + var(--product-details-nav-height) + 12px);
    gap: 40px;
}

/* The collapsed desktop header keeps its full layout box above the tabs. */
body.single-product .site-header {
    pointer-events: none;
}

body.single-product .site-header > :is(.site-header__top-banner, .header-top, .header-bottom:not(.is-hidden), .header-bottom:focus-within) {
    pointer-events: auto;
}

.product-details .product-details__tabs {
    top: var(--product-details-header-offset);
    z-index: 20;
    gap: 0;
    padding: 0;
    background: color-mix(in srgb, var(--kaman-surface) 75%, var(--kaman-border));
    border-color: var(--kaman-border);
    border-radius: 8px;
    box-shadow: 0 0 4px rgb(0 0 0 / 6%);
}

.product-details .product-details__tab {
    min-height: 58px;
    padding: 12px 24px 9px;
    border-block-end: 3px solid transparent;
    font-weight: 500;
    color: var(--kaman-text-muted);
    white-space: nowrap;
}

.product-details .product-details__tab.is-active {
    border-block-end-color: var(--kaman-primary);
    color: var(--kaman-primary);
}

.product-details .product-details__tab:focus-visible,
.product-details .product-details__more:focus-visible {
    outline: 2px solid var(--kaman-primary);
    outline-offset: -2px;
}

.product-details .product-details__main {
    min-width: 0;
    gap: 20px;
}

.product-details .product-details__section {
    scroll-margin-block-start: var(--product-details-sticky-offset);
    gap: 16px;
    padding: 0 0 20px;
    border: 0;
    border-block-end: 1px solid var(--kaman-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.product-details .product-details__aside {
    top: var(--product-details-sticky-offset);
}

.product-details .product-details__title,
.product-details .reviews-main-title {
    margin: 0;
    color: var(--kaman-text);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.42;
}

.product-details .product-details__text {
    color: var(--kaman-text);
    font-size: 14px;
    line-height: 2.28;
    overflow-wrap: anywhere;
}

.product-details__section--intro:not(.is-expanded) .product-details__text {
    max-height: 128px;
}

.product-details__text > :first-child {
    margin-block-start: 0;
}

.product-details__text :is(img, video) {
    max-inline-size: 100%;
    block-size: auto;
}

.product-details__text table {
    display: block;
    max-inline-size: 100%;
    overflow-x: auto;
}

.product-details .product-details__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 140px;
    min-height: 36px;
    padding: 4px 12px;
    background: transparent;
    color: var(--kaman-primary);
    font-size: 13px;
}

.product-details__more[aria-expanded="true"] .kaman-icon {
    transform: rotate(180deg);
}

.product-details .product-details__feature-list {
    margin: 0;
    padding: 12px;
    border: 1px solid var(--kaman-border);
    border-radius: 8px;
    background: var(--kaman-surface);
}

.product-details .product-details__feature-row:not(.is-hidden),
.product-details .product-details__feature-list.is-expanded .product-details__feature-row {
    display: grid;
    grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    padding: 12px 0;
    border-block-end-color: var(--kaman-border);
}

.product-details__feature-row:last-child,
.product-details__feature-list:not(.is-expanded) .product-details__feature-row:has(+ .is-hidden) {
    border-block-end: 0;
}

.product-details__feature-label {
    color: var(--kaman-text-secondary);
    overflow-wrap: anywhere;
}

.product-details__feature-value {
    margin: 0;
    color: var(--kaman-text);
    overflow-wrap: anywhere;
}

.product-details .product-details__reviews-wrapper {
    border-block-end: 0;
}

.product-details .reviews-main-title {
    margin-block-end: 28px;
}

.product-details .reviews-sidebar-summary {
    top: var(--product-details-sticky-offset);
}

.product-details .overall-score-number,
.product-details .btn-add-review,
.product-details .sort-nav-item.active button {
    color: var(--kaman-primary);
}

.product-details .btn-add-review {
    min-height: 48px;
    border-color: var(--kaman-primary);
    border-radius: 10px;
}

.product-details .btn-add-review:hover {
    background: var(--kaman-primary-soft);
}

.product-details .reviews-sort-bar {
    margin: 0;
    border-color: var(--kaman-border);
}

.product-details .commentlist {
    max-height: none;
    padding: 0;
    overflow: visible;
}

.product-details .comment-card {
    box-sizing: border-box;
    padding: 14px;
    border-color: var(--kaman-border);
}

@media (min-width: 1201px) {
    .product-details .reviews-layout-grid {
        grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
        gap: clamp(24px, 4vw, 72px);
    }
}

@media (max-width: 768px) {
    .product-details {
        gap: 24px;
    }

    .product-details .product-details__tab {
        min-height: 48px;
        padding: 8px 12px 5px;
    }

    .product-details .product-details__title,
    .product-details .reviews-main-title {
        font-size: 18px;
    }

    .product-details .product-details__feature-row:not(.is-hidden),
    .product-details .product-details__feature-list.is-expanded .product-details__feature-row {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        gap: 12px;
    }

    .product-details .product-details__more {
        min-height: 44px;
    }
}
