/**
 * filename:     assets/css/team-cards.css
 * version:      2.0.0 — 2026-05-26
 * AI Generator: Claude Opus 4.6
 *
 * Fante Team Cards — stylesheet v2
 */

/* ── Masonry container ──────────────────────────────────────────────────────── */

.ecc-masonry {
	/* Layout via CSS Grid — iniettato inline da PHP per valori responsive */
}

/* ── Card ───────────────────────────────────────────────────────────────────── */

.ecc-card {
	display:          flex;
	flex-direction:   column;
	background-color: #ffffff;
	border:           1px solid #e5e7eb;
	border-radius:    8px;
	overflow:         hidden;
	/* break-inside non serve con CSS Grid */
	transition:
		transform    0.22s ease,
		box-shadow   0.22s ease,
		border-color 0.22s ease;
}

/* Hover effects */
.ecc-card.ecc-hover-lift:hover {
	transform:  translateY(-5px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.ecc-card.ecc-hover-scale:hover {
	transform: scale(1.025);
}

.ecc-card.ecc-hover-glow {
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

/* ── Photo ──────────────────────────────────────────────────────────────────── */

.ecc-photo-wrap {
	width:    100%;
	overflow: hidden;
	display:  block;
	line-height: 0;
	/* aspect-ratio is injected via inline style from PHP */
}

.ecc-photo-wrap img {
	width:    100%;
	height:   100%;
	display:  block;
	/* object-fit and object-position injected inline per-card */
}

/* ── Card body ──────────────────────────────────────────────────────────────── */

.ecc-card-body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
}

/* ── Toggle row (name + icon) ───────────────────────────────────────────────── */

.ecc-toggle-row {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	gap:             8px;
	cursor:          pointer;
	user-select:     none;
	padding:         10px 0;
	/* border-bottom injected via inline style when divider is on */
}

.ecc-toggle-row:focus-visible {
	outline: 2px solid #1a73e8;
	outline-offset: 2px;
	border-radius: 2px;
}

/* Name */
.ecc-name {
	font-size:   1rem;
	font-weight: 700;
	color:       #111827;
	margin:      0;
	line-height: 1.3;
	flex:        1;
}

/* Toggle icon */
.ecc-toggle-btn {
	flex-shrink:   0;
	display:       inline-flex;
	align-items:   center;
	justify-content: center;
	color:         #1a73e8;
	font-size:     18px;
	line-height:   1;
	transition:    transform 0.18s ease;
}

.ecc-toggle-btn svg {
	width:  1em;
	height: 1em;
	fill:   currentColor;
	display: block;
}

/* Hide minus by default; show plus */
.ecc-toggle-btn .ecc-icon-minus { display: none; }
.ecc-toggle-btn .ecc-icon-plus  { display: block; }

/* When open: show minus, hide plus */
.ecc-toggle-row[aria-expanded="true"] .ecc-toggle-btn .ecc-icon-minus { display: block; }
.ecc-toggle-row[aria-expanded="true"] .ecc-toggle-btn .ecc-icon-plus  { display: none; }

/* ── Description (collapsible) ──────────────────────────────────────────────── */

.ecc-description {
	padding:   10px 0;
	color:     #374151;
	font-size: 0.9em;
	line-height: 1.6;
}

/* Hidden state via HTML [hidden] attribute */
.ecc-description[hidden] {
	display: none;
}

/* Description inner typography */
.ecc-description p {
	margin: 0 0 6px;
}
.ecc-description p:last-child {
	margin-bottom: 0;
}
.ecc-description strong {
	font-weight: 700;
}
.ecc-description a {
	color: #1a73e8;
}
.ecc-description a:hover {
	text-decoration: underline;
}

/* ── CV button ──────────────────────────────────────────────────────────────── */

.ecc-cv-btn {
	display:         inline-flex;
	align-items:     center;
	gap:             6px;
	margin-top:      12px;
	color:           #1a73e8;
	text-decoration: none;
	font-size:       0.875em;
	font-weight:     500;
	background:      transparent;
	border:          none;
	padding:         0;
	cursor:          pointer;
	transition:      color 0.18s ease;
	align-self:      flex-start;
}

.ecc-cv-btn:hover {
	color: #1557b0;
}

.ecc-cv-icon {
	width:   1em;
	height:  1em;
	fill:    currentColor;
	flex-shrink: 0;
}

/* ── Accessibility ──────────────────────────────────────────────────────────── */

.ecc-sr-only {
	position: absolute !important;
	clip:     rect(1px, 1px, 1px, 1px);
	width:    1px;
	height:   1px;
	overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LEADER SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

/* Layout grid injected via inline style (PHP) — these are defaults */
.ecc-leader {
	align-items: start;
}

/* Photo column */
.ecc-leader-photo-col {
	display: flex;
	flex-direction: column;
}

/* Leader photo — aspect-ratio injected inline */
.ecc-leader-photo {
	width:    100%;
	overflow: hidden;
	line-height: 0;
}

.ecc-leader-photo img {
	width:    100%;
	height:   100%;
	display:  block;
}

/* Caption under photo */
.ecc-leader-caption {
	font-size:   0.85em;
	color:       #6b7280;
	text-align:  center;
	margin:      8px 0 4px;
}

/* Name toggle row in leader (reuses .ecc-toggle-row, .ecc-name, .ecc-toggle-btn) */
.ecc-leader-toggle {
	/* same as card toggle, no extra needed */
}

/* Presentation text column */
.ecc-leader-text-col {
	display: flex;
	flex-direction: column;
}

/* Presentation title */
.ecc-leader-pres-title {
	font-size:   1.5em;
	font-weight: 700;
	color:       #1a73e8;
	margin:      0 0 16px;
	line-height: 1.2;
}

/* Presentation body text */
.ecc-leader-pres-text {
	color:       #374151;
	line-height: 1.7;
}

.ecc-leader-pres-text p {
	margin: 0 0 1em;
}
.ecc-leader-pres-text p:last-child {
	margin-bottom: 0;
}

/* ── Section title (Collaboratori) ───────────────────────────────────────── */

.ecc-section-title {
	font-size:   1.5em;
	font-weight: 700;
	color:       #1a73e8;
	text-align:  center;
	margin:      0 0 24px;
	line-height: 1.2;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LEADER SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.ecc-leader { align-items: start; }
.ecc-leader-photo-col { display: flex; flex-direction: column; }

/* .ecc-leader-photo: aspect-ratio, border, shadow controlled via Elementor selectors */
.ecc-leader-photo {
	width:    100%;
	overflow: hidden;
	line-height: 0;
}
.ecc-leader-photo img {
	width: 100%; height: 100%; display: block;
}

.ecc-leader-caption {
	font-size: 0.85em; color: #6b7280; text-align: center; margin: 8px 0 4px;
}

.ecc-leader-text-col { display: flex; flex-direction: column; }

.ecc-leader-pres-title {
	font-size: 1.5em; font-weight: 700; color: #1a73e8;
	margin: 0 0 16px; line-height: 1.2;
}

.ecc-leader-pres-text { color: #374151; line-height: 1.7; }
.ecc-leader-pres-text p { margin: 0 0 1em; }
.ecc-leader-pres-text p:last-child { margin-bottom: 0; }

/* ── Section title ───────────────────────────────────────────────────────── */
.ecc-section-title {
	font-size: 1.5em; font-weight: 700; color: #1a73e8;
	text-align: center; margin: 0 0 24px; line-height: 1.2;
}

/* ── CV button icon (via Elementor Icons_Manager) ────────────────────────── */

.ecc-cv-icon-before,
.ecc-cv-icon-after {
	display:     inline-flex;
	align-items: center;
	line-height: 1;
}

.ecc-cv-icon-before { margin-right: 8px; } /* overridden by Elementor selector */
.ecc-cv-icon-after  { margin-left:  8px; } /* overridden by Elementor selector */

.ecc-cv-icon-before svg,
.ecc-cv-icon-after  svg,
.ecc-cv-icon-before i,
.ecc-cv-icon-after  i {
	width:   1em;
	height:  1em;
	display: inline-block;
}
