/*
Theme Name: Business Indexy Child
Theme URI:
Description: Child theme for Business Indexy - Customized for chess tournament website
Author: Your Name
Author URI: 
Template: business-indexy
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: business-indexy-child
*/

/* 
 * This child theme inherits all styles from the parent theme.
 * Add any custom CSS below this comment.
 */

/* Sponsor Images - Remove background and set uniform height */
.wp-block-image.has-custom-border {
	background: transparent !important;
}

.wp-block-image.has-custom-border img {
	max-height: 80px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
}

/* Ensure all sponsor columns have consistent image heights */
.wp-block-columns.alignwide .wp-block-column .wp-block-image {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
}

.wp-block-columns.alignwide .wp-block-column .wp-block-image img {
	max-height: 80px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
}

/* For SUPPORTED BY section with two images side by side */
.wp-block-columns.alignwide .wp-block-column .wp-block-columns .wp-block-column .wp-block-image {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
}

.wp-block-columns.alignwide .wp-block-column .wp-block-columns .wp-block-column .wp-block-image img {
	max-height: 80px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
}

/* Reduce spacing for info-row and other y60 sections */
.wp-block-group.is-style-business-indexy-y60 {
	padding-top: var(--wp--preset--spacing--20) !important;
	padding-bottom: var(--wp--preset--spacing--20) !important;
}

/* Latest Article - Reduce padding and make title white */
.wp-block-query .has-contrast-background-color .wp-block-post-title,
.wp-block-query .has-base-color.has-contrast-background-color .wp-block-post-title,
.wp-block-query .has-contrast-background-color.has-text-color .wp-block-post-title h2,
.wp-block-query .has-contrast-background-color .wp-block-post-title h2,
.wp-block-query .has-contrast-background-color .wp-block-post-title a,
.wp-block-query .has-contrast-background-color .wp-block-post-title a:link,
.wp-block-query .has-contrast-background-color .wp-block-post-title a:visited {
	color: #ffffff !important;
	text-decoration: none !important;
}

/* Latest Article - Underline on hover only */
.wp-block-query .has-contrast-background-color .wp-block-post-title a:hover,
.wp-block-query .has-contrast-background-color .wp-block-post-title a:active {
	color: #ffffff !important;
	text-decoration: underline !important;
}

.wp-block-query .has-contrast-background-color {
	padding-top: var(--wp--preset--spacing--20) !important;
	padding-bottom: var(--wp--preset--spacing--20) !important;
}

/* Latest Article - Post date styling */
.wp-block-query .has-contrast-background-color .wp-block-post-date,
.wp-block-query .has-contrast-background-color .wp-block-post-date time,
.wp-block-query .has-contrast-background-color .is-style-business-indexy-post-date {
	color: #ffffff !important;
}

/* Latest Article - Side by side layout */
.wp-block-query .has-contrast-background-color .wp-block-columns {
	margin-top: 0;
}

/* Latest Article - Text column padding */
.wp-block-query .has-contrast-background-color .wp-block-column:last-child {
	padding-right: var(--wp--preset--spacing--40) !important;
}

.wp-block-query .has-contrast-background-color .wp-block-post-featured-image {
	margin: 0;
	padding-left: var(--wp--preset--spacing--20) !important;
}

.wp-block-query .has-contrast-background-color .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	border-radius: 6px;
}

.wp-block-query .has-contrast-background-color .wp-block-post-excerpt {
	margin: 0;
	color: #ffffff;
}

.wp-block-query .has-contrast-background-color .wp-block-post-excerpt p {
	color: #ffffff;
}

/* Articles Grid - Reduce vertical spacing between elements */
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title,
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-date,
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-excerpt {
	margin-top: var(--wp--preset--spacing--10) !important;
	margin-bottom: var(--wp--preset--spacing--10) !important;
}

.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-featured-image {
	margin-bottom: var(--wp--preset--spacing--15) !important;
}

.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title {
	margin-top: 0 !important;
	margin-bottom: var(--wp--preset--spacing--10) !important;
}

.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-date {
	margin-top: 0 !important;
	margin-bottom: var(--wp--preset--spacing--10) !important;
}

.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-excerpt {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Limit title height in news grid - show max 2 lines */
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title,
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title a,
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .is-style-business-indexy-recent-post {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	max-height: 3em !important;
	line-height: 1.5em !important;
	font-size: 1.3em !important; /* Normal size for titles under 60 characters */
}

/* Smaller font size for long titles (over 60 characters) */
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title.long-title,
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title.long-title a,
.wp-block-query:not(.has-contrast-background-color) .is-style-business-indexy-p30 .wp-block-post-title.long-title h2 {
	font-size: 1.1em !important;
}

/* Ensure 3-column grid layout for News page and articles grid */
.wp-block-query .wp-block-post-template.is-style-business-indexy,
.wp-block-query .wp-block-post-template[class*="is-style-business-indexy"] {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: var(--wp--preset--spacing--40) !important;
	width: 100% !important;
}

.wp-block-query .wp-block-post-template.is-style-business-indexy > *,
.wp-block-query .wp-block-post-template[class*="is-style-business-indexy"] > * {
	width: 100% !important;
	max-width: 100% !important;
}

@media (max-width: 1024px) {
	.wp-block-query .wp-block-post-template.is-style-business-indexy,
	.wp-block-query .wp-block-post-template[class*="is-style-business-indexy"] {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.wp-block-query .wp-block-post-template.is-style-business-indexy,
	.wp-block-query .wp-block-post-template[class*="is-style-business-indexy"] {
		grid-template-columns: 1fr !important;
	}
}

/* Header Dark Style - Ensure proper background and visibility */
header.wp-block-template-part,
.wp-block-template-part.is-style-business-indexy-header-one-dark,
.is-style-business-indexy-header-one-dark {
	opacity: 1 !important;
	background-color: #ffffff !important;
	margin: 0 !important;
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding: 0 !important;
}

/* Remove top margin from header template part */
.wp-site-blocks > header,
.wp-site-blocks > .wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Remove spacer and date section from header */
.business-indexy-header-one-dark-main .wp-block-spacer {
	display: none !important;
}

.business-indexy-header-one-dark-info {
	display: none !important;
}

/* Ensure logo link works */
.business-indexy-header-one-dark-logo .wp-block-image a {
	display: inline-block;
	text-decoration: none;
}

.business-indexy-header-one-dark-logo .wp-block-image img {
	display: block;
}

.business-indexy-header-one-dark-main {
	background-color: #ffffff !important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	margin: 0 auto !important;
	max-width: 1460px !important;
	width: 100%;
}

.business-indexy-header-one-dark-logo {
	padding-top: 0.4em;
}

.business-indexy-header-one-dark-logo a,
.business-indexy-header-one-dark-logo .wp-block-image a {
	color: #111111 !important;
	text-decoration: none;
	display: inline-block;
}

.business-indexy-header-one-dark-logo img {
	max-width: 300px !important;
	width: 300px !important;
	height: auto !important;
}


/* Navigation menu styling */
.business-indexy-header-one-dark-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.is-style-business-indexy-dark-menu .wp-block-navigation__container {
	gap: 1.5rem;
	flex-wrap: wrap;
}

.is-style-business-indexy-dark-menu a {
	color: #111111 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 1.2rem !important;
	padding: 5px 0;
}

.is-style-business-indexy-dark-menu a:hover {
	text-decoration: underline !important;
	background-color: #f5f5f5 !important;
	color: #111111 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.is-style-business-indexy-dark-menu .wp-block-navigation-item__content:hover {
	background-color: #f5f5f5 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.is-style-business-indexy-dark-menu .wp-block-navigation-item:hover {
	background-color: #f5f5f5 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Remove borders/outlines from menu items on focus and active states */
.is-style-business-indexy-dark-menu a:focus,
.is-style-business-indexy-dark-menu a:active,
.is-style-business-indexy-dark-menu .wp-block-navigation-item__content:focus,
.is-style-business-indexy-dark-menu .wp-block-navigation-item__content:active,
.is-style-business-indexy-dark-menu .wp-block-navigation-item:focus,
.is-style-business-indexy-dark-menu .wp-block-navigation-item:active {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Remove any default WordPress navigation borders */
.is-style-business-indexy-dark-menu .wp-block-navigation-item,
.is-style-business-indexy-dark-menu .wp-block-navigation-item__content,
.is-style-business-indexy-dark-menu .wp-block-navigation__submenu-container {
	border: none !important;
	outline: none !important;
}

/* Ensure logo link is clickable - hardcoded */
.business-indexy-header-one-dark-logo a,
.business-indexy-logo-link {
	display: inline-block !important;
	text-decoration: none !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 999 !important;
	pointer-events: auto !important;
	line-height: 0 !important;
}

.business-indexy-header-one-dark-logo a img,
.business-indexy-logo-link img {
	pointer-events: none !important;
	display: block !important;
	max-width: 300px !important;
	width: 300px !important;
	height: auto !important;
}

/* Override any parent styles that might block clicks */
.business-indexy-header-one-dark-logo .wp-block-html {
	pointer-events: auto !important;
	display: inline-block;
}

.business-indexy-header-one-dark-logo .wp-block-html a {
	pointer-events: auto !important;
	z-index: 999 !important;
}

/* Ensure header columns display properly */
.business-indexy-header-one-dark-main .wp-block-columns {
	margin: 0 !important;
	gap: 20px;
}

.business-indexy-header-one-dark-main .wp-block-column {
	margin: 0 !important;
}

@media screen and (min-width: 781px) {
	.is-style-business-indexy-header-one-dark {
		opacity: 1 !important;
	}
	
	.business-indexy-header-one-dark-main {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}
}

/* Article/Page Image Constraints */
.wp-block-post-content img:not(.social-icon),
.entry-content img:not(.social-icon),
.wp-block-image img:not(.social-icon),
article img:not(.social-icon),
.page img:not(.social-icon) {
	max-width: 100% !important;
	max-height: 600px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
}

/* Social Media Icons - Override general image styles */
.social-media-icons img.social-icon,
.social-media-icons img[alt="Facebook"],
.social-media-icons img[alt="Instagram"],
.wp-block-group.has-base-3-background-color .social-media-icons img,
.wp-block-group.has-base-3-background-color img[alt="Facebook"],
.wp-block-group.has-base-3-background-color img[alt="Instagram"],
.wp-block-group.has-base-3-background-color img[src*="Facebook_Logo_Primary"],
.wp-block-group.has-base-3-background-color img[src*="Instagram_icon"] {
	width: 30px !important;
	height: 30px !important;
	max-width: 30px !important;
	max-height: 30px !important;
	object-fit: contain !important;
}

/* Ensure images in post content respect constraints */
.wp-block-post-content .wp-block-image,
.entry-content .wp-block-image {
	max-width: 100%;
}

.wp-block-post-content .wp-block-image img,
.entry-content .wp-block-image img {
	max-width: 100% !important;
	max-height: 600px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
}

/* Padding for constrained groups with global padding */
.wp-block-group.has-global-padding.is-layout-constrained {
	padding-top: var(--wp--preset--spacing--20) !important;
	padding-bottom: var(--wp--preset--spacing--20) !important;
}

/* Remove bottom padding from sponsor section even with global padding */
.wp-block-group.has-global-padding.is-layout-constrained:has(.wp-block-heading:contains("Sponsors")),
.wp-block-group.has-global-padding.is-layout-constrained:has(.wp-block-columns.alignwide .wp-block-column h4.wp-block-heading),
.wp-block-group.has-global-padding.is-layout-constrained.has-base-background-color:has(.wp-block-heading:contains("Sponsors")) {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Instagram embeds styling */
.instagram-media {
	margin: 0 auto !important;
	max-width: 100% !important;
	width: 100% !important;
}

.wp-block-column .instagram-media {
	width: 100% !important;
	max-width: 100% !important;
}

/* Sponsor section headings - make smaller */
.wp-block-columns.alignwide .wp-block-column h4.wp-block-heading {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* Sponsor section background - really white */
.wp-block-group:has(.wp-block-heading:contains("Sponsors")),
.wp-block-group:has(.wp-block-columns.alignwide .wp-block-column h4.wp-block-heading),
.wp-block-group .wp-block-heading:has-text("Sponsors"),
.wp-block-group:has(h2:contains("Sponsors")) {
	background-color: #ffffff !important;
}

/* Ensure sponsor section group wrapper is white */
.wp-block-group:not(.is-style-business-indexy-y60):has(.wp-block-columns.alignwide .wp-block-column h4.wp-block-heading) {
	background-color: #ffffff !important;
}

/* Remove bottom spacing from sponsor section */
.wp-block-group:has(.wp-block-columns.alignwide .wp-block-column h4.wp-block-heading) {
	margin-bottom: 0 !important;
	padding-bottom: var(--wp--preset--spacing--30) !important;
}

/* Remove bottom spacing from sponsor columns */
.wp-block-group .wp-block-heading:has-text("Sponsors") + .wp-block-columns,
.wp-block-group .wp-block-columns:has(.wp-block-column h4.wp-block-heading:contains("TITLE SPONSOR")),
.wp-block-group .wp-block-columns.alignwide:has(.wp-block-column h4.wp-block-heading) {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Sponsor section wrapper spacing - remove bottom padding */
.wp-block-group:has(h2:contains("Sponsors")),
.wp-block-group.has-base-background-color:has(.wp-block-heading:contains("Sponsors")),
.wp-block-group.has-global-padding:has(.wp-block-heading:contains("Sponsors")) {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Ensure logo link is fully clickable */
.business-indexy-header-one-dark-logo a,
.business-indexy-header-one-dark-logo .wp-block-html a,
.business-indexy-logo-link {
	display: inline-block !important;
	text-decoration: none !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 10 !important;
	pointer-events: auto !important;
	line-height: 0;
}

.business-indexy-header-one-dark-logo a img,
.business-indexy-header-one-dark-logo .wp-block-html a img,
.business-indexy-logo-img {
	pointer-events: none !important;
	display: block !important;
	max-width: 300px !important;
	width: 300px !important;
	height: auto !important;
}

/* Override any parent styles that might block clicks */
.business-indexy-header-one-dark-logo .wp-block-html,
.business-indexy-logo-wrapper {
	pointer-events: auto !important;
	display: inline-block;
}

.business-indexy-header-one-dark-logo .wp-block-html * {
	pointer-events: auto !important;
}

.business-indexy-header-one-dark-logo .wp-block-html img,
.business-indexy-logo-wrapper img {
	pointer-events: none !important;
}

/* Hide comments section on single posts */
.wp-block-comments,
.wp-block-post-comments-form {
	display: none !important;
}

/* Photos page - album grid styling */
.photo-albums-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 30px !important;
	margin-top: 30px !important;
}

.photo-album-item {
	text-align: center;
}

.photo-album-item a {
	transition: opacity 0.3s ease;
	text-decoration: none !important;
	display: block;
}

.photo-album-item a:hover {
	opacity: 0.8;
}

.photo-album-item img {
	width: 100% !important;
	height: auto !important;
	border-radius: 6px;
	display: block;
	margin-bottom: 15px;
	object-fit: cover;
	max-height: 300px;
}

.photo-album-item h3 {
	margin: 0;
	font-size: 1.25rem;
	color: #111111;
	text-align: center;
	font-weight: 600;
}

@media (max-width: 1024px) {
	.photo-albums-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.photo-albums-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Remove large gap after title on single posts */
.is-style-business-indexy-yb-50 {
	margin-bottom: 0 !important;
}

/* Also target the title group wrapper on single posts */
main .wp-block-group.is-style-business-indexy-yb-50 {
	margin-bottom: var(--wp--preset--spacing--20) !important;
}

/* Information page - odd/even row styling for rounds, prizes, and players */
.info-row-list > .info-row-item:nth-child(odd) {
	background-color: #f9f9f9;
}

.info-row-list > .info-row-item:nth-child(even) {
	background-color: #ffffff;
}

/* Ensure proper styling for info sections */
.info-section h2 {
	margin-bottom: 20px;
	font-size: 1.75rem;
	color: #111111;
}

.info-section h3 {
	font-size: 1.35rem;
	color: #333333;
	margin-bottom: 10px;
}

.info-row-list {
	border-radius: 6px;
	overflow: hidden;
	max-width: 800px;
}

/* Players and Schedule sections - half width */
.info-row-list-narrow {
	max-width: 400px !important;
}

.info-row-item {
	border-bottom: 1px solid #e5e5e5;
}

.info-row-item:last-child {
	border-bottom: none;
}



