/* EinserTisch Core: block styles. Uses theme tokens with fallbacks. */

.et-block,
.et-embed-card {
	--et-b: var(--wp--preset--color--bordeaux, #6b0713);
	--et-bd: var(--wp--preset--color--bordeaux-deep, #2e050b);
	--et-g: var(--wp--preset--color--gold, #f5b719);
	--et-i: var(--wp--preset--color--ink, #1a0f11);
	--et-m: var(--wp--preset--color--muted, #5b5052);
	--et-l: rgba(26, 15, 17, 0.12);
	--et-r: 6px;
	--et-shadow: 0 1px 2px rgba(26, 15, 17, 0.06), 0 12px 32px -12px rgba(26, 15, 17, 0.18);
	--et-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.et-icon { flex: none; vertical-align: -0.2em; }
.et-empty { color: var(--et-m); }
.et-block .et-eyebrow { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--et-b); }

.et-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.75rem; }
.et-chip { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; color: var(--et-b); background: rgba(107, 7, 19, 0.08); padding: 0.2rem 0.6rem; border-radius: 999px; }

.et-meta { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: 0.5rem; }
.et-meta li { display: flex; gap: 0.6rem; align-items: flex-start; }
.et-meta .et-icon { color: var(--et-b); margin-top: 0.15em; }
.et-meta--small { font-size: 0.95rem; margin: 0.5rem 0 0.75rem; color: var(--et-m); }

.et-button { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.95rem 1.6rem; font: inherit; font-size: 1rem; font-weight: 600; text-decoration: none !important; border: 0; border-radius: 999px; cursor: pointer; transition: background-color 0.3s, transform 0.4s var(--et-ease), box-shadow 0.3s; }
.et-button--primary { background: var(--et-b); color: #fff !important; }
.et-button--primary:hover { background: var(--et-bd); transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(46, 5, 11, 0.6); }
.et-button .et-icon { transition: transform 0.35s var(--et-ease); }
.et-button:hover .et-icon { transform: translateX(4px); }

.et-spots { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.95rem; font-weight: 600; color: #2f6b3a; }
.et-spots::before { content: ""; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: currentColor; animation: et-pulse 2.2s infinite; }
.et-spots--full { color: var(--et-b); }
.et-spots--full::before, .et-spots--members::before { animation: none; }
.et-spots--members { color: var(--et-m); }
@keyframes et-pulse { 0% { box-shadow: 0 0 0 0 rgba(47, 107, 58, 0.45); } 70% { box-shadow: 0 0 0 8px rgba(47, 107, 58, 0); } 100% { box-shadow: 0 0 0 0 rgba(47, 107, 58, 0); } }

/* ---------- Hero photos (slow crossfade + zoom) ---------- */

.et-hero-media { position: relative; overflow: hidden; background: var(--et-bd); min-height: 100%; }
.et-hero-media__stack { position: absolute; inset: 0; }
.et-hero-media__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: 0; transform: scale(1.1); transition: opacity 2s ease, transform 9s linear; }
.et-hero-media__img.is-active { opacity: 1; transform: scale(1); }
.et-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(46, 5, 11, 0.88) 0%, rgba(46, 5, 11, 0.6) 45%, rgba(46, 5, 11, 0.2) 100%), linear-gradient(0deg, rgba(46, 5, 11, 0.5), transparent 40%); }
@media (max-width: 781px) { .et-hero-media::after { background: linear-gradient(0deg, rgba(46, 5, 11, 0.92) 10%, rgba(46, 5, 11, 0.55) 60%, rgba(46, 5, 11, 0.35) 100%); } }
@media (prefers-reduced-motion: reduce) { .et-hero-media__img { transition: none; transform: none; } }

/* ---------- Ticker (optional block) ---------- */

.et-ticker { display: flex; align-items: center; gap: 2rem; padding: 1rem 0; overflow: hidden; }
.et-ticker__label { flex: none; margin: 0; padding-left: 1.5rem; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--et-g); white-space: nowrap; }
.et-ticker__viewport { display: flex; flex: 1; min-width: 0; overflow: hidden; }
.et-ticker__track { display: flex; flex: none; list-style: none; margin: 0; padding: 0; animation: et-scroll 80s linear infinite; }
.et-ticker__track li { white-space: nowrap; font-weight: 600; }
.et-ticker__track li::after { content: "·"; margin: 0 1.25rem; color: var(--et-g); }
.et-ticker__track a { color: inherit; text-decoration: none; }

/* ---------- Faces: band of member portraits ---------- */

.et-faces__viewport {
	display: flex;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.et-faces__track { display: flex; flex: none; gap: 1.25rem; padding: 0 0.625rem; margin: 0; list-style: none; animation: et-scroll var(--et-faces-duration, 90s) linear infinite; }
.et-faces__viewport:hover .et-faces__track { animation-play-state: paused; }
@keyframes et-scroll { to { transform: translateX(-100%); } }
.et-face { flex: none; width: clamp(170px, 17vw, 230px); }
.et-face figure { margin: 0; }
.et-face img { display: block; width: 100%; height: 100% !important; object-fit: cover; object-position: 50% 22%; }
.et-face figcaption { padding-top: 0.75rem; display: grid; gap: 0.1rem; }
.et-face figcaption strong { font-weight: 700; font-size: 1.02rem; line-height: 1.3; }
.et-face figcaption span { font-size: 0.9rem; color: var(--et-m); line-height: 1.35; }
.has-bordeaux-deep-background-color .et-face figcaption span { color: rgba(255, 255, 255, 0.7); }
@media (prefers-reduced-motion: reduce) {
	.et-faces__track, .et-ticker__track { animation: none; }
	.et-faces__viewport { overflow-x: auto; }
	.et-faces__track[aria-hidden], .et-ticker__track[aria-hidden] { display: none; }
}

/* ---------- Invitation (next event) ---------- */

.et-invite { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); background: #fff; border-radius: var(--et-r); overflow: hidden; box-shadow: var(--et-shadow); }
.et-invite--noimg, .et-invite--empty { grid-template-columns: 1fr; }
.et-invite__media { position: relative; display: block; overflow: hidden; min-height: 400px; }
.et-invite__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.2s var(--et-ease); }
.et-invite:hover .et-invite__img { transform: scale(1.04); }
.et-invite__card { padding: clamp(1.75rem, 4vw, 3rem); display: flex; flex-direction: column; color: var(--et-i); }
.et-invite__kicker { margin: 0 0 1rem; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--et-b); }
.et-invite__date { display: flex; align-items: center; gap: 1rem; margin: 0 0 1.25rem; }
.et-invite__day { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border-radius: 4px; background: var(--et-b); color: #fff; font-family: var(--wp--preset--font-family--display); font-size: 2.1rem; font-weight: 500; }
.et-invite__when { display: grid; gap: 0.15rem; font-size: 1rem; color: var(--et-m); }
.et-invite__when span:first-child { font-weight: 700; color: var(--et-i); }
.et-invite__title { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.6rem, 2.8vw, 2.3rem); font-weight: 560; line-height: 1.15; letter-spacing: -0.02em; }
.et-invite__title a { color: var(--et-i); text-decoration: none; }
.et-invite__title a:hover { color: var(--et-b); }
.et-invite__excerpt { color: var(--et-m); margin: 0 0 1.5rem; }
.et-invite__actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; }
@media (max-width: 860px) { .et-invite { grid-template-columns: 1fr; } .et-invite__media { min-height: 0; aspect-ratio: 16/10; } }
/* Next event: guest invitation with form, WhatsApp and e-mail */
.et-button--line { background: transparent; color: var(--et-b) !important; box-shadow: inset 0 0 0 1.5px currentColor; }
.et-button--line:hover { background: rgba(107, 7, 19, 0.06); transform: translateY(-2px); }
.et-invite__actions .et-link { font-size: 1rem; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 0.1rem; }
.et-invite__ask { margin: 0 0 1rem; font-weight: 600; color: var(--et-i); }
.et-invite__spots { margin: 1.25rem 0 0; }
.et-invite--empty .et-invite__title { margin-bottom: 1rem; }

/* Further upcoming dates under the invitation */
.et-later { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.25rem; margin-top: 1.25rem; font-size: 0.98rem; }
.et-later__label { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--et-b); }
.et-later ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.et-later a { color: var(--et-i); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--et-l); }
.et-later a:hover { color: var(--et-b); border-color: currentColor; }
.et-later a span { font-weight: 500; color: var(--et-m); margin-right: 0.5rem; }

/* Zuletzt am Tisch: three small photo cards */
.et-recent { margin-top: clamp(2rem, 4vw, 2.75rem); }
.et-recent__label { margin: 0 0 1rem; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--et-b); }
.et-recent__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.et-recent__link { display: flex; flex-direction: column; gap: 0.3rem; color: var(--et-i); text-decoration: none; }
.et-recent__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--et-r); background: #fff; margin-bottom: 0.45rem; }
.et-recent__media picture, .et-recent__media img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1s var(--et-ease); }
.et-recent__link:hover .et-recent__media img { transform: scale(1.04); }
.et-recent__placeholder { display: grid; place-items: center; height: 100%; }
.et-recent__placeholder img { width: 56px; height: 56px !important; object-fit: contain; }
.et-recent__meta { font-size: 0.85rem; color: var(--et-m); }
.et-recent__title { font-weight: 600; line-height: 1.3; }
.et-recent__link:hover .et-recent__title { color: var(--et-b); }
@media (max-width: 700px) {
	.et-recent__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 0.25rem; }
	.et-recent__list::-webkit-scrollbar { display: none; }
	.et-recent__item { flex: 0 0 72%; scroll-snap-align: start; }
}


/* ---------- Event cards ---------- */

.et-events__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 1.5rem; }
.et-event-card { background: #fff; border-radius: var(--et-r); overflow: hidden; box-shadow: var(--et-shadow); transition: transform 0.5s var(--et-ease); }
.et-event-card:hover { transform: translateY(-5px); }
.et-event-card__link { display: block; color: inherit; text-decoration: none !important; height: 100%; }
.et-event-card__media { position: relative; aspect-ratio: 16/10; background: var(--et-bd); overflow: hidden; }
.et-event-card__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 1s var(--et-ease); }
.et-event-card:hover .et-event-card__media img { transform: scale(1.05); }
.et-event-card__placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--et-b), var(--et-bd)); }
.et-event-card__body { padding: 1.25rem 1.4rem 1.5rem; }
.et-event-card__title { font-family: var(--wp--preset--font-family--display); font-size: 1.45rem; font-weight: 560; line-height: 1.2; margin: 0.35rem 0 0; color: var(--et-i); }
.et-datebadge { position: absolute; left: 0.9rem; top: 0.9rem; display: grid; place-items: center; min-width: 3.75rem; padding: 0.5rem; border-radius: 10px; background: #fff; color: var(--et-i); line-height: 1; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.4); }
.et-datebadge__day { font-size: 1.6rem; font-weight: 800; }
.et-datebadge__month { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 0.2rem; color: var(--et-b); }

/* ---------- Event details (single) ---------- */

.et-details__facts { background: #fff; border-radius: var(--et-r); padding: 1.75rem; box-shadow: var(--et-shadow); }
.et-details__facts dl { margin: 0; display: grid; gap: 1.1rem; }
.et-details__facts dt { display: flex; gap: 0.5rem; align-items: center; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--et-m); }
.et-details__facts dt .et-icon { color: var(--et-b); width: 16px; height: 16px; }
.et-details__facts dd { margin: 0.3rem 0 0; font-size: 1.1rem; font-weight: 600; line-height: 1.35; }
.et-details__facts dd .et-muted { font-weight: 400; font-size: 0.95rem; color: var(--et-m); }
.et-details__facts dd a { font-size: 0.95rem; font-weight: 500; }
.et-details__actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; align-items: center; border-top: 1px solid var(--et-l); margin-top: 1.25rem; padding-top: 1.1rem; }
.et-link { display: inline-flex; gap: 0.4rem; align-items: center; font-weight: 600; color: var(--et-b); }
.et-details__form { margin-top: 1.25rem; background: #fff; border-radius: var(--et-r); padding: 1.75rem; box-shadow: var(--et-shadow); }
.et-details__heading { font-size: 1.5rem; font-weight: 700; line-height: 1.2; margin: 0 0 0.5rem; }
.et-details__form > p { color: var(--et-m); }
.et-details .et-form__grid { grid-template-columns: 1fr; }

/* ---------- Members grid ---------- */

.et-members__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1.75rem 1.25rem; }
.et-member { position: relative; }
.et-member__photo { position: relative; aspect-ratio: 4/5; overflow: hidden; border-radius: var(--et-r); background: linear-gradient(160deg, #ece3d3, #d9cbb2); }
.et-member__photo img { width: 100%; height: 100% !important; object-fit: cover; object-position: 50% 20%; transition: transform 0.8s var(--et-ease); }
.et-member:hover .et-member__photo img { filter: none; transform: scale(1.04); }
.et-member__initials { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--wp--preset--font-family--display); font-size: 3.2rem; font-weight: 500; color: rgba(107, 7, 19, 0.55); }
.et-member__body { padding-top: 0.85rem; padding-right: 2rem; }
.et-member__name { font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; font-weight: 560; line-height: 1.25; margin: 0; }
.et-member__role { margin: 0.25rem 0 0; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--et-b); }
.et-member__company { margin: 0.2rem 0 0; font-size: 0.95rem; color: var(--et-m); line-height: 1.4; }
.et-member__linkedin { position: absolute; right: 0; top: 0.95rem; color: var(--et-m); }
.et-member__linkedin:hover { color: var(--et-b); }
@media (max-width: 600px) {
	.et-members__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0.85rem; }
	.et-member__body { padding-right: 1.4rem; }
	.et-member__company { font-size: 0.88rem; }
}

/* ---------- Partners, filter, social, contact ---------- */

.et-partners__list { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2rem 3rem; }
.et-partner img { max-height: 56px; width: auto; max-width: 180px; filter: grayscale(1); opacity: 0.7; transition: filter 0.4s, opacity 0.4s; }
.et-partner a:hover img { filter: none; opacity: 1; }
.et-partner__name { font-weight: 700; font-size: 1.2rem; color: var(--et-m); }

.et-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.et-filter__item { font-weight: 600; text-decoration: none !important; color: var(--et-i); padding: 0.55rem 1.1rem; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--et-l); transition: background-color 0.3s, color 0.3s; }
.et-filter__item:hover { box-shadow: inset 0 0 0 1px var(--et-b); color: var(--et-b); }
.et-filter__item.is-active { background: var(--et-b); color: #fff; box-shadow: none; }

.et-social__list, .et-contact__list { list-style: none; padding: 0; margin: 0.75rem 0; display: flex; flex-direction: column; gap: 0.6rem; }
.et-social__list { flex-direction: row; flex-wrap: wrap; }
.et-social__list a { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.55rem 1rem; border: 1px solid currentColor; border-radius: 999px; text-decoration: none; font-size: 0.95rem; }
.et-contact__list li { display: flex; align-items: center; gap: 0.7rem; }
.et-contact__list .et-icon { opacity: 0.75; }

/* ---------- Forms ---------- */

.et-form { margin-top: 1.5rem; text-align: left; }
.et-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.25rem; }
.et-form__field--wide, .et-form__field--consent { grid-column: 1 / -1; }
.et-form label { display: block; font-size: 0.95rem; font-weight: 600; margin-bottom: 0.4rem; }
.et-form input[type="text"], .et-form input[type="email"], .et-form input[type="tel"], .et-form select, .et-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.85rem 1rem;
	font: inherit;
	font-size: 1.05rem;
	color: var(--et-i);
	background: #faf8f4;
	border: 1.5px solid rgba(26, 15, 17, 0.16);
	border-radius: 10px;
	transition: border-color 0.25s, box-shadow 0.25s, background-color 0.25s;
}
.et-form input:focus, .et-form select:focus, .et-form textarea:focus { outline: none; background: #fff; border-color: var(--et-b); box-shadow: 0 0 0 4px rgba(107, 7, 19, 0.12); }
.et-form__consent { display: flex !important; gap: 0.75rem; align-items: flex-start; font-weight: 400 !important; font-size: 0.92rem !important; line-height: 1.5; }
.et-form__consent input { margin-top: 0.2rem; width: 1.15rem; height: 1.15rem; accent-color: var(--et-b); flex: none; }
.et-form .et-button { margin-top: 1.5rem; }
.et-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.et-form-error { background: #fbe9ea; color: var(--et-b); padding: 0.85rem 1rem; border-radius: 10px; font-weight: 600; }
.et-form-success { display: flex; gap: 0.9rem; align-items: flex-start; background: #eef6ef; color: #1f4d2a; padding: 1.25rem 1.5rem; border-radius: 12px; text-align: left; }
.et-form-success p { margin: 0; }
.et-form-success .et-icon { width: 24px; height: 24px; color: #2f6b3a; }
.et-form-note { background: #faf8f4; padding: 1rem 1.25rem; border-radius: 10px; color: var(--et-i); }
@media (max-width: 600px) { .et-form__grid { grid-template-columns: 1fr; } }

.et-embed-card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.4rem; background: #fff; border-radius: 12px; box-shadow: var(--et-shadow); color: inherit; text-decoration: none !important; max-width: 32rem; margin: 2rem 0; }
.et-embed-card span { flex: 1; line-height: 1.35; }
.et-embed-card .et-icon:first-child { width: 30px; height: 30px; color: var(--et-b); }

/* ---- Version 5: pictures, event cards, archive filter, event facts, TODO notes ---- */
.et-picture { display: contents; }
.et-block.et-eventmeta, .et-block.et-archive, .et-block.et-todo { --et-r: 4px; }

.et-event-card { border-radius: 4px; box-shadow: none; background: #fff; border: 1px solid var(--et-l); }
.et-event-card__meta { margin: 0; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--et-b); }
.et-event-card__loc { margin: 0.4rem 0 0; font-size: 0.95rem; color: var(--et-m); }
.et-event-card__body .et-spots { display: inline-block; margin-top: 0.75rem; }
.et-events--latest .et-events__list { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }

.et-filter { display: grid; gap: 0.9rem; margin-bottom: 1.5rem; }
.et-filter__group { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; }
.et-filter__label { min-width: 4.5rem; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--et-m); }
.et-filter__item { padding: 0.45rem 0.95rem; font-size: 0.95rem; }
.et-filter__item:focus-visible { outline: 2px solid var(--et-b); outline-offset: 2px; }
.et-archive__count { margin: 0 0 1.25rem; padding-top: 1rem; border-top: 1px solid var(--et-l); font-size: 0.95rem; color: var(--et-m); }

.et-eventmeta { position: sticky; top: 6.5rem; }
.et-eventmeta__list { margin: 0; border-top: 2px solid var(--et-i); }
.et-eventmeta__list > div { padding: 0.9rem 0; border-bottom: 1px solid var(--et-l); }
.et-eventmeta__list dt { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--et-m); }
.et-eventmeta__list dd { margin: 0.25rem 0 0; font-size: 1.05rem; font-weight: 500; line-height: 1.4; }
.et-eventmeta__list dd a { color: var(--et-b); }
.et-eventmeta__actions { display: grid; gap: 0.75rem; justify-items: start; margin-top: 1.25rem; }

.et-todo { margin: 1rem 0; padding: 0.9rem 1.1rem; border: 2px dashed #b45309; border-radius: 4px; background: #fff7ed; color: #7c2d12; font-size: 0.95rem; }
.et-todo p { margin: 0; }
.et-todo span { opacity: 0.75; }

.et-member__bio { margin: 0.4rem 0 0; font-size: 0.92rem; line-height: 1.45; color: var(--et-m); }
.et-member__photo { border-radius: 4px; }
.et-members__grid--vorstand { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }

@media (max-width: 781px) {
	.et-eventmeta { position: static; }
	.et-filter__label { min-width: 100%; }
}

/* Version 6: rounded cards like the start page */
.et-event-card { border: 0; border-radius: 16px; box-shadow: 0 1px 2px rgba(28, 20, 22, 0.05), 0 18px 40px -24px rgba(28, 20, 22, 0.3); }
.et-member__photo { border-radius: 14px; }
.et-filter__item.is-active { background: var(--et-b); }
.et-eventmeta__list { border-top: 0; background: #fff; border-radius: 16px; padding: 0.5rem 1.5rem; box-shadow: 0 1px 2px rgba(28, 20, 22, 0.05), 0 18px 40px -24px rgba(28, 20, 22, 0.3); }
.et-eventmeta__list > div:last-child { border-bottom: 0; }
.et-event-card__placeholder { display: grid; place-items: center; } .et-event-card__placeholder img { width: 72px !important; height: 72px !important; object-fit: contain !important; opacity: 0.9; }

/* ---------- Faces: portraits turn around like a place card ---------- */
.et-face { perspective: 900px; outline: none; }
.et-face__card { position: relative; aspect-ratio: 4/5; transform-style: preserve-3d; transition: transform 0.8s var(--et-ease); }
.et-face__front, .et-face__back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: 14px; overflow: hidden; }
.et-face__front img { width: 100%; height: 100% !important; aspect-ratio: auto; border-radius: 0 !important; transform: none !important; }
.et-face__back {
	transform: rotateY(180deg);
	display: flex; flex-direction: column; gap: 0.35rem;
	padding: 1.1rem 1rem 1rem;
	background: #fbf7ef;
	background-image: linear-gradient(180deg, rgba(107, 7, 19, 0.08) 0, rgba(107, 7, 19, 0.08) 2px, transparent 2px), repeating-linear-gradient(0deg, transparent 0 27px, rgba(26, 15, 17, 0.045) 27px 28px);
	color: var(--et-i);
	box-shadow: inset 0 0 0 1px rgba(107, 7, 19, 0.16);
	text-align: left;
}
.et-face__back::after { content: ""; position: absolute; left: 1rem; right: 1rem; top: 50%; border-top: 1px dashed rgba(107, 7, 19, 0.18); pointer-events: none; }
.et-face__type { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--et-b); }
.et-face__name { font-family: var(--wp--preset--font-family--display); font-size: 1.25rem; font-weight: 560; line-height: 1.1; letter-spacing: -0.01em; }
.et-face__company { font-size: 0.86rem; line-height: 1.35; color: var(--et-m); }
.et-face__details { position: relative; z-index: 1; margin-top: auto; display: flex; flex-direction: column; gap: 0.55rem; padding-top: 0.6rem; background: #fbf7ef; }
.et-face__bio { font-size: 0.85rem; line-height: 1.4; }
.et-face__topics { font-size: 0.82rem; line-height: 1.4; }
.et-face__topics span { display: block; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--et-m); margin-bottom: 0.1rem; }
.et-face__more { align-self: flex-start; font-size: 0.85rem; font-weight: 700; color: var(--et-b) !important; text-decoration: none; border-bottom: 1px solid currentColor; }
.et-face__more::after { content: " →"; }
.et-face__caption { padding-top: 0.75rem; display: grid; gap: 0.1rem; }
.et-face__caption strong { font-weight: 700; font-size: 1.02rem; line-height: 1.3; }
.et-face__caption span { font-size: 0.9rem; color: var(--et-m); line-height: 1.35; }
.has-bordeaux-deep-background-color .et-face__caption span { color: rgba(255, 255, 255, 0.7); }
@media (hover: hover) { .et-face:hover .et-face__card { transform: rotateY(180deg); } }
.et-face:focus-visible .et-face__card, .et-face.is-turned .et-face__card { transform: rotateY(180deg); }
.et-face:focus-visible .et-face__card { box-shadow: 0 0 0 3px var(--et-g); border-radius: 14px; }
@media (prefers-reduced-motion: reduce) { .et-face__card { transition: none; } }

/* ---------- Members page: every card opens the place card ---------- */
.et-member__open { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.et-member__open:focus-visible { outline: 3px solid var(--et-g); outline-offset: 4px; border-radius: 6px; }
.et-member__photo, .et-member__body, .et-member__name, .et-member__role, .et-member__company { display: block; }
.et-member__hint { position: absolute; left: 0.75rem; bottom: 0.75rem; padding: 0.35rem 0.7rem; border-radius: 999px; background: rgba(251, 247, 239, 0.94); color: var(--et-b); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0; transform: translateY(6px); transition: opacity 0.35s, transform 0.45s var(--et-ease); }
.et-member__open:hover .et-member__hint, .et-member__open:focus-visible .et-member__hint { opacity: 1; transform: none; }
.et-member__open:hover .et-member__photo img { transform: scale(1.04); }
.et-member__open:hover .et-member__name { color: var(--et-b); }
@media (hover: none) { .et-member__hint { opacity: 1; transform: none; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
