/**
 * Custom Awards Plugin Styles
 */

:root {
    --award-primary: #004a87;
    --award-text: #333;
    --award-text-light: #666;
    --award-bg: #f2f2f2;
    --award-card-bg: #fff;
    --award-border: #e0e0e0;
    --award-radius: 0px;
    --award-transition: all 0.3s ease;
}

/* Prevent horizontal scroll globally to allow edge-to-edge bleed */
html,
body {
    overflow-x: hidden !important;
    max-width: 100vw;
    overscroll-behavior-x: none;
    /* Prevents "rubber-band" scrollbars */
}

/* Explicitly hide the horizontal scrollbar track in webkit browsers */
::-webkit-scrollbar:horizontal {
    display: none !important;
    height: 0;
}

.awards-carousel-section {
    max-width: none !important;
    width: auto !important;
    margin-right: calc(50% - 50vw);
    position: relative;
    z-index: 1;
    contain: paint;
    /* Optimization: Ensures children don't influence parent scroll */
}

/* Card Styling */
.award-card {
    background: #f2f2f2;
    border-radius: none;
    overflow: hidden;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: none;
    transition: var(--award-transition);
}

/* .award-card:hover {
    transform: translateY(0);
    box-shadow: none;
} */

.award-image {
    position: relative;
    width: 100%;
    aspect-ratio: 2.8 / 1.2;
    overflow: hidden;
}

.award-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*max-height: 212px;*/
    object-position: top;
}

.award-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    font-weight: 600;
    color: #999;
    background: #f0f2f5;
    font-size: 0.9rem;
}

.award-content {
    padding: 40px 30px 30px 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.award-title {
    color: var(--award-primary);
    font-size: 20px !important;
    margin: 0px 0px 15px 0px !important;
    line-height: 1.4;

}

h3.award-title {
    margin-bottom: 36px;
}

.award-excerpt p {
    margin-bottom: 0px;
}

.award-excerpt {
    font-size: 16px;
    color: #000000;
    line-height: 1.1;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
}

.award-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0px;
}

.award-date {
   font-size: 13px;
    font-weight: 500;
    color: #7E8B9B;
    text-transform: capitalize;
    letter-spacing: 0.5px;
}

.read-more-link {
    color: #0A4480;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.read-more-link:hover {
    color: #0A4480;
}

/*
.read-more-link:hover .read-more-text {
    transform: translateX(3px);
}
*/
.read-more-link .btn-chevron {
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    transition: margin-left 0.2s ease;
    font-weight: bold;
}

.btn-chevron i.icon-right-arrow1 {
    -webkit-text-stroke: 1.5px currentColor;
}

.btn-chevron i {
    font-weight: bold !important;
}
/*
.read-more-link:hover .btn-chevron {
    transform: translateX(-3px);
}
*/

/* Carousel Specific */
.awards-swiper-container {
    padding: 10px 0 60px !important;
    position: relative;
    margin-right: 0 !important;
    width: 100% !important;
    /* Fills the section exactly to the screen edge */
}

@media (max-width: 1032px) {
    .awards-carousel-section {
        margin-right: 0;
        overflow-x: visible;
    }

    .awards-swiper-container {
        margin-right: 0 !important;
        width: 100% !important;
    }
}

/* Fade Overlay for the partially visible 4th card */
.awards-swiper-container::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 0;
    width: 250px;
    height: calc(100% - 150px);
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.9) 80%);
    z-index: 10;
    pointer-events: none;
    transition: var(--award-transition);
}

@media (max-width: 1032px) {
    .awards-swiper-container::after {
        width: 0px;
    }
}

@media (max-width: 640px) {
    .awards-swiper-container::after {
        width: 0px;
    }
}

.swiper-slide {
    height: auto !important;
    /* Allow slides to stretch */
    display: flex;
}

.awards-carousel-nav {
    display: flex;
    justify-content: space-between;
    /* Spread button and arrows */
    align-items: center;
    position: relative;
    margin-top: 40px;
    /* Increased margin for requested gap */
    padding: 0 calc(50vw - 50%) 0 0px;
    /* Keeps nav aligned with content container even if section bleeds to edge */
    padding-right: 60px !important;
}

@media (max-width: 1032px) {

    /*.awards-carousel-nav {
        padding: 0 10px;
    }*/
    .awards-carousel-nav {
        padding-right: 0px !important;
    }
}

/* See All Button Styling */
.see-all-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 25px;
    border: 2px solid var(--award-primary);
    border-radius: 30px;
    color: var(--award-primary);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--award-transition);
}

.see-all-btn:hover {
    background: var(--award-primary);
    color: #fff;
}

.see-all-btn .btn-chevron {
    margin-left: 15px;
    display: inline-flex;
    align-items: center;
    transition: margin-left 0.2s ease;
    font-weight: bold;
}

.see-all-btn:hover .btn-chevron {
    margin-left: 20px;
}

.swiper-navigation-wrapper {
    display: flex;
    gap: 30px;
    position: relative;
    width: 150px;
    height: 30px;
}

.swiper-button-prev,
.swiper-button-next {
    position: static !important;
    width: 60px !important;
    height: 30px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--award-transition);
}

.swiper-button-prev::after,
.swiper-button-next::after {
    display: none !important;
    /* Hide default swiper icons */
}

.swiper-button-prev {
    color: #CBCBCB !important;
    /* Light grey for previous */
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='24' viewBox='0 0 60 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 12H2M2 12L12 2M2 12L12 22' stroke='%23cccccc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
}

.swiper-button-next {
    color: #CBCBCB !important;
    /* Primary color for next */
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='24' viewBox='0 0 60 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12H58M58 12L48 2M58 12L48 22' stroke='%23004a87' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.swiper-button-next:hover {
    opacity: 1;
    z-index: 12;
}

.swiper-button-prev:hover {
    opacity: 1;
    z-index: 12;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='24' viewBox='0 0 60 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 12H2M2 12L12 2M2 12L12 22' stroke='%23004a87' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

}

/* Responsiveness */
@media (max-width: 768px) {
    .awards-section-title {
        font-size: 1.8rem;
    }
}

/* Swiper Pagination - Hidden by default on Desktop/Tablet */
.awards-swiper-container .swiper-pagination {
    display: none;
}

/* Mobile Resolution Styles (<= 500px) */
@media (max-width: 500px) {
    .awards-swiper-container {
        padding-bottom: 60px !important;
    }

    .awards-swiper-container .swiper-pagination {
        display: flex !important;
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        margin: 30px auto 30px !important;
        justify-content: center;
        align-items: center;
        gap: 10px;
        z-index: 11;
        width: auto !important;
    }

    /* Style the bullets */
    .awards-swiper-container .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
        background: #d8d8d8 !important;
        opacity: 1 !important;
        border-radius: 50% !important;
        margin: 0 !important;
        transition: all 0.3s ease !important;
        cursor: pointer;
    }

    /* Style the active bullet (dash) */
    .awards-swiper-container .swiper-pagination-bullet-active {
        width: 32px !important;
        height: 2px !important;
        background: var(--award-primary) !important;
        border-radius: 2px !important;
    }

    /* Hide arrows and center navigation layout */
    .swiper-navigation-wrapper {
        display: none !important;
    }

    .awards-carousel-nav {
        margin-top: 20px !important;
        padding: 0 !important;
        justify-content: center !important;
        display: flex !important;
        width: 100% !important;
    }

    .see-all-container {
        margin: 0 auto !important;
        display: flex !important;
        justify-content: center !important;
        width: auto !important;
    }
}

.map-learn-btn .btn-chevron svg path {
    stroke: #0A52B9;
    transition: stroke 0.3s ease;
}

.map-learn-btn:hover .btn-chevron svg path {
    stroke: #fff;
}

/* ==========================================================================
   Awards Carousel Modal Popup Styles
   ========================================================================== */

/* Modal Popup Overlay */
.awards-carousel-modal {
	display: none;
	position: fixed;
	z-index: 99999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	align-items: center;
	justify-content: center;
	padding: 40px;
	box-sizing: border-box;
	animation: awardsCarouselFadeIn 0.3s ease;
}

@keyframes awardsCarouselFadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Modal Card Details Structure */
.awards-carousel-modal-card {
	background: #fff;
	width: 100%;
	max-width: 88%;
	margin: auto;
	position: relative;
	border-radius: 24px;
	padding: 48px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
	animation: awardsCarouselPopUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	box-sizing: border-box;
	/*min-height:650px;*/
	
}

@keyframes awardsCarouselPopUp {
	from {
		transform: scale(0.95);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

.awards-carousel-modal-body {
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	align-items: flex-start !important;
}

/* Modal Card Text side (Left) */
.awards-carousel-modal-text-side {
	flex: 0.8;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}

.awards-carousel-modal-date {
	font-size: 14px;
	font-weight: 600;
	color: #7E8B9B;
	text-transform: capitalize;
	letter-spacing: 0.5px;
	margin-bottom: 25px;
}

.awards-carousel-modal-title {
	margin: 0;
	font-size: 20px !important;
	font-weight: 800;
	color: var(--award-primary);
	line-height: 22px !important;
	letter-spacing: -1px !important;
}

.awards-carousel-modal-subtitle {
	font-size: 22px;
	font-weight: 600;
	color: var(--award-primary);
	opacity: 0.9;
}

.awards-carousel-modal-description {
	font-size: 16px;
	line-height: 1.6;
	color: #4A5568;
	margin-top: 8px;
}

/* Modal Card Image side (Right) */
.awards-carousel-modal-image-side {
	flex: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.awards-carousel-modal-image {
	max-width: 100%;
	max-height: 500px;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

/* Close & Arrow Navigation Buttons */
.awards-carousel-modal-close {
	position: absolute;
	top: 40px;
	right: 40px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	z-index: 100001;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
}

.awards-carousel-modal-close img {
	width: 24px;
	height: 24px;
	display: block;
}

.awards-carousel-modal-close:hover {
	transform: scale(1.1);
}

.awards-carousel-modal-prev,
.awards-carousel-modal-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: transparent !important;
	border: none !important;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	z-index: 100000;
	padding: 0;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.awards-carousel-modal-prev {
	left: 40px;
}

.awards-carousel-modal-next {
	right: 40px;
}

.awards-carousel-modal-prev:hover,
.awards-carousel-modal-next:hover {
	transform: translateY(-50%) scale(1.1);
}

.awards-carousel-modal-prev img,
.awards-carousel-modal-next img {
	width: 21px;
	height: 38px;
	display: block;
}

/* Responsive Viewports */
@media screen and (max-width: 1200px) {
	.awards-carousel-modal-prev {
		left: 15px;
	}

	.awards-carousel-modal-next {
		right: 15px;
	}
}

@media screen and (max-width: 1032px) {
	/* Pop-up responsive */
	.awards-carousel-modal {
		padding: 20px;
	}

	.awards-carousel-modal-card {
		padding: 40px 24px 24px;
		max-width: 100%;
	}

	.awards-carousel-modal-body {
		flex-direction: column-reverse;
		gap: 32px;
	}

	.awards-carousel-modal-image-side {
		width: 100%;
	}

	.awards-carousel-modal-image {
		max-height: 350px;
	}

	.awards-carousel-modal-text-side {
		width: 100%;
		text-align: center;
		gap: 12px;
	}

	.awards-carousel-modal-title {
		font-size: 26px;
	}

	.awards-carousel-modal-subtitle {
		font-size: 18px;
	}

	/* Hide floating arrows on smaller screens to prevent overlap */
	.awards-carousel-modal-prev,
	.awards-carousel-modal-next {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
    .awards-load-more-btn.map-learn-btn:hover .btn-chevron svg path {
        stroke: #0A52B9 !important;
    }

    .awards-carousel-nav .map-learn-btn:hover .btn-chevron svg path {
        stroke: #0A52B9 !important;
    }
}

@media screen and (max-width: 600px) {
	.awards-carousel-modal-image {
		max-height: 250px;
	}
}