/* ================================================
   Ha Testimonials Carousel — HanTema v1.0.0
   Prefix: hatst-  (çakışma önlemi)
   ================================================ */

.hatst-wrap {
    --hatst-bg:          #F5F0E8;
    --hatst-card-bg:     #ffffff;
    --hatst-card-bg-alt: #FAFAF5;
    --hatst-text:        #1A1A1A;
    --hatst-sub:         #5C574F;
    --hatst-muted:       #7B7670;
    --hatst-border:      #E8E2D8;
    --hatst-accent:      #C8A96E;
    --hatst-accent-lt:   #E8D9B8;
    --hatst-dark:        #1A1A1A;
    --hatst-star:        #C8A96E;
    --hatst-star-empty:  #D9D0C4;
    --hatst-radius:      18px;
    --hatst-gap:         24px;
    box-sizing: border-box;
    font-family: inherit;
    position: relative;
}
.hatst-wrap *, .hatst-wrap *::before, .hatst-wrap *::after {
    box-sizing: inherit;
}

/* ══════════════════════════
   HEADER
══════════════════════════ */
.hatst-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 36px;
    gap: 16px;
    flex-wrap: wrap;
}
.hatst-header-left { flex: 1; min-width: 0; }

.hatst-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.hatst-eyebrow-line {
    width: 28px;
    height: 2px;
    background: var(--hatst-accent);
    border-radius: 2px;
    flex-shrink: 0;
}
.hatst-eyebrow-text {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--hatst-accent);
}

.hatst-title {
    font-size: 36px;
    font-weight: 900;
    color: var(--hatst-text);
    line-height: 1.2;
    margin: 0;
    word-break: break-word;
}

/* NAV BUTONLAR */
.hatst-nav {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-shrink: 0;
    align-self: center;
}
.hatst-nav-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid var(--hatst-border);
    background: var(--hatst-card-bg);
    color: var(--hatst-text);
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .22s;
    flex-shrink: 0;
    line-height: 1;
}
.hatst-nav-btn:hover {
    background: var(--hatst-dark);
    border-color: var(--hatst-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(26,26,26,0.15);
}
.hatst-nav-btn:disabled {
    opacity: .32;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* ══════════════════════════
   SLIDER
══════════════════════════ */
.hatst-slider-outer {
    overflow: hidden;
    cursor: grab;
    user-select: none;
}
.hatst-slider-outer:active { cursor: grabbing; }

.hatst-slider-track {
    display: flex;
    gap: var(--hatst-gap);
    transition: transform .45s cubic-bezier(.4,0,.2,1);
    will-change: transform;
    align-items: stretch;
}

/* ══════════════════════════
   KART
══════════════════════════ */
.hatst-card {
    background: var(--hatst-card-bg);
    border-radius: var(--hatst-radius);
    padding: 28px 26px 24px;
    border: 1px solid var(--hatst-border);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    transition: transform .25s ease, box-shadow .25s ease;
    position: relative;
    overflow: hidden;
}
.hatst-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 40px rgba(0,0,0,0.09);
}

/* Tırnak dekor */
.hatst-card-quote {
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 64px;
    font-family: Georgia, serif;
    line-height: 1;
    color: var(--hatst-accent-lt);
    pointer-events: none;
    user-select: none;
    font-style: normal;
    leading-trim: both;
}

/* YILDIZLAR */
.hatst-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 16px;
}
.hatst-star {
    font-size: 14px;
    color: var(--hatst-star-empty);
    transition: color .2s;
}
.hatst-star.filled { color: var(--hatst-star); }

/* YORUM METNİ */
.hatst-card-text {
    font-size: 15px;
    color: var(--hatst-sub);
    line-height: 1.75;
    margin: 0 0 24px;
    flex: 1;
    position: relative;
    z-index: 1;
}

/* AYRAÇ */
.hatst-card-divider {
    height: 1px;
    background: var(--hatst-border);
    margin-bottom: 20px;
    flex-shrink: 0;
}

/* KİŞİ BİLGİSİ */
.hatst-person {
    display: flex;
    align-items: center;
    gap: 14px;
}
.hatst-avatar-wrap {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--hatst-accent-lt);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hatst-avatar-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Avatar placeholder (initials) */
.hatst-avatar-initials {
    font-size: 18px;
    font-weight: 800;
    color: var(--hatst-accent);
    line-height: 1;
    text-transform: uppercase;
    user-select: none;
}

.hatst-person-info {}
.hatst-person-name {
    font-size: 15px;
    font-weight: 800;
    color: var(--hatst-text);
    margin: 0 0 2px;
    line-height: 1.3;
}
.hatst-person-role {
    font-size: 12px;
    color: var(--hatst-muted);
    margin: 0;
    line-height: 1.4;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* ══════════════════════════
   DOTS
══════════════════════════ */
.hatst-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
    flex-wrap: wrap;
}
.hatst-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--hatst-border);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .25s, width .25s, border-radius .25s;
    flex-shrink: 0;
}
.hatst-dot.is-active {
    background: var(--hatst-accent);
    width: 26px;
    border-radius: 4px;
}

/* ══════════════════════════
   TABLET ≤1024px
══════════════════════════ */
@media (max-width: 1024px) {
    .hatst-title { font-size: 28px !important; }
    .hatst-card  { padding: 22px 20px 20px; }
    .hatst-card-text { font-size: 14px !important; }
}

/* ══════════════════════════
   MOBİL ≤767px
══════════════════════════ */
@media (max-width: 767px) {
    .hatst-header       { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
    .hatst-title        { font-size: 22px !important; }
    .hatst-nav-btn      { width: 42px; height: 42px; font-size: 13px; }
    .hatst-card         { padding: 20px 18px 18px; }
    .hatst-card-text    { font-size: 14px !important; }
    .hatst-card-quote   { font-size: 48px; top: 10px; right: 14px; }
    .hatst-dots         { margin-top: 20px; }
}

/* ══════════════════════════
   KÜÇÜK MOBİL ≤480px
══════════════════════════ */
@media (max-width: 480px) {
    .hatst-title       { font-size: 20px !important; }
    .hatst-card-text   { font-size: 13px !important; }
    .hatst-person-name { font-size: 14px !important; }
}
