/* The Elephant Queen — theme styles that theme.json can't express. */

:root {
	--teq-header-h: 64px;
	--teq-gutter: clamp(24px, 4.4vw, 63px);
	--teq-border: var(--wp--preset--color--border, #c0c0c0);
	--teq-blue: var(--wp--preset--color--blue, #39b8ff);
	--teq-radius: var(--wp--custom--radius, 0.75rem);
}
@media (min-width: 1280px) {
	:root { --teq-header-h: 80px; }
}

body { -webkit-font-smoothing: antialiased; }

/* ---------- Header ---------- */
.teq-header-wrap {
	position: sticky;
	top: 0;
	z-index: 30;
	background: #fff;
	border-bottom: 1px solid var(--teq-border);
}
.admin-bar .teq-header-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.teq-header {
	max-width: 1920px;
	margin: 0 auto;
	min-height: var(--teq-header-h);
	gap: 0 !important;
	align-items: stretch !important;
	padding: 0 24px;
}
.teq-header__brand { align-items: center; flex-shrink: 0; }
.teq-logo { margin: 0 !important; }
.teq-logo img { height: 44px !important; width: auto !important; max-width: 260px; object-fit: contain; border-radius: 0 !important; display: block; }
.teq-nav { flex-grow: 1; align-self: stretch; }
@media (min-width: 1280px) {
	.teq-header { padding: 0; }
	.teq-header__brand { padding: 0 1.5rem; }
	.teq-logo img { height: 36px !important; }
}
@media (min-width: 1536px) {
	.teq-header__brand { padding: 0 3rem; }
	.teq-logo img { height: 44px !important; }
}

/* Desktop: equal-width bordered tabs, like the original. */
@media (min-width: 1280px) {
	.teq-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.teq-nav .wp-block-navigation__responsive-close,
	.teq-nav .wp-block-navigation__responsive-dialog,
	.teq-nav .wp-block-navigation__responsive-container-content,
	.teq-nav .wp-block-navigation__container {
		height: 100%;
		width: 100%;
	}
	.teq-nav .wp-block-navigation__container { gap: 0 !important; align-items: stretch; }
	.teq-nav .wp-block-navigation-item {
		flex: 1 1 auto;
		border-left: 1px solid var(--teq-border);
		justify-content: center;
	}
	.teq-nav .wp-block-navigation-item__content {
		display: flex !important;
		align-items: center;
		justify-content: center;
		height: 100%;
		width: 100%;
		padding: 0 1rem !important;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		text-align: center;
		color: #000;
		transition: border-color .15s ease;
	}
	.teq-nav .wp-block-navigation-item__content:hover,
	.teq-nav .current-menu-item > .wp-block-navigation-item__content,
	.teq-nav .wp-block-navigation-item__content[aria-current] {
		border-bottom-color: var(--teq-blue);
		text-decoration: none;
	}
}
/* Mobile overlay menu */
.teq-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 2rem var(--teq-gutter);
}
.teq-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.5rem;
	font-weight: 300;
	padding: .5rem 0;
}
/* The theme's breakpoint for the hamburger is 1280px, as on the original site. */
@media (min-width: 600px) and (max-width: 1279px) {
	.teq-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.teq-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* ---------- Social rail ---------- */
.teq-social-rail {
	position: fixed;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 25;
	display: flex;
	flex-direction: column;
}
.teq-social-rail__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	background: #000;
}
.teq-social-rail__item img { width: 100%; height: 100%; object-fit: contain; display: block; }
.teq-social-rail__item.is-twitter { background: #1fa1f2; }
.teq-social-rail__item.is-facebook { background: #4267b3; }
.teq-social-rail__item.is-instagram { background: #833ab4; }
.teq-social-rail__item.is-paypal { background: #fff; }
@media (max-width: 767px) {
	.teq-social-rail__item { width: 36px; height: 36px; }
}

/* ---------- Main ---------- */
.teq-main { padding-bottom: 3rem; }
.teq-main > * + * { margin-block-start: 0; }
.teq-main p, .teq-main li { color: var(--wp--preset--color--body); }
.teq-main .has-text-color p, .teq-main .wp-block-cover p { color: inherit; }

.is-style-teq-page-title {
	margin: 0 calc(-1 * var(--teq-gutter)) 3rem !important;
	padding: 2rem var(--teq-gutter) 1.5rem;
	border-bottom: 1px solid var(--teq-border);
	text-align: center;
}

/* Section: content block with full-width bottom rule */
.wp-block-group.is-style-teq-section {
	margin-left: calc(-1 * var(--teq-gutter)) !important;
	margin-right: calc(-1 * var(--teq-gutter)) !important;
	padding: 0 var(--teq-gutter) 3rem;
	margin-bottom: 3rem;
	border-bottom: 1px solid var(--teq-border);
	scroll-margin-top: calc(var(--teq-header-h) + 1rem);
}
.wp-block-group.is-style-teq-section:last-child { border-bottom: 0; margin-bottom: 0; }
[id] { scroll-margin-top: calc(var(--teq-header-h) + 1rem); }

.teq-main h2 { margin-top: 0; margin-bottom: 1.5rem; }
.teq-main h2.has-text-align-center + p.has-text-align-center { margin-top: -0.5rem; }
.teq-subtitle, .teq-main p.teq-subtitle { color: var(--wp--preset--color--muted); }

/* ---------- Home tiles (Cover block style) ---------- */
.wp-block-cover.is-style-teq-tile {
	min-height: clamp(520px, 80vh, 668px) !important;
	border-radius: var(--teq-radius);
	padding: 3rem 2.25rem;
	text-align: center;
	align-items: flex-end;
	margin-bottom: 1.5rem;
}
.wp-block-cover.is-style-teq-tile .wp-block-cover__inner-container { width: auto; }
.wp-block-cover.is-style-teq-tile h1,
.wp-block-cover.is-style-teq-tile h2 { margin: 0 0 .5rem; font-size: var(--wp--preset--font-size--xx-large); }
.wp-block-cover.is-style-teq-tile h1 { font-size: var(--wp--preset--font-size--huge); }
.wp-block-cover.is-style-teq-tile p { margin: 0 0 .5rem; font-weight: 400; }
.wp-block-cover.is-style-teq-tile a { color: #fff; font-weight: 600; font-size: var(--wp--preset--font-size--large); }
.wp-block-cover.is-style-teq-tile:first-child { margin-top: 1.5rem; }
@media (max-width: 767px) {
	.wp-block-cover.is-style-teq-tile {
		margin-left: calc(-1 * var(--teq-gutter));
		margin-right: calc(-1 * var(--teq-gutter));
		border-radius: 0;
		min-height: 90vh !important;
	}
	.wp-block-cover.is-style-teq-tile:first-child { margin-top: 0; }
}
@media (min-width: 768px) {
	.wp-block-cover.is-style-teq-tile { align-items: center; justify-content: flex-start; padding: 3rem 6rem; }
	.wp-block-cover.is-style-teq-tile.teq-tile--right { justify-content: flex-end; }
	.wp-block-cover.is-style-teq-tile.teq-tile--center { justify-content: center; }
}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-teq-outline .wp-block-button__link {
	background: #fff;
	color: #000;
	border-color: #000;
}
.wp-block-button.is-style-teq-outline .wp-block-button__link:hover { background: #000; color: #fff; }
.wp-block-button__link:hover { text-decoration: none; filter: brightness(1.05); }

/* ---------- Lists ---------- */
.is-style-teq-plain { list-style: none; padding-left: 0; }
.is-style-teq-plain li { margin: 0 0 .35rem; }

/* ---------- Images ---------- */
.wp-block-image img { border-radius: var(--teq-radius); }

/* ---------- Gallery carousel ---------- */
.wp-block-gallery.is-style-teq-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 1rem !important;
	padding-bottom: 1rem;
	scrollbar-width: thin;
}
.wp-block-gallery.is-style-teq-carousel > .wp-block-image {
	flex: 0 0 min(85%, 720px) !important;
	width: auto !important;
	scroll-snap-align: start;
	margin: 0 !important;
}
.wp-block-gallery.is-style-teq-carousel > .wp-block-image img { aspect-ratio: 3 / 2; object-fit: cover; height: auto !important; }
.wp-block-gallery.is-style-teq-carousel figcaption {
	position: static !important;
	background: none !important;
	color: var(--wp--preset--color--body) !important;
	text-align: left !important;
	padding: .5rem 0 0 !important;
	font-size: 15px !important;
	max-height: none !important;
}

/* ---------- Footer ---------- */
.teq-footer {
	border-top: 1px solid var(--teq-border);
	padding: 3rem var(--teq-gutter) 6rem !important;
}
.teq-footer a { color: #000; }
.teq-footer__menus { gap: 3rem 2rem; margin-bottom: 3rem; }
.teq-footer__heading { font-weight: 900; font-size: var(--wp--preset--font-size--base); margin: 0 0 1.5rem; }
.teq-footer .is-style-teq-plain { margin: 0; font-size: 17px; }
.teq-footer__sponsor img { border-radius: 0 !important; }
.teq-footer__base { gap: 1rem; }

/* ---------- Film page banner ---------- */
.wp-block-cover.teq-film-banner {
	margin-top: 0 !important;
	margin-bottom: 3rem;
	align-items: center;
	justify-content: flex-start;
	padding: 3rem var(--teq-gutter) 7rem;
	border-radius: 0;
	position: relative;
}
.teq-film-banner .wp-block-cover__inner-container { position: static; max-width: 32rem; margin: 0 !important; color: #fff; }
.teq-film-banner .wp-block-cover__inner-container > * { position: relative; z-index: 1; }
.teq-film-banner .teq-film-banner__title { color: #fff; margin: 0 0 1.5rem; }
.teq-film-banner .wp-block-teq-youtube-button,
.teq-film-banner .wp-block-teq-modal { margin: 0 0 .75rem; }
.teq-film-banner .teq-btn { min-width: 16rem; }
.teq-film-banner .teq-modal-trigger { margin: 0; }
.teq-film-banner p.teq-film-banner__langs { font-size: 15px; font-weight: 700; margin: .5rem 0 0; padding-left: 2.5rem; color: #fff; }
.teq-film-banner p.teq-film-banner__band {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	margin: 0;
	padding: .9rem var(--teq-gutter);
	background: rgba(0, 0, 0, .45);
	color: #fff;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}
@media (max-width: 767px) {
	.wp-block-cover.teq-film-banner { min-height: 520px !important; align-items: flex-end; padding-bottom: 0; flex-wrap: wrap; }
	.teq-film-banner .wp-block-cover__inner-container { max-width: none; width: 100%; }
	.teq-film-banner p.teq-film-banner__band { position: relative; margin: 1.5rem calc(-1 * var(--teq-gutter)) 0; }
	.teq-film-banner p.teq-film-banner__langs { padding-left: 0; text-align: center; }
	.teq-film-banner .teq-btn { min-width: 0; width: 100%; }
}

/* Two-column sections */
.wp-block-columns { gap: 2rem 3rem; }
.wp-element-caption { font-size: 15px; color: var(--wp--preset--color--body); text-align: left; }
.teq-credits li { margin-bottom: 1rem; text-align: center; }
.teq-credits { text-align: center; }
.teq-map img { max-height: 80vh; width: auto; margin: 0 auto 3rem; display: block; }
.teq-form-intro { font-size: var(--wp--preset--font-size--large) !important; max-width: 48rem; margin: 2rem auto !important; }
.teq-video-list { gap: 2rem !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 28rem), 1fr)) !important; }
.teq-video-list h3 { margin: 0 0 .75rem; }
