/*
Theme Name: Bima TV
Theme URI: https://bimatvkenya.com/
Author: BimaTV Kenya
Description: Custom block theme for bimatvkenya.com — built for speed and mobile usability.
Version: 1.2.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: bima-tv
*/

.bima-tv-partner-carousel {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	gap: 2rem;
}

.bima-tv-partner-logo {
	scroll-snap-align: start;
	flex: 0 0 auto;
}

.bima-tv-partner-logo img {
	filter: grayscale(100%);
	opacity: 0.7;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.bima-tv-partner-logo img:hover {
	filter: grayscale(0%);
	opacity: 1;
}

.bima-tv-card {
	background-color: #FFFFFF;
	border: 1px solid rgba(26, 16, 51, 0.08);
	border-top: 3px solid #FDDD48;
	border-radius: 10px;
	padding: 2rem 1.5rem;
	text-align: left;
	box-shadow: 0 1px 3px rgba(26, 16, 51, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bima-tv-product-grid .bima-tv-card,
.bima-tv-team-card {
	text-align: center;
}

.bima-tv-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(26, 16, 51, 0.08);
}

/* Eyebrow labels — small uppercase kicker above headings */
.bima-tv-eyebrow {
	color: #7A2BA8;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 0.5rem;
}

.bima-tv-eyebrow-light {
	color: #FDDD48;
}

/* Gold underline stroke for a headline word */
.bima-tv-underline {
	position: relative;
	z-index: 0;
	display: inline-block;
	white-space: nowrap;
}

.bima-tv-underline::after {
	content: "";
	position: absolute;
	left: -0.05em;
	right: -0.05em;
	bottom: 0.05em;
	height: 0.28em;
	background-color: #FDDD48;
	z-index: -1;
}

.bima-tv-hero-photo img {
	border-radius: 24px;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid #1A1033;
}

/* Educative Events accordion */
.bima-tv-accordion-item {
	border-bottom: 1px solid rgba(26, 16, 51, 0.1);
	padding: 1.1rem 0;
}

.bima-tv-accordion-item summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 1.05rem;
	color: #1A1033;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.bima-tv-accordion-item summary::-webkit-details-marker {
	display: none;
}

.bima-tv-accordion-item summary::after {
	content: "+";
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background-color: #FDDD48;
	color: #7A2BA8;
	font-size: 1.1rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bima-tv-accordion-item[open] summary::after {
	content: "\2212";
}

.bima-tv-accordion-item[open] summary {
	color: #7A2BA8;
}

.bima-tv-accordion-item p {
	margin-top: 0.75rem;
	color: #1A1033;
}

/* Page title (About Us, Our Products, Our Team, Contact Us): the content below already
   establishes the page's subject, so the plain title reads as repetition on desktop.
   Kept on mobile, where it's a useful quick anchor before scrolling. */
@media (min-width: 783px) {
	.bima-tv-page-title {
		display: none;
	}
}

/* Header — keep nav+CTA pinned right regardless of whether a logo renders */
.bima-tv-header > .wp-block-group {
	width: 100%;
}

.bima-tv-header > .wp-block-group > .wp-block-group:last-child {
	margin-left: auto;
}

/* Hide the header's separate Contact Us button on mobile — it also lives inside the hamburger menu */
@media (max-width: 600px) {
	.bima-tv-header .wp-block-buttons {
		display: none;
	}
}

/* The "Contact Us" nav link only needs to show inside the mobile drawer — desktop already has the pill button */
.bima-tv-nav-contact-mobile-only {
	display: none !important;
}

@media (max-width: 600px) {
	.bima-tv-nav-contact-mobile-only {
		display: flex !important;
	}
}

/* Mobile nav drawer — slide in from the right at 70% width instead of a full-screen takeover */
.wp-block-navigation__responsive-container.is-menu-open {
	left: auto !important;
	width: 70% !important;
	max-width: 320px;
	box-shadow: -8px 0 24px rgba(26, 16, 51, 0.15);
}

/* Trust bar — pill-shaped chips beneath the hero */
.bima-tv-trust-bar {
	gap: 1.25rem;
}

.bima-tv-trust-pill {
	align-items: center;
	gap: 0.75rem;
	background-color: #FFFFFF;
	border: 1px solid rgba(26, 16, 51, 0.1);
	border-radius: 999px;
	padding: 0.6rem 1.5rem 0.6rem 0.6rem;
	box-shadow: 0 1px 3px rgba(26, 16, 51, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bima-tv-trust-pill:hover {
	transform: translateY(-2px);
	border-color: #7A2BA8;
	box-shadow: 0 8px 18px rgba(26, 16, 51, 0.1);
}

.bima-tv-trust-icon {
	margin: 0;
	flex-shrink: 0;
}

.bima-tv-trust-icon img {
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: #FDDD48;
	box-sizing: border-box;
	padding: 0.5rem;
}

.bima-tv-trust-pill p {
	margin: 0;
	white-space: nowrap;
}

/* Stat band */
.bima-tv-stat-band {
	gap: 2rem;
}

.bima-tv-stat {
	text-align: center;
	flex: 1;
	min-width: 220px;
	background-color: #FFFFFF;
	align-items: center;
}

.bima-tv-stat-tag {
	display: inline-block;
	background-color: #FDDD48;
	color: #7A2BA8;
	font-weight: 700;
	letter-spacing: 0.06em;
	border-radius: 999px;
	padding: 0.3rem 0.9rem;
	margin-bottom: 1rem !important;
}

.bima-tv-stat-number {
	font-size: 2.75rem;
	font-weight: 700;
	color: #1A1033;
	line-height: 1;
	margin-bottom: 0.5rem !important;
}

/* Social Media Outlook demographic bars */
.bima-tv-demo-bars {
	margin-top: 1.25rem;
}

.bima-tv-demo-row + .bima-tv-demo-row {
	margin-top: 1.1rem;
}

.bima-tv-demo-label {
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
	font-weight: 600;
	color: #1A1033;
	margin-bottom: 0.4rem;
}

.bima-tv-demo-track {
	height: 10px;
	border-radius: 999px;
	background-color: rgba(26, 16, 51, 0.08);
	overflow: hidden;
}

.bima-tv-demo-fill {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #7A2BA8, #9137C7);
}

/* Testimonial cards */
.bima-tv-testimonial-grid {
	gap: 2rem;
}

.bima-tv-testimonial-card {
	text-align: left;
}

.bima-tv-quote-mark {
	font-size: 3rem;
	line-height: 1;
	color: #FDDD48;
	font-weight: 700;
	margin-bottom: 0;
}

.bima-tv-bold-band .bima-tv-eyebrow-light {
	margin-bottom: 0.5rem;
}

.bima-tv-product-grid,
.bima-tv-team-grid .wp-block-post-template {
	gap: 2rem;
}

@media (max-width: 782px) {
	.bima-tv-product-grid,
	.bima-tv-team-grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.bima-tv-product-grid,
	.bima-tv-team-grid .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

.bima-tv-card-icon {
	width: 96px;
	height: 96px;
	margin: 0 auto 1rem;
}

.bima-tv-card-icon img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border-radius: 50%;
	background-color: #FDDD48;
	box-sizing: border-box;
	padding: 0.75rem;
}

.bima-tv-team-card .wp-block-post-featured-image {
	width: 140px;
	height: 140px;
	margin: 0 auto 1rem;
	overflow: hidden;
	border-radius: 999px;
}

.bima-tv-team-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bima-tv-team-card .wp-block-post-title,
.bima-tv-team-card .wp-block-post-excerpt {
	text-align: center;
}

/* Footer */
.bima-tv-footer-columns {
	gap: 2rem;
}

.bima-tv-footer-label {
	color: #FDDD48;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 0.75rem;
}

.bima-tv-footer a {
	color: #FFFFFFCC;
	text-decoration: none;
}

.bima-tv-footer a:hover {
	color: #FDDD48;
}

.bima-tv-footer .wp-block-social-link a {
	background-color: #FFFFFF1A;
}

.bima-tv-footer-rule {
	border-color: #FFFFFF26;
	margin: 2.5rem 0 1.5rem;
}

.bima-tv-whatsapp-float {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 999;
	background-color: #25D366;
	border-radius: 50%;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* Lists inside cards: a normal bullet indent instead of the browser's 40px, so narrow cards keep room for text. */
.bima-tv-card .wp-block-list {
	padding-left: 1.15em;
}

.bima-tv-card .wp-block-list li + li {
	margin-top: 0.5em;
}

/* A card that is the only thing in a column fills the column, so cards in a row share a height. */
.wp-block-column > .bima-tv-card:only-child {
	height: 100%;
}
