/* =========================================================================
   Alvera: equipe, página da equipe ([alv_equipe]) e perfil de sócia
   ([alv_equipe_membro]).
   Portado de reformulacao-v2/equipe.html + equipe-membro.html + styles.css.
   Tudo escopado a #alv-equipe / #alv-equipe-membro. Depende de alv-base.css
   (tokens + primitivos .container, .section, .eyebrow, .btn, .page-hero,
   .section--dark, .section--cream).
   ========================================================================= */

/* =========================================================================
   #alv-equipe: listagem
   ========================================================================= */

/* --- Breadcrumbs do hero (page-hero já vem de alv-base) --- */
#alv-equipe .breadcrumbs {
	display: flex;
	justify-content: center;
	gap: .5rem;
	font-size: .82rem;
	color: var(--alvera-on-dark-dim);
	margin-bottom: 1.5rem;
}
#alv-equipe .breadcrumbs a { color: var(--alvera-orange); }
#alv-equipe .breadcrumbs .sep { opacity: .6; }
#alv-equipe .breadcrumbs .crumb-current { opacity: .8; }

/* --- Microcredenciais no hero --- */
#alv-equipe .team-creds {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	max-width: 760px;
	margin: 2.25rem auto 0;
}
@media (max-width: 640px) { #alv-equipe .team-creds { grid-template-columns: 1fr; } }
#alv-equipe .team-cred {
	text-align: center;
	padding: 1.1rem 1rem;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--radius-md);
}
#alv-equipe .team-cred .num {
	display: block;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 1.9rem;
	color: var(--alvera-orange-on-dark);
	line-height: 1;
	letter-spacing: -0.02em;
}
#alv-equipe .team-cred .lbl {
	display: block;
	margin-top: .45rem;
	font-size: .82rem;
	color: var(--alvera-on-dark-muted);
	line-height: 1.35;
}
#alv-equipe .team-cred .lbl small { color: var(--alvera-on-dark-faint); }

/* --- Grade de cartões --- */
#alv-equipe .team-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 760px) { #alv-equipe .team-grid { grid-template-columns: 1fr 1fr; } }

#alv-equipe .team-card {
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}
#alv-equipe .team-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
#alv-equipe .team-card.is-lead { grid-column: 1 / -1; }
@media (min-width: 760px) {
	#alv-equipe .team-card.is-lead { flex-direction: row; }
	#alv-equipe .team-card.is-lead .team-portrait { width: 300px; flex-shrink: 0; aspect-ratio: auto; }
}

/* --- Retrato: monograma + listras (placeholder até subir foto real) --- */
#alv-equipe .team-portrait {
	position: relative;
	aspect-ratio: 4 / 3;
	display: grid;
	place-items: center;
	background:
		repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 10px, transparent 10px 20px),
		linear-gradient(160deg, var(--alvera-navy) 0%, var(--alvera-navy-darker) 100%);
	color: #FFFFFF;
	overflow: hidden;
}
#alv-equipe .team-portrait img { width: 100%; height: 100%; object-fit: cover; }
#alv-equipe .team-portrait .initials {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 3rem;
	letter-spacing: -0.02em;
	color: rgba(255, 255, 255, .92);
}
#alv-equipe .team-portrait .initials .alvera-dot { background: var(--alvera-orange); }
#alv-equipe .team-portrait__stamp {
	position: absolute;
	left: 14px; bottom: 14px;
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .35rem .7rem;
	background: rgba(0, 0, 0, .32);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: var(--radius-pill);
	font-size: .7rem; font-weight: 700; letter-spacing: .04em;
	color: #FFFFFF;
}

/* --- Corpo do cartão --- */
#alv-equipe .team-card__body { padding: 1.5rem 1.5rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
#alv-equipe .team-card__role {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
	color: var(--alvera-orange-dark);
	margin-bottom: .6rem;
}
#alv-equipe .team-card__role .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--alvera-orange); }
#alv-equipe .team-card__name { font-size: 1.4rem; margin: 0 0 .5rem; color: var(--alvera-navy-darker); }
#alv-equipe .team-card__bio { font-size: .94rem; color: var(--color-text-muted); line-height: 1.55; margin: 0 0 1rem; }
#alv-equipe .team-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.25rem; }
#alv-equipe .team-chip {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .3rem .7rem;
	font-size: .78rem; font-weight: 600;
	background: var(--alvera-navy-soft); color: var(--alvera-navy);
	border-radius: var(--radius-pill);
}
#alv-equipe .team-chip.is-star { background: var(--alvera-orange-soft); color: var(--alvera-orange-dark); }
#alv-equipe .team-card__cta {
	margin-top: auto;
	display: inline-flex; align-items: center; gap: .5rem;
	font-weight: 700; font-size: .92rem;
	color: var(--alvera-navy);
}
#alv-equipe .team-card__cta:hover { color: var(--alvera-orange-dark); gap: .7rem; }

/* --- Missão e CTA --- */
#alv-equipe .equipe-mission {
	font-size: var(--fs-lead);
	color: var(--color-text-body);
	line-height: 1.7;
	max-width: 66ch;
	margin: .5rem auto 0;
}
#alv-equipe .equipe-cta-lead {
	color: var(--alvera-on-dark-muted);
	max-width: 60ch;
	margin: .5rem auto 2rem;
}
#alv-equipe .equipe-cta-actions {
	display: flex;
	gap: .8rem;
	justify-content: center;
	flex-wrap: wrap;
}

/* =========================================================================
   #alv-equipe-membro: perfil individual
   ========================================================================= */
#alv-equipe-membro .member-hero {
	position: relative;
	background: linear-gradient(160deg, var(--alvera-navy-dark) 0%, var(--alvera-navy-darker) 100%);
	color: var(--alvera-on-dark);
	padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
	overflow: hidden;
}
#alv-equipe-membro .breadcrumbs {
	margin-bottom: 1.5rem;
	display: flex; flex-wrap: wrap; gap: .4rem;
	font-size: .85rem;
	color: var(--alvera-on-dark-dim);
}
#alv-equipe-membro .breadcrumbs a { color: var(--alvera-orange); }
#alv-equipe-membro .breadcrumbs .sep { opacity: .5; }
#alv-equipe-membro .breadcrumbs .crumb-current { opacity: .85; }

#alv-equipe-membro .member-hero-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 860px) { #alv-equipe-membro .member-hero-grid { grid-template-columns: 1.5fr 1fr; } }

#alv-equipe-membro .member-hero__eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
	color: var(--alvera-orange-on-dark); margin-bottom: 1rem;
}
#alv-equipe-membro .member-hero__eyebrow .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--alvera-orange); }
#alv-equipe-membro .member-hero h1 { color: #FFFFFF; font-size: clamp(2.1rem, 4vw, 3.1rem); margin: 0 0 .6rem; }
#alv-equipe-membro .member-hero__role { font-size: 1.05rem; font-weight: 700; color: var(--alvera-orange-on-dark); margin: 0 0 1.1rem; }
#alv-equipe-membro .member-hero__tagline { font-size: var(--fs-lead); color: var(--alvera-on-dark-muted); line-height: 1.6; max-width: 52ch; margin: 0 0 1.6rem; }
#alv-equipe-membro .member-hero__ctas { display: flex; flex-wrap: wrap; gap: .8rem; }
#alv-equipe-membro .member-hero__stats { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; margin-top: 1.8rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .14); }
#alv-equipe-membro .member-hero__stat .num { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.7rem; color: #FFFFFF; line-height: 1; }
#alv-equipe-membro .member-hero__stat .lbl { display: block; margin-top: .35rem; font-size: .82rem; color: var(--alvera-on-dark-faint); }
#alv-equipe-membro .member-hero__portrait {
	aspect-ratio: 3 / 4;
	border-radius: var(--radius-lg);
	display: grid; place-items: center;
	background:
		repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 12px, transparent 12px 24px),
		linear-gradient(160deg, var(--alvera-navy) 0%, var(--alvera-navy-darker) 100%);
	border: 1px solid rgba(255, 255, 255, .14);
	overflow: hidden;
}
#alv-equipe-membro .member-hero__portrait img { width: 100%; height: 100%; object-fit: cover; }
#alv-equipe-membro .member-hero__portrait .initials { font-family: var(--font-display); font-weight: 800; font-size: 3.4rem; color: rgba(255, 255, 255, .92); }
#alv-equipe-membro .member-hero__portrait .alvera-dot { background: var(--alvera-orange); }

/* --- Blocos do corpo --- */
#alv-equipe-membro .member-block { border-top: 1px solid var(--color-border); padding-top: clamp(2.5rem, 5vw, 3.5rem); margin-top: clamp(2.5rem, 5vw, 3.5rem); }
#alv-equipe-membro .member-block:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }
#alv-equipe-membro .member-block__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
#alv-equipe-membro .member-block__num { font-family: var(--font-display); font-weight: 800; font-size: .85rem; color: var(--alvera-orange-dark); letter-spacing: .1em; }
#alv-equipe-membro .member-block__head h2 { margin: 0; font-size: var(--fs-h2); }
#alv-equipe-membro .member-block__head .rule { flex: 1; height: 1px; background: var(--color-border); }
#alv-equipe-membro .member-prose { max-width: 70ch; }
#alv-equipe-membro .member-prose p { font-size: 1.05rem; line-height: 1.7; color: var(--color-text-body); margin: 0 0 1rem; }
#alv-equipe-membro .member-prose ul { margin: 0; padding-left: 1.3rem; }
#alv-equipe-membro .member-prose li { font-size: 1.02rem; line-height: 1.7; color: var(--color-text-body); margin-bottom: .5rem; }

/* --- Áreas de atuação --- */
#alv-equipe-membro .member-areas { display: grid; grid-template-columns: 1fr; gap: .8rem; }
@media (min-width: 640px) { #alv-equipe-membro .member-areas { grid-template-columns: 1fr 1fr; } }
#alv-equipe-membro .member-area {
	display: flex; gap: .8rem; align-items: flex-start;
	padding: 1rem 1.1rem; background: var(--color-bg-alt);
	border: 1px solid var(--color-border); border-radius: var(--radius-md);
}
#alv-equipe-membro .member-area .ic { flex-shrink: 0; width: 38px; height: 38px; display: grid; place-items: center; border-radius: var(--radius-sm); background: var(--alvera-navy-soft); color: var(--alvera-navy); }
#alv-equipe-membro .member-area .ic svg { width: 18px; height: 18px; }
#alv-equipe-membro .member-area h4 { margin: 0 0 .2rem; font-size: 1rem; color: var(--alvera-navy-darker); }
#alv-equipe-membro .member-area p { margin: 0; font-size: .88rem; color: var(--color-text-muted); line-height: 1.45; }

/* --- CTA (reaproveita helpers de #alv-equipe via mesmo nome de classe) --- */
#alv-equipe-membro .equipe-cta-lead {
	color: var(--alvera-on-dark-muted);
	max-width: 60ch;
	margin: .5rem auto 2rem;
}
#alv-equipe-membro .equipe-cta-actions {
	display: flex;
	gap: .8rem;
	justify-content: center;
	flex-wrap: wrap;
}
