/* ==========================================================================
   team.css — Raviva Dental
   team.php (staff grid) and our-dentists.php (detailed dentist profiles).
   ========================================================================== */

/* ---------- Team grid (team.php) ---------- */
.team-section {
    background: var(--cream);
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

.team-card {
    background: var(--white);
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid var(--line);
    text-align: center;
    padding-bottom: 26px;
    transition: 0.3s ease;
}

.team-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); }

.team-card h4 {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    font-weight: 500;
    color: var(--dark);
}

.team-card span {
    display: block;
    font-size: 14px;
    color: var(--brown-deep);
    margin-top: 4px;
    margin-bottom: 12px;
}

.team-card p {
    font-size: 14px;
    padding: 0 22px;
}

/* ---------- Dentist summary (team.php, v9.5.1) ----------
   Brief cards linking through to the full profiles on
   about/our-dentists.php, rather than duplicating full bios here. */
.dentist-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    max-width: 860px;
    margin: 0 auto;
}

.dentist-summary-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 26px;
    text-decoration: none;
    transition: 0.3s ease;
}

.dentist-summary-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-soft);
}

.dentist-summary-card .avatar {
    width: 68px;
    height: 68px;
    font-size: 23px;
    flex-shrink: 0;
    margin-bottom: 0;
}

.dentist-summary-card h4 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 18px;
    color: var(--dark);
}

.dentist-summary-card span:not(.dentist-summary-link) {
    display: block;
    font-size: 13.5px;
    color: var(--brown-deep);
    font-weight: 600;
    margin: 2px 0 8px;
}

.dentist-summary-card p {
    font-size: 14px;
    color: var(--ink-soft);
    margin-bottom: 10px;
}

.dentist-summary-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--dark);
}

.dentist-summary-link i { font-size: 11px; transition: 0.2s; }
.dentist-summary-card:hover .dentist-summary-link i { transform: translateX(4px); }

/* ---------- Support team (team.php, v9.5.1) ----------
   A single group photo (real photo once uploaded, placeholder until
   then) alongside a description of the non-dentist team, plus a small
   name/role roster underneath rather than individual photo cards. */
.support-team-section {
    background: var(--cream);
}

.support-team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.support-team-photo img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 26px;
    box-shadow: var(--shadow-soft);
    display: block;
}

.support-team-photo-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 26px;
    box-shadow: var(--shadow-soft);
    background: linear-gradient(160deg, var(--sand) 0%, var(--ice) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: var(--ink-soft);
}

.support-team-photo-placeholder i {
    font-size: 42px;
    color: var(--brown-deep);
}

.support-team-photo-placeholder strong {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    color: var(--dark);
    font-weight: 500;
}

.support-team-copy h2 {
    margin: 4px 0 20px;
}

.support-team-copy p {
    color: var(--ink-soft);
    margin-bottom: 16px;
}

.support-team-roster {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.support-team-pill {
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--ink-soft);
    font-size: 13.5px;
    padding: 9px 16px;
    border-radius: 999px;
}

.support-team-pill strong {
    color: var(--dark);
    font-weight: 600;
}

/* ---------- Dentist profile cards (unused by our-dentists.php as of
   v9.5.1, kept in case a future page wants a compact grid layout again)
   ---------- */
.dentist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.dentist-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dentist-top {
    display: flex;
    align-items: center;
    gap: 16px;
}

.dentist-top .avatar {
    width: 64px;
    height: 64px;
    font-size: 22px;
    flex-shrink: 0;
}

.dentist-top h3 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 19px;
    color: var(--dark);
}

.dentist-card .btn-outline {
    margin-top: auto;
    align-self: flex-start;
    padding: 12px 26px;
    font-size: 14.5px;
}

/* ---------- Dentist profile FEATURES (our-dentists.php, v9.5.1) ----------
   Full-width horizontal sections, one per dentist, alternating
   photo-left/photo-right so the page reads as a sequence of features
   rather than a grid of cards. Each .dentist-feature is a full-bleed
   section (its own background tint, alternating white/cream) with a
   standard .wrap inside it capped at the usual 1180px, split into a
   photo half and a content half via .dentist-feature-wrap (flex). */
.dentist-features {
    display: flex;
    flex-direction: column;
}

.dentist-feature {
    padding: 70px 20px;
}

.dentist-feature:nth-child(odd)  { background: var(--white); }
.dentist-feature:nth-child(even) { background: var(--cream); }

.dentist-feature-wrap {
    display: flex;
    align-items: center;
    gap: 64px;
}

/* Alternate which side the photo sits on for every other dentist,
   purely by flipping flex order — the markup itself never changes. */
.dentist-feature:nth-child(even) .dentist-feature-wrap {
    flex-direction: row-reverse;
}

.dentist-feature-photo {
    flex: 0 0 auto;
    width: 380px;
}

.dentist-feature-photo img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 26px;
    box-shadow: var(--shadow-soft);
    display: block;
}

/* Shown until a real portrait is uploaded (see the 'photo' => null
   comment in about/our-dentists.php) — same "coming soon" spirit as
   .clinic-carousel-empty, sized/shaped to match where the real <img>
   above will eventually sit so swapping one for the other doesn't
   shift the layout. */
.dentist-feature-photo-placeholder {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 26px;
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: var(--white);
}

.dentist-feature-photo-placeholder span {
    font-family: 'Fraunces', serif;
    font-size: 56px;
    font-weight: 500;
}

.dentist-feature-photo-placeholder small {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    background: rgba(255,255,255,0.18);
    padding: 7px 14px;
    border-radius: 999px;
}

.dentist-feature-content {
    flex: 1 1 0;
    min-width: 0;
}

.dentist-feature-content h3 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 32px;
    color: var(--dark);
    margin: 4px 0 16px;
}

.dentist-feature-content .dentist-tags {
    margin-bottom: 18px;
}

.dentist-feature-content p {
    color: var(--ink-soft);
    margin-bottom: 20px;
    max-width: 560px;
}

.dentist-feature-content .dentist-facts {
    margin-bottom: 28px;
}

.dentist-role {
    font-size: 13.5px;
    color: var(--brown-deep);
    font-weight: 600;
}

.dentist-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dentist-tags span {
    background: var(--cream);
    color: var(--ink-soft);
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 20px;
}

.dentist-facts {
    list-style: none;
    display: grid;
    gap: 8px;
    font-size: 14px;
    color: var(--ink-soft);
}

.dentist-facts i {
    color: var(--brown-deep);
    width: 18px;
}

.dentist-card .btn-outline {
    margin-top: auto;
    align-self: flex-start;
    padding: 12px 26px;
    font-size: 14.5px;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
    .dentist-grid { grid-template-columns: 1fr; }

    .dentist-feature-wrap { gap: 40px; }
    .dentist-feature-photo { width: 300px; }
    .dentist-feature-content h3 { font-size: 27px; }
}

@media (max-width: 860px) {
    /* Stack photo above content, and drop the alternating reversed
       order — with everything stacked vertically there's no longer a
       meaningful "left/right" side to alternate. */
    .dentist-feature { padding: 50px 20px; }
    .dentist-feature-wrap,
    .dentist-feature:nth-child(even) .dentist-feature-wrap {
        flex-direction: column;
        text-align: center;
    }
    .dentist-feature-photo { width: 100%; max-width: 320px; }
    .dentist-feature-content .dentist-tags,
    .dentist-feature-content .dentist-facts { justify-content: center; }
    .dentist-feature-content .dentist-facts { text-align: left; display: inline-grid; }
    .dentist-feature-content p { margin-left: auto; margin-right: auto; }
}

@media (max-width: 900px) {
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .support-team-grid { grid-template-columns: 1fr; gap: 36px; }
    .support-team-photo { order: -1; }
}

@media (max-width: 700px) {
    .dentist-summary-grid { grid-template-columns: 1fr; }
    .dentist-summary-card { flex-direction: column; text-align: center; }
}

@media (max-width: 600px) {
    .team-grid { grid-template-columns: 1fr; }
}
