/* Container for the tan background */
.banner-container {
 width: 100%;
 display: flex;
 justify-content: center; /* Centers the content inside the container */
 background-color: #e7e4de; /* Tan background */
border-radius: 8px;
 padding: 40px 0; /* Vertical padding for extra space */
}

/* The content inside the banner with the image and intro text */
.banner-content {
 max-width: 1200px; /* Set a maximum width for the container */
 width: 100%; /* Ensure the content container is responsive */
 padding: 0 20px; /* Horizontal padding */
}

/* Style for the banner image */
.banner-image {
 width: 100%; /* Image takes up full width of its container */
 height: 400px; /* Set a height for the image */
 object-fit: cover; /* Ensure the image maintains its aspect ratio while covering the area */
border-radius: 8px;
}

.page-title {
 text-align: center;
 font-size: 48px !important; 
 color: #322f33;
 text-transform: uppercase;
 font-weight: 900;
 margin-bottom: 10px;
 padding-bottom: 5px;
 display: block;
 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1); /* Subtle text shadow */
 border-bottom: 2px solid #99c7c6; /* Teal line */
 position: relative;
line-height: 1.2;
letter-spacing: 2px;
}

.page-title::after {
 content: "";
 display: block;
 width: 100%; 
 height: 2px;
 background: linear-gradient(to right, #b87c9e, #99c7c6);
 margin: 8px auto 0; /* Add spacing above the line */
}

/*ways to help section */

/* Section Styling */
.ways-to-help {
 text-align: center;
 padding: 50px 20px;
 background-color: #e7e4de; /* Light tan background */
}

.ways-to-help-container {
display: flex;
 flex-wrap: wrap; /* Ensures responsiveness */
 justify-content: center; /* Centers content */
 gap: 20px;
 max-width: 1200px;
 margin: 0 auto;
}

.card {
 position: relative;
 flex: 1;
 min-width: 300px;
 max-width: 380px;
 text-align: center;
 background-size: cover;
 background-position: center center;
 background-repeat: no-repeat;
 border-radius: 10px;
 overflow: hidden;
 padding: 30px 20px; /* Increase padding */
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 5px; /* Ensures consistent spacing */
}

/* Overlay Effect for Readability */
.card::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(0, 0, 0, 0.5); /* Increase darkness for better readability */
 border-radius: 10px;
 z-index: 1;
}

/* Text Styling Inside Cards */

/* Ensure text inside the card stays readable */
.card h3,
.card p,
.card a {
 position: relative;
 z-index: 2;
 color: white !important; /* Force white text */
 text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); /* Stronger shadow for contrast */
}

.card a {
 color: white !important;
 text-decoration: none !important;
}


/* Ensure h3 text is on top of the overlay */
.card h3 {
 position: relative;
 z-index: 2;
 color: white !important; /* Force white text */
 font-size: 24px;
 font-weight: 900;
 text-transform: uppercase;
 letter-spacing: 1px;
 margin-bottom: 5px !important; /* Reduce space between h3 and p */
 text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* Add subtle shadow for better readability */
}



.card p {
 font-size: 16px;
margin-bottom: auto; /* Ensures last paragraph doesn't get pushed down */
margin: 5px 0; /* Reduce margin between paragraphs */
}

/* Improved Button Styling */
.card .button {
 position: relative;
 z-index: 3; /* Ensures it's above everything */
 background-color: #f26741;
 color: white !important;
 font-size: 16px;
 font-weight: bold;
 text-transform: uppercase;
 padding: 12px 24px; /* Slightly more padding for better size */
 border-radius: 8px;
 text-decoration: none;
 text-align: center;
 width: 80%; /* Ensures button width doesn't stretch */
 max-width: 250px; /* Prevents button from being too large */
 margin: auto; /* Centers button */
 margin-top: auto; /* Pushes button down naturally */
 margin-bottom: 20px; /* Adds spacing from the bottom */
 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
 transition: background-color 0.3s ease, transform 0.2s ease;
}


/* Button Hover Effect */
.card .button:hover {
 background-color: #99c7c6;
 transform: translateY(-3px);
}


/*BIKE SWAP DETAILS SECTION */

/* General Section Styling */
.bike-swap-details {
 max-width: 900px;
 margin: 0 auto;
 padding: 50px 20px;
 background: #e7e4de; /* Matches site’s neutral background */
 border-radius: 10px;
 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Section Title */
.section-title {
 text-align: center;
 font-size: 28px;
 font-weight: bold;
 color: #322f33; /* Dark neutral */
 margin-bottom: 20px;
}

/* Detail Sections */
.detail-section {
 background: white;
 padding: 20px;
 margin-bottom: 20px;
 border-radius: 8px;
 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* Subtitles */
.detail-section h3 {
 font-size: 20px;
 font-weight: bold;
 color: #f26741; /* Orange accent */
 border-bottom: 2px solid #99c7c6; /* Teal */
 padding-bottom: 5px;
 margin-bottom: 15px;
}

/* List Styling */
.detail-section ul {
 list-style: none;
 padding-left: 0;
}

.detail-section ul li {
 font-size: 16px;
 line-height: 1.6;
 padding-left: 20px;
 position: relative;
 margin-bottom: 10px;
 color: #322f33;
}

/* Bullet Point Icons */
.detail-section ul li::before {
 content: "•";
 position: absolute;
 left: 0;
 color: #788557; /* Olive tone */
 font-size: 18px;
 font-weight: bold;
}

/* Highlighted Strong Text */
.detail-section strong {
 color: #322f33;
 font-weight: bold;
}

/* Nested Lists */
.detail-section ul ul {
 margin-top: 5px;
}

.detail-section ul ul li {
 font-size: 15px;
 margin-bottom: 5px;
}

.urgent-warning {
 color: red !important;
 font-weight: bold;
}

/* Button Link */
.btn-link {
 display: inline-block;
 background-color: #f26741; /* Orange */
 color: white !important; /* Ensure white text */
 font-size: 14px; /* Reduce font size */
 font-weight: bold;
 text-transform: uppercase;
 padding: 6px 12px; /* Reduce padding */
 border-radius: 6px; /* Slightly rounded corners */
 text-decoration: none !important;
 margin-left: 8px; /* Space between text and button */
 vertical-align: middle; /* Align with surrounding text */
 transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-link:hover {
 background: #99c7c6; /* Teal */
 transform: translateY(-2px);
}

a {
text-decoration: none !important;
}

/*SPONSORS SECTION*/

.sponsors {
 text-align: center;
 padding: 50px 20px;
 background-color: #f8f6f2; /* Soft neutral background */
}

.section-header {
 font-size: 24px;
 font-weight: bold;
 margin-bottom: 30px;
}

.sponsor-container {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 40px; /* Space between logos */
 flex-wrap: wrap; /* Ensures responsiveness */
}

.sponsor img {
 max-width: 200px; /* Keeps logos uniform */
 height: auto;
 display: block;
 margin: 0 auto;
}

.sponsor-name {
 background-color: #333;
 color: white;
 padding: 6px 12px;
 border-radius: 6px;
 font-size: 14px;
 font-weight: bold;
 margin-top: 10px;
 display: inline-block;
}

/* Responsive Design */
@media (max-width: 768px) {
 .ways-to-help-container {
 flex-direction: column;
 align-items: center;
 }

 .card {
 width: 90%;
 }
}

@media (max-width: 768px) {
 .bike-swap-details {
 padding: 30px 10px;
 }

 .section-title {
 font-size: 24px;
 }

 .detail-section {
 padding: 15px;
 }

 .detail-section h3 {
 font-size: 18px;
 }

 .detail-section ul li {
 font-size: 15px;
 }

 .btn-link {
 font-size: 12px;
 padding: 6px 12px;
 }
}

