.dor-3d-model-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, 500px);
    gap: 65px;
    justify-content: center;
    align-items: start;
    padding: 40px 20px;
    width: 80%;
    margin: auto;
}

.dor-3d-card {
    width: 480px;
    perspective: 1200px;
    flex: 0 0 auto;
    position: relative;
    cursor: pointer;
}

.dor-3d-card__inner {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    transform-style: preserve-3d;
    transition: transform 0.7s ease;
}

.dor-3d-card.is-flipped .dor-3d-card__inner {
    transform: rotateY(180deg);
}

.dor-3d-card__face {
    position: absolute;
    inset: 0;
    border-radius: 16px;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.dor-3d-card__face--front {
    background: #111;
}

.dor-3d-card__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

.dor-3d-card__face--back {
    transform: rotateY(180deg);
    background: #220705;
    color: white;
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.dor-3d-card__title {
    margin: 0 0 8px;
    font-size: 3rem;
    line-height: 1.2;
}

.dor-3d-card__subtitle {
    margin: 0 0 8px;
    font-size: 2.5rem;
    opacity: 0.85;
}

.dor-3d-card__meta {
    margin: 0 0 10px;
    font-size: 2rem;
}

.dor-3d-card__extra {
    margin: 0 0 10px;
    font-size: 2rem;
    line-height: 1.45;
}

.dor-3d-card__list {
    margin: 0;
    padding-left: 18px;
    font-size: 2rem;
    line-height: 1.45;
}

.dor-3d-model-cards-wrap {
    position: relative;
}

.dor-3d-model-cards-title {

    margin-bottom: 30px;
    transition: margin-left 0.2s ease;
    color: white;
    text-align: left;
    font-size: 5.3125rem;
    font-family: var(--mydict-heading-font);
    margin-left: 30px;
    font-weight: 200;

}

/* Подсказка по центру */
.dor-3d-card__hint {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    transform: translate(-50%, -50%);
    width: 84px;
    height: 84px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: #fff;
    font-size: 34px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
    transition: opacity 0.25s ease, transform 0.25s ease;
    animation: dor3dPulse 1.8s ease-in-out infinite;
}

.dor-3d-card:hover .dor-3d-card__hint {
    transform: translate(-50%, -50%) scale(1.06);
}

.dor-3d-card.is-flipped .dor-3d-card__hint,
.dor-3d-card.is-touched .dor-3d-card__hint {
    opacity: 0;
    visibility: hidden;
}

@keyframes dor3dPulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
    }

    50% {
        transform: translate(-50%, -50%) scale(1.08);
    }
}

@media (max-width: 1020px) {
    .dor-3d-model-cards {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 18px;
        justify-content: flex-start;
        align-items: stretch;
        padding: 20px 20px 28px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;

        scrollbar-width: thin;
        scrollbar-color: #571003 rgba(255, 255, 255, 0.08);
    }

    .dor-3d-card {
        width: min(78vw, 300px);
        flex: 0 0 auto;
        scroll-snap-align: center;
    }

    .dor-3d-model-cards::-webkit-scrollbar {
        height: 6px;
    }

    .dor-3d-model-cards::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.08);
        border-radius: 999px;
    }

    .dor-3d-model-cards::-webkit-scrollbar-thumb {
        background: #571003;
        border-radius: 999px;
    }

    .dor-3d-card__title {
        margin: 0 0 8px;
        font-size: 18px;
        line-height: 1.2;
    }

    .dor-3d-card__subtitle {
        margin: 0 0 8px;
        font-size: 14px;
        opacity: 0.85;
    }

    .dor-3d-card__meta {
        margin: 0 0 10px;
        font-size: 14px;
    }

    .dor-3d-card__extra {
        margin: 0 0 10px;
        font-size: 13px;
        line-height: 1.45;
    }

    .dor-3d-card__list {
        margin: 0;
        padding-left: 18px;
        font-size: 13px;
        line-height: 1.45;
    }

    .dor-3d-card__hint {
        width: 68px;
        height: 68px;
        font-size: 28px;
    }
    .dor-3d-model-cards-title {
        font-size: 3.125rem;
    }
}

@media (max-width: 640px) {
    .dor-3d-card {
        width: 84vw;
        max-width: 280px;
    }

    .dor-3d-card__face--back {
        padding: 12px;
    }

    .dor-3d-card__title {
        font-size: 16px;
    }

    .dor-3d-card__hint {
        width: 62px;
        height: 62px;
        font-size: 24px;
    }

    .dor-3d-model-cards-title {
        font-size: 3.125rem;
    }
}