/* ============================================
   LOGOS SECTION COMPONENT
   Self-contained component for displaying team/league logos
   ============================================ */

/* Main Logos Section Container */
.logos-section {
	object-fit: contain;
	position: relative;
}

.logos-section.no-text {
	grid-column-gap: 16px;
	grid-row-gap: 16px;
	flex-flow: column;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr;
	grid-auto-columns: 1fr;
	justify-content: flex-start;
	align-items: center;
	margin-left: 0;
	margin-right: 0;
	display: block;
	width: 100%;
    margin-top: -64px;
}

.logos-section.no-text.home {
	transition: min-height 0.3s ease;
	will-change: transform;
	padding-bottom: 0;
}

/* Ensure logos section headers get proper padding */
.logos-section.no-text.home .main-h1-heading.logos {
	padding-bottom: 60px;
}

.logos-section .main-h1-heading.logos {
	padding-bottom: 60px;
}

/* Logos Main Container */
.logos-main-container {
	grid-column-gap: 16px;
	grid-row-gap: 16px;
	flex-flow: column;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr;
	grid-auto-columns: 1fr;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	max-width: none;
	height: auto;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	padding-bottom: 20px;
	display: flex;
	position: relative;
}

.logos-main-container .main-logo-wrapper {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Main Logo Wrapper */
.main-logo-wrapper {
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	flex-flow: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: var(--container-max-width);
	margin-left: var(--container-side-margin);
	margin-right: var(--container-side-margin);
	padding-left: 0;
	padding-right: 0;
	display: flex;
}

.main-logo-wrapper.main {
	grid-column-gap: 16px;
	grid-row-gap: 16px;
	flex-flow: row;
}

.main-logo-wrapper.upper {
	margin-bottom: 16px;
}

.main-logo-wrapper.award {
	flex-flow: row;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: -60px;
	margin-bottom: 64px;
}

/* Logo Container Div */
.logo-container-div {
	grid-column-gap: 24px;
	grid-row-gap: 24px;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	width: 13%;
	height: auto;
	min-height: 92px;
	padding: 0;
	display: flex;
}

/* Logo Image */
.logo-image {
	aspect-ratio: auto;
	border-radius: 0;
	width: 75%;
	max-width: 100%;
	height: auto;
}

.logo-image._100-percent {
	width: 100%;
}

.logo-image._76ers {
	flex: 0 auto;
	width: 58%;
}

.logo-image.valour {
	width: 50%;
}

.logo-image.hocke {
	width: 68%;
}

/* Awards & Recognition Logo Animations */
.main-logo-wrapper.award .logo-container-div {
	position: relative;
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), 
				filter 0.4s ease,
				box-shadow 0.4s ease;
	cursor: pointer;
	perspective: 1000px;
}

.main-logo-wrapper.award .logo-container-div .logo-image {
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
				filter 0.4s ease;
	will-change: transform;
}

.main-logo-wrapper.award .logo-container-div .award-logo-desc {
	transition: opacity 0.4s ease, transform 0.4s ease;
	opacity: 0.7;
	transform: translateY(5px);
}

.main-logo-wrapper.award .logo-container-div:hover {
	transform: translateY(-10px) scale(1.05);
	z-index: 10;
}

.main-logo-wrapper.award .logo-container-div:hover .logo-image {
	transform: scale(1.1) rotateY(5deg);
	filter: brightness(1.1) drop-shadow(0 10px 25px rgba(0, 0, 0, 0.15));
}

.main-logo-wrapper.award .logo-container-div:hover .award-logo-desc {
	opacity: 1;
	visibility: visible;
}

/* Subtle floating animation for idle state */
@keyframes float {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-8px);
	}
}

.main-logo-wrapper.award .logo-container-div {
	animation: float 6s ease-in-out infinite;
}

.main-logo-wrapper.award .logo-container-div:nth-child(1) {
	animation-delay: 0s;
}

.main-logo-wrapper.award .logo-container-div:nth-child(2) {
	animation-delay: 0.5s;
}

.main-logo-wrapper.award .logo-container-div:nth-child(3) {
	animation-delay: 1s;
}

.main-logo-wrapper.award .logo-container-div:nth-child(4) {
	animation-delay: 1.5s;
}

.main-logo-wrapper.award .logo-container-div:nth-child(5) {
	animation-delay: 2s;
}

.main-logo-wrapper.award .logo-container-div:nth-child(6) {
	animation-delay: 2.5s;
}

/* Responsive Styles */
@media screen and (max-width: 991px) {
	.logos-section.no-text {
		padding-left: 0;
		padding-right: 0;
	}

	.logo-container-div {
		flex-flow: column;
		width: 21%;
	}

	.main-logo-wrapper.main {
		grid-column-gap: 16px;
		grid-row-gap: 16px;
		flex-flow: wrap;
	}
}

@media screen and (max-width: 767px) {
	.logos-section.no-text {
		padding-top: 0;
		transition: min-height 0.3s ease;
		will-change: transform;
		padding-bottom: 40px;
	}

	.logo-image {
		width: 60%;
	}
}

@media screen and (max-width: 479px) {
	.logo-container-div {
		width: 36%;
		min-height: 0;
	}

	.main-logo-wrapper {
		grid-column-gap: 32px;
		grid-row-gap: 32px;
		flex-flow: wrap;
	}
	
	/* Ensure logos-main-container and its children remain full width on mobile */
	.logos-main-container {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.logos-main-container .main-logo-wrapper {
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.main-logo-wrapper.award {
		grid-column-gap: 10px;
		grid-row-gap: 10px;
		flex-flow: wrap;
		justify-content: space-around;
		align-items: flex-start;
	}

	.main-logo-wrapper.main {
		grid-column-gap: 16px;
		grid-row-gap: 24px;
		flex-flow: wrap;
	}
}

/* Home Page Specific Overrides */
.home-page .logos-section.no-text.home {
	padding-top: 0;
	transition: min-height 0.3s ease;
	will-change: transform;
	padding-bottom: 0;
}

.home-page .logos-section.no-text.home .main-h1-heading.logos {
	padding-top: 160px;
	padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
	.home-page .logos-section.no-text {
		padding-top: 0;
		transition: min-height 0.3s ease;
		will-change: transform;
	}
}

