/* Content detail page module-specific styles */
.detail-shell-content .detail-card {
    background:
        radial-gradient(circle at top left, rgba(237, 245, 255, 0.88), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(247, 250, 254, 0.96));
}

.detail-shell-content .detail-title {
    max-width: 12ch;
    margin-bottom: 0;
}

.detail-shell-content .detail-lead {
    border-left-color: rgba(37, 99, 235, 0.78);
}

.detail-shell-content .detail-story-context {
    margin-top: 0.1rem;
}

.detail-shell-content .detail-body > p:first-child::first-letter {
    float: left;
    margin: 0.1rem 0.45rem 0 0;
    color: var(--detail-accent);
    font-family: "Marcellus", var(--bs-font-serif);
    font-size: 3.15rem;
    line-height: 0.9;
}

.detail-shell-content .detail-related-title {
    font-size: 1.16rem;
}

/* Shared video gallery enhancements */
.video-card-wrapper {
    display: block;
    text-decoration: none;
    color: inherit;
}

.video-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--bs-border-radius-lg);
    box-shadow: var(--bs-box-shadow-sm);
    transition: all 0.2s ease-in-out;
    height: 100%;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--bs-box-shadow);
}

.video-card .video-poster {
    position: relative;
    padding-top: 56.25%;
    background-size: cover;
    background-position: center;
    transition: transform 0.2s ease-in-out;
}

.video-card:hover .video-poster {
    transform: scale(1.05);
}

.video-card .video-poster::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    z-index: 1;
}

.video-card:hover .video-poster::before {
    opacity: 1;
}

.video-card .play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    font-size: 4rem;
    color: white;
    opacity: 0;
    transition: all 0.2s ease-in-out;
    z-index: 2;
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

.video-card:hover .play-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 991.98px) {
    .detail-shell-content .detail-body > p:first-child::first-letter {
        font-size: 2.75rem;
        margin-right: 0.34rem;
    }
}
