/* ================= Team Carousel ================= */
.team-carousel{
    --tc-gap: 24px;
    --tc-pv: 4;
    position: relative;
}
.team-carousel .tc-viewport{
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}
.team-carousel .tc-track{
    display: flex;
    gap: var(--tc-gap);
    padding: 2px; /* scroll-shadow kırpılmasın diye min padding */
}
.team-carousel .tc-slide{
    flex: 0 0 calc((100% - var(--tc-gap) * (var(--tc-pv) - 1)) / var(--tc-pv));
    scroll-snap-align: start;
}

/* arrows */
.team-carousel .tc-arrow{
    position: absolute; top: -64px; right: 0;
    width: 44px; height: 44px; border-radius: 50%;
    border: 2px solid #2E7D32; background: #fff; color:#2E7D32;
    display:flex; align-items:center; justify-content:center;
    cursor: pointer; transition: .2s ease;
}
.team-carousel .tc-prev{ right: 56px; }
.team-carousel .tc-arrow:hover{ transform: translateY(-1px); }
.team-carousel .tc-arrow.disabled{ opacity:.4; pointer-events:none; }

/* dots */
.team-carousel .tc-dots{
    display:flex; gap:8px; justify-content:center; margin-top:12px;
}
.team-carousel .tc-dots button{
    width:8px; height:8px; border-radius:50%; background:#f5b9a6; border:0; cursor:pointer;
}
.team-carousel .tc-dots button.active{ background:#ea7a48; }

/* ================= Team Cards ================= */
.team-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 340px));
    gap:24px; justify-content:space-between;
}
.team-card{
    background:#fff; border-radius:18px; box-shadow:0 6px 20px rgba(0,0,0,.08);
    overflow:hidden; display:flex; flex-direction:column;
}
.team-card__thumb{ aspect-ratio: 4 / 5; background:#f3f3f3; }
.team-card__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.team-card__info{
    background:#fff; margin:-18px 14px 14px; border-radius:16px;
    box-shadow:0 8px 18px rgba(0,0,0,.08);
    padding:14px 14px 12px;
}
.team-card__name{ margin:6px 0 6px; font-size:20px; line-height:1.25; }
.team-card__desc{
    color:#666; margin:0 0 12px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.team-card__cta .btn-more{
    appearance:none; border:0; cursor:pointer;
    background:#EA7A48; color:#fff; padding:10px 14px; border-radius:24px; font-weight:700; text-decoration:none;
}
.team-card__cta .btn-more:hover{ filter:brightness(.95); }

/* ================= Modal ================= */
.team-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.team-modal.is-open{ display:block; }
.team-modal__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.5); }
.team-modal__dialog{
    position:relative; margin:6vh auto; max-width:860px; background:#fff;
    border-radius:20px; box-shadow:0 12px 40px rgba(0,0,0,.2); overflow:hidden; z-index:1;
    padding:28px 28px 22px;
}
.team-modal__close{
    position:absolute; right:16px; top:12px; width:36px; height:36px; border-radius:50%;
    border:0; background:#fff; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.15);
    font-size:22px; line-height:36px;
}

/* note pill */
.note-pill{
    display:inline-flex; align-items:center; gap:10px;
    background:#F5DAD4; color:#8B5B4A; padding:10px 16px; border-radius:999px; margin-bottom:16px;
}
.note-pill .note-icon{ display:inline-flex; }

/* content */
.team-modal__content h2{ margin:0 0 12px; font-size:40px; line-height:1.1; }
.team-modal__content .desc{ color:#222; line-height:1.65; }

/* footer buttons */
.team-modal__footer{ display:flex; gap:12px; padding-top:18px; }
.btn-book{
    background:#2E7D32; color:#fff; text-decoration:none;
    display:inline-flex; align-items:center; gap:10px;
    padding:12px 18px; border-radius:28px; font-weight:700;
}
.btn-secondary{
    background:#fff; color:#1f1f1f; text-decoration:none;
    border:1.5px solid #e6e6e6; padding:12px 18px; border-radius:28px; font-weight:700;
}

/* responsive */
@media (max-width: 720px){
    .team-grid{ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
    .team-card__thumb{ aspect-ratio: 3 / 4; }
    .team-modal__dialog{ margin:3vh 12px; padding:22px 18px; }
    .team-modal__content h2{ font-size:30px; }
}

/* kart başlık ve açıklama fontları */
.team-card__name{
    font-family: "Copernicus", Georgia, serif;
    font-weight:600;
    font-size:24px;
    line-height:36px;
}
.team-card__desc{
    font-family: "Centra", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-weight:400;
    font-size:20px;
    line-height:30px;
}

/* kart info kutusu eş yükseklik ve buton hep altta */
.team-card__info{
    display:flex;
    flex-direction:column;
    min-height:168px;            /* kart boyu eşitlensin, gerekirse 160–180 arası ince ayar yap */
}
.team-card__cta{ margin-top:auto; }

/* buton stili brand ile aynı */
.team-card__cta .btn-more,
.btn-book,
.btn-secondary{
    border-radius:84px;
    padding:10px 24px;
    font-size:var(--fontSizes-sm, 16px);
    font-weight:var(--fontWeights-medium, 600);
    margin-top:20px;
}
.team-card__cta .btn-more{
    background:var(--colors-orange, #EA7A48);
    color:#fff; text-decoration:none; display:inline-block;
}
.btn-book{
    background:#2E7D32; color:#fff; display:inline-flex; align-items:center; gap:10px; text-decoration:none;
}
.btn-book .ico svg{ display:block; }
.btn-secondary{
    background:#fff; color:#1f1f1f; border:1.5px solid #e6e6e6; text-decoration:none;
}

/* carousel kaydırıcı görünüm */
.team-carousel .tc-slide{ scroll-snap-align:start; }
.team-carousel .tc-dots{ margin-top:16px; }


/* tipografi */
.team-card__name{
    font-family:"Copernicus", Georgia, serif;
    font-weight:600;
    font-size:24px;
    line-height:36px;
    margin:6px 0 6px;
    display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
.team-card__desc{
    font-family:"Centra", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-weight:400;
    font-size:20px;
    line-height:30px;
    color:#222;
    margin:0;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* kart kutusu, buton hep altta */
.team-card{ display:flex; flex-direction:column; }
.team-card__info{
    margin:-18px 14px 14px; padding:16px 16px 14px;
    background:#fff; border-radius:16px; box-shadow:0 8px 18px rgba(0,0,0,.08);
    display:flex; flex-direction:column;
}
.team-card__meta{ margin-top:8px; }
.team-card__cta{ margin-top:auto; }
.team-card__cta .btn-more{
    background:#EA7A48; color:#fff; text-decoration:none;
    border:0; border-radius:84px; padding:10px 24px; font-weight:600; font-size:16px;
}

/* dots görünümü */
.team-carousel .tc-dots{ display:flex; gap:8px; justify-content:center; margin-top:16px; }
.team-carousel .tc-dots button{ width:8px; height:8px; border-radius:50%; border:0; background:#f5b9a6; cursor:pointer; }
.team-carousel .tc-dots button.active{ background:#ea7a48; }

/* === kart içini sabitle === */
.team-card__name{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* (zaten Copernicus 24/36 ayarlı) */
}

/* 2 satır = line-height:30px * 2 */
.team-card__desc{
    line-height: 30px;      /* zaten vardı */
    height: 60px;           /* iki satırı sabitle */
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* CTA tek satır kalsın */
.team-card__cta .btn-more{ white-space: nowrap; }

/* info kutusu alt-üst toplamını sabitle (başlık 36 + desc 60 + padding/margins + buton) */
.team-card__info{
    min-height: 196px;      /* gerekirse 190–206 arası oynatılabilir */
}
@media (max-width:720px){
    .team-card__info{ min-height: 184px; } /* mobilde biraz kısaltalım */
}
