.sw-product-detail__hero {
    background: radial-gradient(circle at 12% 8%, rgba(215, 25, 32, 0.08), transparent 28%), var(--sw-color-grey-100);
}

.sw-product-detail__summary h1 {
    word-break: break-word;
}

.sw-product-gallery__preview {
    position: relative;
    display: block;
    color: var(--sw-color-grey-700);
    cursor: zoom-in;
}
.sw-product-gallery__preview-label {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid var(--sw-color-grey-200);
    border-radius: var(--sw-radius-small);
    background: var(--sw-color-white);
    font-size: .875rem;
    font-weight: 600;
}
.sw-product-gallery__preview:hover .sw-product-gallery__preview-label {
    color: var(--sw-color-primary-dark);
    border-color: currentColor;
}
.sw-product-gallery__preview:focus-visible {
    outline: 3px solid var(--sw-color-primary-dark);
    outline-offset: -3px;
}

html:has(.sw-product-detail--tires),
html:has(.sw-product-detail--wheels) {
    scrollbar-gutter: stable;
}

html.glightbox-open:has(.sw-product-detail--tires),
html.glightbox-open:has(.sw-product-detail--wheels) {
    background: #17191d;
}
.sw-product-preview .goverlay {
    background: #17191d;
}
.sw-product-preview .gfadeIn,
.sw-product-preview .gfadeOut {
    animation-duration: 160ms;
}
.sw-product-preview .gslide-image {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 64px rgba(0, 0, 0, .25);
}
/* Keep the fitted image clear of controls; allow the library's full-size zoom. */
.sw-product-preview .gslide:not(.zoomed) .gslide-image {
    width: fit-content;
    max-width: calc(100vw - 48px);
    margin-inline: auto;
}
.sw-product-preview .gslide:not(.zoomed) .gslide-image img {
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 96px) !important;
    max-height: calc(100dvh - 96px) !important;
    object-fit: contain;
}
.sw-product-preview .gclose {
    top: 16px;
    right: 24px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    background: #30333a;
    opacity: 1;
}
.sw-product-preview .gclose:hover {
    background: #454952;
}
.sw-product-preview .gclose:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}
.sw-product-preview .glightbox-button-hidden {
    display: none;
}
@media (prefers-reduced-motion: reduce) {
    .sw-product-preview .gfadeIn,
    .sw-product-preview .gfadeOut {
        animation-duration: 1ms;
    }
}

.sw-product-store-availability {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid var(--sw-color-grey-200);
    border-radius: var(--sw-radius-small);
    background: #f7f8fa;
}
.sw-product-store-availability h2 {
    margin: 0 0 12px;
    font-family: var(--sw-font-body);
    font-size: 1.15rem;
}
.sw-product-store-availability__list {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    display: grid;
    gap: 8px;
}
.sw-product-store-availability__list li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
    padding: 8px 12px;
    border: 1px solid var(--sw-color-grey-200);
    border-radius: var(--sw-radius-small);
    background: #fff;
}
.sw-product-store-availability__list li.is-preferred { border-color: var(--sw-color-primary-dark); }
.sw-product-store-availability__list a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.sw-product-store-availability__list .sw-store-availability-status { margin-left: auto; }
.sw-product-store-availability p { margin-bottom: 8px; font-size: .875rem; line-height: 1.6; color: var(--sw-color-grey-700); }
.sw-product-store-availability > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.sw-store-availability-status { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; }
.sw-store-availability-status.is-available { color: #17613b; }
.sw-store-availability-status.is-unavailable { color: #96232b; }

.sw-product-specifications div {
    padding: 12px 0;
}

.sw-product-detail__cta {
    background: var(--sw-color-black);
    color: var(--sw-color-white);
}

.sw-product-detail__cta .container {
    display: flex;
    justify-content: space-between;
    gap: var(--sw-space-5);
    align-items: center;
}

.sw-product-detail__cta h2,
.sw-product-detail__cta p,
.sw-product-detail__cta .sw-eyebrow {
    color: var(--sw-color-white);
}

.sw-product-detail__cta .container > div:last-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--sw-space-3);
}

@media (max-width: 767.98px) {
    .sw-product-detail__cta .container {
        display: grid;
    }
}
