/* Parent Testimonial Carousel — ptc-style.css */

.ptc-section { max-width: 1100px; margin: 0 auto; padding: 20px 10px 40px; font-family: 'Segoe UI', sans-serif; }

/* Track */
.ptc-outer  { overflow: hidden; position: relative; }
.ptc-track  { display: flex; transition: transform 0.5s cubic-bezier(0.4,0,0.2,1); will-change: transform; align-items: stretch; }

/* Card */
.ptc-card {
    flex: 0 0 calc(33.333% - 16px);
    margin: 8px 8px 16px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    padding: 32px 24px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}
.ptc-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 36px rgba(108,99,255,0.15);
}

/* Avatar */
.ptc-avatar-wrap  { margin-bottom: 20px; }
.ptc-avatar-img   { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; border: 4px solid #6c63ff; display: block; }
.ptc-avatar-fallback {
    width: 90px; height: 90px; border-radius: 50%;
    border: 4px solid #6c63ff;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; font-weight: 700; color: #fff;
}

/* Quote */
.ptc-quote-icon { font-size: 48px; line-height: 1; color: #ede9fe; font-family: Georgia, serif; margin-bottom: -8px; }
.ptc-quote      { font-size: 14px; color: #555; line-height: 1.8; flex: 1; margin-bottom: 20px; }

/* Divider */
.ptc-divider { width: 40px; height: 3px; border-radius: 2px; background: #6c63ff; margin: 0 auto 16px; }

/* Name & Meta */
.ptc-name     { font-size: 16px; font-weight: 700; color: #1a1a2e; }
.ptc-relation { font-size: 13px; color: #6c63ff; font-weight: 600; margin-top: 3px; }
.ptc-child    { font-size: 12px; color: #888; margin-top: 2px; }
.ptc-stars    { color: #f59e0b; font-size: 14px; letter-spacing: 2px; margin-top: 10px; }

/* Nav */
.ptc-nav  { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 28px; }
.ptc-btn  {
    width: 42px; height: 42px; border-radius: 50%;
    border: 2px solid #6c63ff; background: #fff;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: all 0.2s; color: #6c63ff; font-size: 18px; font-weight: 700; line-height: 1;
}
.ptc-btn:hover { background: #6c63ff; color: #fff; }

/* Dots */
.ptc-dots { display: flex; gap: 8px; }
.ptc-dot  {
    width: 10px; height: 10px; border-radius: 50%;
    background: #d1d5db; border: none; cursor: pointer;
    transition: background 0.3s, width 0.3s; padding: 0;
}
.ptc-dot.active { background: #6c63ff; width: 28px; border-radius: 5px; }

/* Responsive */
@media (max-width: 700px)  { .ptc-card { flex: 0 0 calc(100% - 16px); } }
@media (min-width: 701px) and (max-width: 980px) { .ptc-card { flex: 0 0 calc(50% - 16px); } }