/* MK Case Study */

.mk-cs-section {
    padding: 80px 30px;
    background-color: #fff;
}

/* Layout — CSS Grid split */
.mk-cs-layout {
    display: grid;
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: center;
}

.mk-cs-layout--split-left {
    grid-template-columns: 1fr 1fr;
}

.mk-cs-layout--split-right {
    grid-template-columns: 1fr 1fr;
}

.mk-cs-layout--split-right .mk-cs-gallery {
    order: 2;
}

.mk-cs-layout--split-right .mk-cs-content {
    order: 1;
}

.mk-cs-layout--full-width {
    grid-template-columns: 1fr;
}

/* Gallery */
.mk-cs-gallery {
    width: 100%;
}

.mk-cs-gallery .mk-photo-carousel {
    position: relative;
    display: grid;
    grid-template-rows: auto;
}

.mk-cs-gallery .mk-carousel-container {
    overflow: hidden;
    border-radius: 8px;
    position: relative;
    height: 400px;
    width: 100%;
}

/* Images use position:absolute (inherited from the shared carousel CSS).
   Sizing them via the container guarantees the same visual height regardless
   of whether the brand-showcase CSS is loaded on the same page. */
.mk-cs-gallery .mk-carousel-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Content */
.mk-cs-content {
    padding: 20px 0;
}

.mk-cs-heading {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--mk-dark);
    margin: 0 0 10px;
}

.mk-cs-subtitle {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.1rem;
    color: #666;
    margin: 0 0 20px;
}

/* Meta — small caps style */
.mk-cs-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--mk-border);
}

.mk-cs-client,
.mk-cs-type {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--mk-light-gray);
}

/* Description */
.mk-cs-description {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    color: var(--mk-gray);
    line-height: 1.7;
    margin-bottom: 24px;
}

.mk-cs-description p {
    margin-bottom: 12px;
}

.mk-cs-description p:last-child {
    margin-bottom: 0;
}

/* Buttons */
.mk-cs-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

/* Responsive */
@media (max-width: 1024px) {
    .mk-cs-heading { font-size: 1.8rem; }
    .mk-cs-layout { gap: 30px; }
}

@media (max-width: 768px) {
    .mk-cs-section { padding: 50px 20px; }

    .mk-cs-layout--split-left,
    .mk-cs-layout--split-right {
        grid-template-columns: 1fr;
    }

    /* Stack: gallery always on top on mobile */
    .mk-cs-layout--split-right .mk-cs-gallery { order: 1; }
    .mk-cs-layout--split-right .mk-cs-content { order: 2; }

    .mk-cs-heading { font-size: 1.6rem; }
    .mk-cs-subtitle { font-size: 1rem; }
    .mk-cs-gallery .mk-carousel-container { height: 300px; }
}

@media (max-width: 480px) {
    .mk-cs-gallery .mk-carousel-container { height: 240px; }
    .mk-cs-meta { flex-direction: column; gap: 8px; }
    .mk-cs-buttons { flex-direction: column; }
    .mk-cs-buttons .mk-btn { width: 100%; }
}
