﻿/* =========================================
   Accordion + Profile Card (image + text)
   =========================================
   Markup options supported:
   A) <details class="accordion-item"><summary class="accordion-trigger">...</summary><div class="accordion-panel">...</div></details>
   B) <div class="accordion-item is-open"><button class="accordion-trigger" aria-expanded="true">...</button><div class="accordion-panel">...</div></div>
   Only CSS below—no JS required for <details>; toggle .is-open class for custom markup.
*/

/* ---------- Theme tokens ---------- */
:root {
    --navy: #0a3a86; /* header active bg */
    --navy-ink: #ffffff; /* header active text */
    --row-bg: #eef6ff; /* header idle bg */
    --row-ink: #0a3a86; /* header idle text */
    --panel-bg: #e9f2ff; /* card bg inside panel */
    --border: #c8d8f2; /* soft borders */
    --radius-lg: 16px;
    --radius-sm: 10px;
    --focus: #1b6eff;
    --shadow-sm: 0 2px 8px rgba(10,58,134,.08);
}

/* ---------- Container ---------- */
.accordion {
    width: 100%;
}

.accordion-item {
}
.acch2 {
    font-family: 'gt_americaextended_regular';
    font-size: 2rem;
    font-weight: 600;
    color: #003366;
}

/* ---------- Header row / trigger ---------- */
.accordion-trigger,
details.accordion-item > summary {
    list-style: none; /* remove default marker on summary */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    padding: 1.25rem 1.5rem;
    color: var(--row-ink);
    font-weight: 700;
    font-size: clamp(1.125rem, 2.2vw, 1.75rem);
    line-height: 1.25;
    cursor: pointer;
    border: 0;
    appearance: none;
    -webkit-user-select: none;
    user-select: none;
    transition: background .2s ease, color .2s ease;
}

    /* Remove default disclosure triangle on <summary> (Safari/WebKit) */
    details.accordion-item > summary::-webkit-details-marker {
        display: none;
    }

/* Active/open state */
.accordion-item.is-open > .accordion-trigger,
details[open].accordion-item > summary {
    color: var(--navy-ink);
}

/* Focus-visible ring */
.accordion-trigger:focus-visible,
details.accordion-item > summary:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

/* ---------- Chevron box at the right ---------- */
/* Expected markup inside header:
     <span class="chevron-box"><span class="chevron" aria-hidden="true"></span></span>
*/
.chevron-box {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border: 2px solid #0a3a86;
    border-radius: 10px;
    display: grid;
    place-items: center;
}

.chevron {
    width: 12px;
    height: 12px;
    border-right: 3px solid #0a3a86;
    border-bottom: 3px solid #0a3a86;
    transform: rotate(45deg); /* pointing down */
    transition: transform .2s ease;
}
/* Rotate chevron when open (points up) */
.accordion-item.is-open .chevron,
details[open] .chevron {
    transform: rotate(-135deg);
}

/* ---------- Panel (collapsible body) ---------- */
.accordion-panel {
    display: none;
    padding: 0; /* panel edge; card handles its own padding */
}

.accordion-item.is-open > .accordion-panel,
details[open] > .accordion-panel {
    display: block;
}

/* =========================================
   Inside panel: Profile card (image + text)
   ========================================= */
.profile-card {
    
    border-radius: 24px;
    padding: 1.5rem;
    margin: 1rem 1.5rem 1.5rem;
}

/* Two-column layout */
.profile {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

/* Left: image/avatar */
.profile-media {
    flex: 0 0 auto;
}

    .profile-media img {
        display: block;
        border-radius: 50%;
        object-fit: cover;
    }

/* Right: text/body */
.profile-body {
    background: var(--panel-bg);
    border-radius: 24px;
    padding: 1.5rem;
    box-shadow: var(--shadow-sm);
    min-width: 0; /* allow text wrapping */
    flex: 1 1 auto;
}

.profile-name {
    font-weight: 800;
}

.profile-title {
    font-weight: 600;
    margin-bottom: .25rem;
}

.profile-meta {
    color: #3369ff !important;
    margin-bottom: 2rem;
}



/* Links inside the card */
.profile-card a {
    color: #3369ff;
    text-decoration: none;
    border-bottom: 1px solid rgba(10,58,134,.25);
}

    .profile-card a:hover {
        border-bottom-color: currentColor;
    }

/* ---------- Breakpoint: ≤ 1040px  ----------
   Image stacks on top and centers
*/
@media (max-width: 1040px) {
    .profile {
        flex-direction: column;
        align-items: center;
        text-align: left; /* keep paragraphs left-aligned for readability */
        gap: 1rem;
    }

    .profile-media img {
        width: 128px;
        height: 128px;
    }
}

/* Optional: compact panel spacing when many bios appear */
.accordion-panel + .accordion-panel {
    margin-top: .25rem;
}
