/* Structure only (grid, order, ratio, card placement). The look comes from the theme (assets/css/sections.css). */

/* Fallback container when the ATV theme (and its .hds-container rules) is not active. :where() has zero specificity, so the
   theme's .hds-container always wins. The cap only starts at 78rem (1248px), where HDS sets its own max-width, so below that
   it can never narrow the theme's full-width container. */
:where(.atv-split__inner, .atv-section > div) {
	margin-inline: auto;
	padding-inline: 1rem;
	box-sizing: border-box;
}

@media (min-width: 78rem) {
	:where(.atv-split__inner, .atv-section > div) {
		max-width: 72rem;
	}
}
.atv-split__inner {
	display: grid;
	gap: var(--spacing-l, 2rem);
	align-items: center;
}

.atv-split--align-top .atv-split__inner {
	align-items: start;
}

@media (min-width: 992px) {
	.atv-split--has-media .atv-split__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--spacing-layout-m, 4rem);
	}
}

.atv-split--no-media .atv-split__content {
	max-width: 40rem;
}

.atv-split__media {
	position: relative;
	margin: 0;
}

.atv-split__img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.atv-split__media--4-3 .atv-split__img { aspect-ratio: 4 / 3; }
.atv-split__media--1-1 .atv-split__img { aspect-ratio: 1 / 1; }
.atv-split__media--3-4 .atv-split__img { aspect-ratio: 3 / 4; }
.atv-split__media--16-9 .atv-split__img { aspect-ratio: 16 / 9; }

.atv-split__content > :first-child { margin-top: 0; }
.atv-split__content > :last-child { margin-bottom: 0; }

/* Card on the photo: overlaps the bottom edge on small screens, floats over the photo from 768px. */
.atv-split__media .atv-offer-card {
	position: relative;
	margin: calc(-1 * var(--spacing-xl, 3rem)) var(--spacing-s, 1rem) 0;
}

@media (min-width: 768px) {
	.atv-split__media .atv-offer-card {
		position: absolute;
		bottom: var(--spacing-m, 1.5rem);
		margin: 0;
		width: min(22rem, calc(100% - 2 * var(--spacing-m, 1.5rem)));
	}

	.atv-split__media .atv-offer-card--bottom-start { inset-inline-start: var(--spacing-m, 1.5rem); }
	.atv-split__media .atv-offer-card--bottom-end { inset-inline-end: var(--spacing-m, 1.5rem); }
}

.atv-offer-card__avatars {
	display: inline-flex;
	vertical-align: middle;
}

.atv-offer-card__avatar {
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	object-fit: cover;
}

.atv-offer-card__avatar + .atv-offer-card__avatar {
	margin-inline-start: -0.5rem;
}

/* ---- Destaques (editor only: the front end uses the theme's hero.css / hero-slider.css) ---- */
.atv-hero-edit__slides > * + * {
	margin-block-start: var(--spacing-m, 1.5rem);
}

.atv-hero-edit__appender {
	margin-block-start: var(--spacing-m, 1.5rem);
}

.atv-hero-slide-edit {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 420px;
	overflow: hidden;
	background: var(--atv-scrim);
	color: var(--color-white);
}

.atv-hero-slide-edit.atv-slide--text-center-start,
.atv-hero-slide-edit.atv-slide--text-center {
	align-items: center;
}

.atv-hero-slide-edit.atv-slide--text-center {
	justify-content: center;
	text-align: center;
}

.atv-hero-slide-edit__media {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
}

.atv-hero-slide-edit__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.atv-hero-slide-edit__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		transparent 20%,
		color-mix(in srgb, var(--atv-scrim) 62%, transparent) 55%,
		color-mix(in srgb, var(--atv-scrim) 85%, transparent) 100%
	);
}

.atv-hero-slide-edit__hint {
	position: absolute;
	inset-block-start: var(--spacing-s, 1rem);
	inset-inline-start: var(--spacing-m, 1.5rem);
	z-index: 1;
	margin: 0;
	font-size: 0.875rem;
}

.atv-hero-slide-edit__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 40rem;
	padding: var(--spacing-xl, 3rem) var(--spacing-m, 1.5rem);
}

.atv-hero-slide-edit__inner .wp-block-heading,
.atv-hero-slide-edit__inner p {
	color: var(--color-white);
}

.atv-hero-slide-edit__inner .wp-block-heading {
	margin-block: 0;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.1;
	text-transform: uppercase;
}

.atv-hero-slide-edit.atv-slide--text-center .wp-block-buttons {
	justify-content: center;
}

/* Editor-only: compact summary of a data block (inc/editor-summary.php) and the wrapper of its full preview. */
.atv-editor-summary {
	border: 1px solid var(--wp--preset--color--atv-line);
	border-radius: var(--atv-radius-m, 8px);
	padding: var(--spacing-s, 1rem);
	background: var(--wp--preset--color--atv-white);
	color: var(--wp--preset--color--atv-navy);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.45;
}

.atv-editor-summary__title {
	margin: 0 0 var(--spacing-2-xs, 0.5rem);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body, 1rem);
}

.atv-editor-summary__lines,
.atv-editor-summary__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.atv-editor-summary__lines {
	color: var(--wp--preset--color--atv-muted);
}

.atv-editor-summary__items {
	margin-top: var(--spacing-2-xs, 0.5rem);
	padding-top: var(--spacing-2-xs, 0.5rem);
	border-top: 1px solid var(--wp--preset--color--atv-line);
}

.atv-editor-summary__items li + li {
	margin-top: 0.25rem;
}

.atv-editor-summary__action {
	margin: var(--spacing-2-xs, 0.5rem) 0 0;
}

.atv-editor-summary__action a {
	color: var(--wp--preset--color--atv-green-text);
}

.atv-editor-preview {
	outline: 1px dashed var(--wp--preset--color--atv-line);
}

/* Layout only; colour and type for these blocks live in the theme's assets/css/sections.css. */

/* atv/key-facts */
/* Grid by count (class from the render), never a lone last item: 1 column on the narrowest screens for odd counts,
   2 columns for 2/4 (and 6 on phones), 3 columns for 3/5/6 from 576px. */
.atv-key-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--spacing-s) var(--spacing-l); margin: var(--spacing-m) 0; padding: 0; }
.atv-key-facts__item { min-width: 0; }
@media (min-width: 360px) { .atv-key-facts--count-2, .atv-key-facts--count-4, .atv-key-facts--count-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 576px) { .atv-key-facts--count-3, .atv-key-facts--count-5, .atv-key-facts--count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.atv-key-facts__label, .atv-key-facts__value { margin: 0; }
.atv-key-facts--editing { display: block; }
.atv-rows-editor { display: grid; gap: var(--spacing-xs); }
.atv-rows-editor__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--spacing-xs); align-items: end; }
.atv-rows-editor__title { font-weight: 600; margin: 0 0 var(--spacing-xs); }

/* atv/programs */
/* Columns by count (atv_programs_columns): one card keeps a readable measure; 2/4 cards → 2 columns from 768px;
   3/5+ → 3 columns from 992px (1 column below, so 3 cards never fall into 2 + 1). */
.atv-programs { display: grid; gap: var(--spacing-m); grid-template-columns: minmax(0, 1fr); margin-block: var(--spacing-m); }
.atv-programs--cols-1 { max-width: 45rem; }
@media (min-width: 768px) { .atv-programs--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .atv-programs--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.atv-program { display: flex; flex-direction: column; gap: var(--spacing-xs); padding: var(--spacing-m); }
.atv-program__actions { margin-top: auto; padding-top: var(--spacing-s); }
.atv-program__schedule { list-style: none; margin: 0; padding: 0; }
/* Label/value table: labels in one column sized to the longest ("Para quem:"), values aligned beside them. */
.atv-program__meta { margin: 0; display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--spacing-2-xs) var(--spacing-xs); }
.atv-program__meta > div { display: contents; }
.atv-program__meta dt { white-space: nowrap; }
.atv-program__meta dt, .atv-program__meta dd { margin: 0; }

/* atv/team */
.atv-team { list-style: none; margin: var(--spacing-m) 0; padding: 0; display: grid; gap: var(--spacing-m); grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.atv-team-member { display: flex; flex-direction: column; align-items: flex-start; gap: var(--spacing-2-xs); }
.atv-team-member__photo, .atv-team-member__avatar { width: 6rem; height: 6rem; border-radius: 50%; object-fit: cover; display: grid; place-items: center; margin-bottom: var(--spacing-xs); }
.atv-team-member__name, .atv-team-member__role, .atv-team-member__bio { margin: 0; }

/* Agenda inspector: what the keyword picks right now. */
.atv-agenda-matches {
	margin: 0 0 16px;
	font-size: 12px;
	color: #3c434a;
}

.atv-agenda-matches p {
	margin: 0 0 4px;
}

.atv-agenda-matches ul {
	margin: 0 0 4px;
	padding-inline-start: 16px;
	list-style: disc;
}

.atv-agenda-matches li {
	margin: 0;
}
