/* Custom styles for the Hokam section */

:root {
    --transition-smooth: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.hokam-container {
    position: relative;
    z-index: 1;
    max-width: 1400px;
    margin: 0 auto;
    margin-bottom:4rem;
}

/* Grid Layout */
.hokam-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.4rem;
    align-items: stretch;
}

.hokam-content-card {
    grid-column: span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-smooth);
}

.hokam-content-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hokam-card {
    perspective: 1200px;
    cursor: pointer;
    width: 100%;
    height: 100%;
    min-height: 380px;
}

.hokam-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

.hokam-card.flipped .hokam-card-inner {
    transform: rotateY(180deg);
}

.hokam-card-front,
.hokam-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hokam-card-back {
    transform: rotateY(180deg);
}

.hokam-card-front img,
.hokam-card-back img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: var(--transition-smooth);
}

/* Hover effects */
.hokam-card:hover .hokam-card-inner {
    transform: scale(1.03);
}

.hokam-card.flipped:hover .hokam-card-inner {
    transform: scale(1.03) rotateY(180deg);
}

/* Responsive Media Queries */
@media (max-width: 1200px) {
    .hokam-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .hokam-content-card {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {
    .hokam-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .hokam-content-card {
        grid-column: span 2;
    }
}

@media (max-width: 600px) {
    .hokam-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .hokam-content-card {
        grid-column: span 1;
        min-height: auto;
    }

    .hokam-card {
        min-height: 340px;
    }
}