/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ===== Participants section ===== */

.kd-participants {
    width: 100%;
}

.kd-group-title {
    text-align: center;
    margin: 40px 0 24px;
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 40px;
    color: #ffffff;
}

/* 2 columns, 68% width centred — from Elementor JSON container width */
.kd-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    width: 68%;
    margin: 0 auto;
}

@media (max-width: 900px) {
    .kd-grid {
        width: 90%;
    }
}

@media (max-width: 600px) {
    .kd-grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 16px;
    }
}

/* ===== Card — white container, 24px radius, 12px padding ===== */
.kd-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background-color: var(--e-global-color-text, #ffffff);
    border-radius: 24px;
    padding: 12px;
    width: 100%;
    box-sizing: border-box;
}

/* ===== Flip box — only the photo flips on hover ===== */
.kd-flip {
    width: 100%;
    height: 350px;
    perspective: 1000px;
    cursor: pointer;
    border-radius: 16px;
    flex-shrink: 0;
}

@media (max-width: 900px) {
    .kd-flip { height: 319px; }
}

@media (max-width: 600px) {
    .kd-flip { height: 280px; }
}

.kd-flip__inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.55s cubic-bezier(.4, .2, .2, 1);
    transform-style: preserve-3d;
}

.kd-flip:hover .kd-flip__inner,
.kd-flip:focus .kd-flip__inner {
    transform: rotateY(180deg);
}

.kd-flip__front,
.kd-flip__back {
    position: absolute;
    inset: 0;
    border-radius: 16px;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden;
}

/* Front: photo fills the box */
.kd-flip__front {
    background: #e0e0e0;
}


/* Back: white background, black text */
.kd-flip__back {
    transform: rotateY(180deg);
    background: #ffffff;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kd-flip__back-title {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    color: #000000;
    margin: 0;
}

.kd-flip__back-desc {
    font-family: Montserrat, sans-serif;
    font-size: 1rem;
    line-height: 1.55;
    color: #000000;
    margin: 0;
    overflow-y: auto;
}

/* Name — Montserrat 700, 1.5rem */
.kd-card__name {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.33;
    color: #000000;
    margin: 0;
}

/* Position */
.kd-card__position {
    font-family: Montserrat, sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.55;
    color: var(--e-global-color-primary, #000);
    margin: 0;
}

/* Social icons — inline, 24px, 8px gap */
.kd-card__socials {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.kd-social {
    display: inline-flex;
    align-items: center;
    opacity: 0.85;
    transition: opacity 0.2s;
}

.kd-social:hover {
    opacity: 1;
}

.kd-social img {
    display: block;
    width: 24px;
    height: 24px;
}
