/*
Theme Name: KT Airport Express
Theme URI: https://ktairportexpress.com
Author: iClick Online
Author URI: https://iclickonline.com.au/
Description: A custom WordPress theme for KT Airport Express with Bootstrap integration and responsive design
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kt-airport-express
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, bootstrap, responsive
*/

/* ==========================================
   Custom Theme Styles
   ========================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Epilogue:ital,wght@0,100..900;1,100..900&family=Manrope:wght@200..800&display=swap');

:root {
    --primary-color: #FF6C2C;
    --secondary-color: #333333;
    --text-color: #666666;
    --light-bg: #f8f9fa;
}

body {
    font-family: 'Epilogue', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--text-color);
    line-height: 1.6;
}

/* Header Styles */
.site-header {
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Logo Styles */
.navbar-brand-wrapper {
    flex: 0 0 auto;
}

.navbar-brand {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
    text-decoration: none;
    padding: 0.5rem 0;
}

.custom-logo-link {
    display: inline-block;
}

.custom-logo {
    max-height: 60px;
    width: auto;
    height: auto;
}

/* Navigation Styles */
.navbar {
    padding: 1rem 0;
}

.navbar-nav {
    align-items: center;
}

.navbar-nav .nav-link {
    padding: 0.5rem 1rem;
    color: var(--secondary-color);
    font-weight: 500;
    transition: color 0.3s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--primary-color);
}

.navbar-nav .current-menu-item .nav-link {
    color: var(--primary-color);
}

.navbar-toggler {
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 0.5rem 0.75rem;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25);
}

/* Dropdown menu styles */
.dropdown-menu {
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Header Buttons */
.navbar-buttons {
    gap: 0.75rem;
}

.navbar-buttons .btn {
    padding: 0.725rem 1.75rem 0.625rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.navbar-buttons .btn i {
    margin-right: 0.35rem;
    font-size: 1rem;
}

.navbar-buttons .btn-outline-primary {
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    background-color: transparent;
}

.navbar-buttons .btn-outline-primary:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 108, 44, 0.3);
}

.navbar-buttons .btn-primary {
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
    color: #fff;
    box-shadow: 0 2px 8px rgba(255, 108, 44, 0.3);
}

.navbar-buttons .btn-primary:hover {
    background-color: #e55a1f;
    border-color: #e55a1f;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 108, 44, 0.4);
}

/* Main Content */
.site-main {
    min-height: 60vh;
}

/* Hero Banner Section */
.hero-banner {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 46px;
    overflow: hidden;
    min-height: 880px;
    display: flex;
    align-items: center;
    margin: 2rem auto;
    max-width: 1820px;
}

/* .hero-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.6) 0%, rgba(255,108,44,0.3) 100%);
    z-index: 1;
} */

.hero-banner .container {
    position: relative;
    z-index: 2;
}

.hero-content {
    text-align: center;
    color: #fff;
    max-width: 800px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}

.hero-subtitle {
    font-size: 1.125rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 1.5rem;
    color: #FFD700;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    color: #fff;
}

.hero-description {
    font-size: 1.25rem;
    line-height: 1.8;
    margin-bottom: 2.5rem;
    color: rgba(255, 255, 255, 0.95);
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-buttons .btn {
    padding: 1.1rem 2.5rem 1rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
    min-width: 180px;
}

.hero-buttons .btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.4);
}

.hero-buttons .btn-primary:hover {
    background-color: #e55a1f;
    border-color: #e55a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 108, 44, 0.5);
}

.hero-buttons .btn-outline-light {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff;
}

.hero-buttons .btn-outline-light:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--primary-color);
    transform: translateY(-2px);
}

/* Features/Services Section */
.features-section {
    background: #FFF8F6;
    border-radius: 46px;
    padding: 4rem 2rem;
    margin: 3rem auto;
    max-width: 1820px;
}

.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.section-subtitle {
    color: var(--primary-color);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    margin-bottom: 1rem;
}

.section-title {
    color: #000;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.feature-card {
    background: #fff;
    border-radius: 34px;
    padding: 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    border: none;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 24px rgba(255, 108, 44, 0.15);
}

.feature-icon {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.feature-icon svg {
    width: 95px;
    height: 100px;
}

.feature-card h3 {
    color: #000;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.feature-card p {
    color: #666;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 0;
}

/* Two Column Section */
.two-column-section {
    margin: 3rem auto;
    max-width: 1820px;
    padding: 4rem 1.5rem;
    background-color: #FFF8F6;
  	border-radius: 46px;
}

.two-column-section .row {
    align-items: center;
}

.two-column-image {
    border-radius: 34px;
    overflow: hidden;
}

.two-column-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 34px;
}

.two-column-content {
    padding: 2rem;
}

.two-column-content .section-subtitle {
    text-align: left;
}

.two-column-content h3 {
    color: #000;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1.5rem;
}

.two-column-content .description {
    color: #666;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.feature-items {
    margin-bottom: 2.5rem;
}

.feature-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 3.5rem;
    gap: 1.5rem;
}

.feature-item-icon {
    flex-shrink: 0;
    width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-item-icon svg {
    width: 48px;
    height: 48px;
}

.feature-item-content h4 {
    color: #000;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.feature-item-content p {
    color: #666;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.two-column-content .btn {
    padding: 0.875rem 2.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.two-column-content .btn-primary {
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
    color: #fff;
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.3);
}

.two-column-content .btn-primary:hover {
    background-color: #e55a1f;
    border-color: #e55a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 108, 44, 0.4);
}

/* Full Width Orange Section */
.full-width-orange-section {
    background: var(--primary-color);
    padding: 4rem 2rem;
    margin: 3rem 0;
    width: 100%;
}

.full-width-orange-section .section-subtitle {
    color: #fff;
}

.full-width-orange-section .section-title {
    color: #fff;
}

/* Pricing Table */
.pricing-table-wrapper {
    margin-top: 3rem;
    overflow-x: auto;
}

.pricing-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border-radius: 25px;
    overflow: hidden;
}

.pricing-table thead tr:first-child th {
    background: transparent;
    color: #fff;
    padding: 1.5rem 1rem;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    border: 1px solid #fff;
    border-right: none;
}

.pricing-table thead tr:first-child th:last-child {
    border-right: 1px solid #fff;
}

.pricing-table thead tr:first-child th:first-child {
    border-top-left-radius: 25px;
    border-left: 1px solid #fff;
}

.pricing-table thead tr:first-child th:last-child {
    border-top-right-radius: 25px;
}

.pricing-table tbody tr td {
    padding: 1.5rem 1rem;
    text-align: center;
    font-size: 1rem;
    border-bottom: 1px solid #fff;
    border-right: none;
    border-left: 1px solid #fff;
    color: #FF6C2C;
}

.pricing-table tbody tr td:last-child {
    border-right: 1px solid #fff;
}

.pricing-table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.8);
}

.pricing-table tbody tr:nth-child(odd) td {
    background: #fff;
}

.pricing-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 25px;
}

.pricing-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 25px;
}

.pricing-table tbody tr td:first-child,
.pricing-table thead tr th:first-child {
    background: var(--primary-color);
    color: #fff;
    font-weight: 700;
    text-align: center;
    font-size: 15px;
}

.pricing-table thead tr th:first-child {
    background: transparent;
}

/* Second Row with Two Column Table */
.second-row-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border-radius: 25px;
    overflow: hidden;
}

.second-row-table thead tr th {
    background: transparent;
    color: #fff;
    padding: 1rem;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    border: 1px solid #fff;
    border-right: none;
}

.second-row-table thead tr th:last-child {
    border-right: 1px solid #fff;
}

.second-row-table thead tr:first-child th:first-child {
    border-top-left-radius: 25px;
    border-left: 1px solid #fff;
}

.second-row-table thead tr:first-child th:last-child {
    border-top-right-radius: 25px;
}

.second-row-table tbody tr td {
    padding: 1.5rem 1rem;
    text-align: center;
    font-size: 1rem;
    border-bottom: 1px solid #fff;
    border-right: none;
    border-left: 1px solid #fff;
    color: #FF6C2C;
}

.second-row-table tbody tr td:last-child {
    border-right: 1px solid #fff;
}

.second-row-table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.8);
}

.second-row-table tbody tr:nth-child(odd) td {
    background: #fff;
}

.second-row-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 25px;
}

.second-row-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 25px;
}

.second-row-table tbody tr td:first-child,
.second-row-table thead tr th:first-child {
    background: var(--primary-color);
    color: #fff;
    font-weight: 700;
    text-align: center;
}

.second-row-table thead tr th:first-child {
    background: transparent;
}

/* Testimonial Section */
.testimonial-section {
    padding: 4rem 2rem;
    margin: 3rem auto;
    max-width: 1820px;
}

.testimonial-section .section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.testimonial-card {
    background: #fff;
    border-radius: 32px;
    padding: 2.5rem 2rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    height: 100%;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(255, 108, 44, 0.2);
}

.star-rating {
    color: #FF6C2C;
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
}

.star-rating i {
    margin-right: 0.25rem;
}

.testimonial-text {
    color: #666;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.author-image {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.author-info h4 {
    color: #000;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.author-info p {
    color: #616161;
    font-size: 0.9375rem;
    margin-bottom: 0;
}

/* FAQ Section */
.faq-section {
    background: #FFF8F6;
    border-radius: 46px;
    padding: 4rem 2rem;
    margin: 3rem auto;
    max-width: 1820px;
}

.faq-section .row {
    align-items: center;
}

.faq-image {
    border-radius: 34px;
    overflow: hidden;
}

.faq-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 34px;
}

.faq-content .section-subtitle {
    text-align: left;
    color: var(--primary-color);
}

.faq-content h2 {
    color: #000;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 2rem;
}

.faq-accordion .accordion-item {
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 0;
}

.faq-accordion .accordion-item:last-child {
    border-bottom: none;
}

.faq-accordion .accordion-button {
    background: transparent;
    color: #000;
    font-size: 1.125rem;
    font-weight: 600;
    padding: 1.5rem 0;
    border: none;
    box-shadow: none;
    position: relative;
}

.faq-accordion .accordion-button:not(.collapsed) {
    background: transparent;
    color: var(--primary-color);
}

.faq-accordion .accordion-button::after {
    background-image: none;
    content: "\F285";
    font-family: "bootstrap-icons";
    font-size: 1.25rem;
    color: var(--primary-color);
    transition: transform 0.3s ease;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
    transform: rotate(90deg);
}

.faq-accordion .accordion-body {
    padding: 0 0 1.5rem 0;
    color: #666;
    font-size: 1rem;
    line-height: 1.8;
}

.faq-accordion .accordion-collapse {
    border: none;
}

/* CTA Section */
.cta-section {
    background: #004078;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgyMCIgaGVpZ2h0PSI1MjkiIHZpZXdCb3g9IjAgMCAxODIwIDUyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE4MjAiIGhlaWdodD0iNTI5IiByeD0iNDYiIGZpbGw9IiMwMDQwNzgiLz4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzJfMTQwNikiPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDFfMl8xNDA2KSI+CjxtYXNrIGlkPSJtYXNrMF8yXzE0MDYiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIxMyIgeT0iLTI5NyIgd2lkdGg9IjE3NTUiIGhlaWdodD0iODkyIj4KPHBhdGggZD0iTTE3NjcuMjIgLTI5Ni42MTJIMTMuMTMyNlY1OTQuNDA0SDE3NjcuMjJWLTI5Ni42MTJaIiBmaWxsPSJ3aGl0ZSIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazBfMl8xNDA2KSI+CjxwYXRoIGQ9Ik0xNzY4Ljk1IDcxMS4yMDNIMTQuNTg2NFYtNDEzLjQxSDE3NjguOTVWNzExLjIwM1pNMTYuODU0IDcwOC44ODNIMTY2Ni42OFYtNDExLjA5SDE2Ljg1NFY3MDguODgzWiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTc2Ny44MSA0ODQuNDIzSDE1LjcyVjQ4Ni43NDNIMTc2Ny44MVY0ODQuNDIzWiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTc2Ny44MSA0MjguMzA5SDE1LjcyVjQzMC42MjlIMTc2Ny44MVY0MjguMzA5WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTc2Ny44MSAzNzIuMTk1SDE1LjcyVjM3NC41MTVIMTc2Ny44MVYzNzIuMTk1WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTc2Ny44MSAzMTYuMDhIMTUuNzJWMzE4LjRIMTc2Ny44MVYzMTYuMDhaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNzY3LjgxIDI1OS45NjVIMTUuNzJWMjYyLjI4NkgxNzY3LjgxVjI1OS45NjVaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNzY3LjgxIDIwMy44NUgxNS43MlYyMDYuMTdIMTc2Ny44MVYyMDMuODVaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNzY3LjgxIDE0Ny43MzZIMTUuNzJWMTUwLjA1NkgxNzY3LjgxVjE0Ny43MzZaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNzY3LjgxIDkxLjYyMjFIMTUuNzJWOTMuOTQyNUgxNzY3LjgxVjkxLjYyMjFaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNzY3LjgxIDM1LjUwNTlIMTUuNzJWMzcuODI2MkgxNzY3LjgxVjM1LjUwNTlaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNzE2Ljc2IDAuMzk2NDg0SDE3MTQuMTVWNTI2Ljk2OEgxNzE2Ljc2VjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTY1NS42MyAwLjM5NjQ4NEgxNjUzLjAyVjUyNi45NjhIMTY1NS42M1YwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTE1OTQuNDkgMC4zOTY0ODRIMTU5MS44OFY1MjYuOTY4SDE1OTQuNDlWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xNTMzLjM3IDAuMzk2NDg0SDE1MzAuNzZWNTI2Ljk2OEgxNTMzLjM3VjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTQ3Mi4yNCAwLjM5NjQ4NEgxNDY5LjYzVjUyNi45NjhIMTQ3Mi4yNFYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTE0MTEuMSAwLjM5NjQ4NEgxNDA4LjQ5VjUyNi45NjhIMTQxMS4xVjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTM0OS45NyAwLjM5NjQ4NEgxMzQ3LjM2VjUyNi45NjhIMTM0OS45N1YwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTEyODguODMgMC4zOTY0ODRIMTI4Ni4yMlY1MjYuOTY4SDEyODguODNWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xMjI3LjcxIDAuMzk2NDg0SDEyMjUuMVY1MjYuOTY4SDEyMjcuNzFWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xMTY2LjU3IDAuMzk2NDg0SDExNjMuOTZWNTI2Ljk2OEgxMTY2LjU3VjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMTEwNS40NCAwLjM5NjQ4NEgxMTAyLjgzVjUyNi45NjhIMTEwNS40NFYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTEwNDQuMzEgMC4zOTY0ODRIMTA0MS43VjUyNi45NjhIMTA0NC4zMVYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTk4My4xNzggMC4zOTY0ODRIOTgwLjU2OFY1MjYuOTY4SDk4My4xNzhWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik05MjIuMDQ3IDAuMzk1OTk2SDkxOS40MzZWNTI2Ljk2N0g5MjIuMDQ3VjAuMzk1OTk2WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNODYwLjkxNSAwLjM5NjQ4NEg4NTguMzA0VjUyNi45NjhIODYwLjkxNVYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTc5OS43ODMgMC4zOTY0ODRIOTc3LjE3M1Y1MjYuOTY4SDc5OS43ODNWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik03MzguNjUxIDAuMzk2NDg0SDczNi4wNFY1MjYuOTY4SDczOC42NTFWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik02NzcuNTE5IDAuMzk2NDg0SDY3NC45MDlWNTI2Ljk2OEg2NzcuNTE5VjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNNjE2LjM4NiAwLjM5NjQ4NEg2MTMuNzc2VjUyNi45NjhINjE2LjM4NlYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTU1NS4yNTQgMC4zOTY0ODRINTUyLjY0M1Y1MjYuOTY4SDU1NS4yNTRWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik00OTQuMTIzIDAuMzk2NDg0SDQ5MS41MTJWNTI2Ljk2OEg0OTQuMTIzVjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNNDMyLjk5MSAwLjM5NjQ4NEg0MzAuMzgxVjUyNi45NjhINDMyLjk5MVYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTM3MS44NTkgMC4zOTY0ODRIMzY5LjI0OVY1MjYuOTY4SDM3MS44NTlWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0zMTAuNzI3IDAuMzk2NDg0SDMwOC4xMTdWNTI2Ljk2OEgzMTAuNzI3VjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNMjQ5LjU5NSAwLjM5NjQ4NEgyNDYuOTg0VjUyNi45NjhIMjQ5LjU5NVYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZD0iTTE4OC40NjQgMC4zOTY0ODRIMTg1Ljg1M1Y1MjYuOTY4SDE4OC40NjRWMC4zOTY0ODRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGQ9Ik0xMjcuMzMyIDAuMzk2NDg0SDEyNC43MjJWNTI2Ljk2OEgxMjcuMzMyVjAuMzk2NDg0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBkPSJNNjYuMTk4NSAwLjM5NjQ4NEg2My41ODgzVjUyNi45NjhINjYuMTk4NVYwLjM5NjQ4NFoiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPC9nPgo8L2c+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMl8xNDA2Ij4KPHJlY3Qgd2lkdGg9IjE3ODEiIGhlaWdodD0iNTI5IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8Y2xpcFBhdGggaWQ9ImNsaXAxXzJfMTQwNiI+CjxyZWN0IHdpZHRoPSIxNzUzLjM4IiBoZWlnaHQ9IjUyOS4xOSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjMwODYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==');
    background-size: cover;
    background-position: center;
    border-radius: 46px;
    padding: 1rem 2rem;
    margin: 3rem auto;
    max-width: 1820px;
    overflow: hidden;
}

.cta-section .row {
    align-items: center;
}

.cta-content h2 {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1.5rem;
}

.cta-content p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.125rem;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.cta-content .btn {
    padding: 1.1rem 2.5rem 1rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.cta-content .btn-primary {
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
    color: #fff;
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.4);
}

.cta-content .btn-primary:hover {
    background-color: #e55a1f;
    border-color: #e55a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 108, 44, 0.5);
}

.cta-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
}

/* Contact Div Styles */
.contact-div {
    background: #ffffff;
    border-radius: 20px;
    padding: 0 2rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.contact-div-image {
    margin-bottom: 2rem;
}

.contact-div-image img {
    width: 540px;
    max-width: 100%;
    height: auto;
    border-radius: 15px;
    margin-top: -50px;
}

.contact-div h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 1rem;
}

.contact-div p {
    font-size: 14px;
    color: #616161;
    line-height: 1.6;
    text-align: justify;
}

.contact-div .btn {
    padding: 1rem 2.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
    min-width: 180px;
}

.contact-div .btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.4);
}

.contact-div .btn-primary:hover {
    background-color: #e55a1f;
    border-color: #e55a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 108, 44, 0.5);
}

/* Pricing Tabs Section */
.pricing-tabs-section {
    padding: 4rem 0;
}

.pricing-tabs-section .section-header {
    margin-bottom: 3rem;
}

.pricing-tabs-wrapper {
    max-width: 900px;
    margin: 0 auto 3rem;
}

.pricing-tabs-row {
    margin-bottom: 0;
}

.pricing-tab-btn {
    width: 100%;
    border: none;
    background: rgba(255, 108, 44, 0.10);
    color: #FF6C2C;
    padding: 2rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 1.25rem;
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pricing-tab-btn:hover {
    background: rgba(255, 108, 44, 0.20);
}

.pricing-tab-btn.active {
    background: #FF6C2C;
    color: #fff;
}

.pricing-rows {
    max-width: 900px;
    margin: 0 auto;
}

.pricing-row {
    margin-bottom: 1.5rem;
}

.pricing-row small {
    color: #FF6C2C;
    font-weight: 600;
    font-size: 1rem;
}

.pricing-box-outline,
.pricing-box-filled {
    border-radius: 20px;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.pricing-box-outline {
    border: 1px solid #FF6C2C;
    background: transparent;
}

.pricing-box-filled {
    background: #FF6C2C;
    color: #fff;
}

.pricing-info {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    gap: 1rem;
}

.pricing-info.icon-with-text {
    flex-direction: row;
    align-items: center
}

.pricing-info.icon-with-text .icon-text-content{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    gap: 1rem;
}

.pricing-info svg {
    width: 45px;
    height: auto;
    flex-shrink: 0;
}

.pricing-info h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
    color: inherit;
    flex: 1;
}

.pricing-box-outline .pricing-info h4 {
    color: #000;
}

.pricing-box-filled .pricing-info h4 {
    color: #fff;
}

.pricing-info h2 {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    color: inherit;
}

.pricing-box-outline .pricing-info h2 {
    color: #FF6C2C;
}

.pricing-box-filled .pricing-info h2 {
    color: #fff;
}

.pricing-box-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 3px dashed #03437d;
    border-radius: 20px;
    background: transparent;
    color: #03437d;
    font-size: 29px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 1rem;
    text-align: center;
}

.pricing-box-button:hover {
    background: #03437d;
    color: #fff;
    border-style: solid;
    box-shadow: 0 6px 20px rgba(255, 108, 44, 0.4);
}

@media (max-width: 767px) {
    .pricing-nav-tabs .nav-link {
        padding: 0.75rem 2rem;
        font-size: 1rem;
    }

    .pricing-info {
        gap: 1rem;
    }

    .pricing-info h4 {
        font-size: 1.1rem;
    }

    .pricing-info h2 {
        font-size: 1.5rem;
    }
}

/* Footer Styles */
.site-footer {
    background: transparent;
    padding: 0;
    margin: 1rem 0;
    position: relative;
}

.footer-content {
    background: #000000;
    border-radius: 40px;
    padding: 4rem 3rem 2rem;
    color: #fff;
    position: relative;
}

.footer-content::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url('images/footer_fill.png');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-radius: 40px 40px 0 0;
    pointer-events: none;
}

.footer-main {
    margin-bottom: 3rem;
    max-width: 1320px;
    margin: auto;
}

/* Footer Logo Section */
.footer-logo-link {
    display: inline-block;
    margin-bottom: 1rem;
}

.footer-logo {
    max-height: 60px;
    width: auto;
    height: auto;
}

.footer-logo-section .custom-logo-link img {
    max-height: 60px;
    width: auto;
    margin-bottom: 1rem;
}

.footer-logo-text {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.footer-description {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Footer Menu Styles */
.footer-menu-title {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-list li {
    margin-bottom: 0.75rem;
}

.footer-menu-list li a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}

.footer-menu-list li a:hover {
    color: var(--primary-color);
}

/* Newsletter Section */
.newsletter-description {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.newsletter-input-group {
    display: flex;
    gap: 0.5rem;
}

.newsletter-input-group .form-control {
    flex: 1;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 0.75rem 1rem;
    border-radius: 8px;
}

.newsletter-input-group .form-control::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.newsletter-input-group .form-control:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--primary-color);
    outline: none;
    color: #fff;
}

.newsletter-input-group .btn {
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 2rem;
    margin-top: 2rem;
    max-width: 1320px;
    margin: auto;
}

.copyright-text {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
}

.copyright-text a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.copyright-text a:hover {
    color: var(--primary-color);
}

/* Social Media Icons */
.social-media-icons {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
}

.social-media-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid #ffffff;
}

.social-media-icons a i {
    margin-top: 4px;
}

.social-media-icons a:hover {
    background: var(--primary-color);
    color: #fff;
    transform: translateY(-3px);
}

/* Contact Form 7 Styles */
.wpcf7-form p {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0;
}

.wpcf7-form-control-wrap {
    flex: 1;
}

.wpcf7-form input[type="email"],
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    background: rgba(97, 97, 97, 0.20);
    border: 1px solid rgba(97, 97, 97, 0.3);
    color: #fff;
    padding: 0.75rem 1.25rem;
    border-radius: 50px;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.wpcf7-form input[type="email"]::placeholder,
.wpcf7-form input[type="text"]::placeholder,
.wpcf7-form input[type="tel"]::placeholder,
.wpcf7-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
    background: rgba(97, 97, 97, 0.3);
    border-color: var(--primary-color);
    outline: none;
}

.wpcf7-form button[type="submit"] {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #FF6C2C;
    border: none;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    flex-shrink: 0;
}

.wpcf7-form button[type="submit"]:hover {
    background-color: #e55a1f;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.4);
}

.wpcf7-form button[type="submit"] i {
    display: none;
}

.wpcf7-form button[type="submit"]::before {
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.7147 8.84151V7.50464C6.74508 6.92735 7.20084 6.4716 7.74774 6.4716L19.5669 6.44122C20.1442 6.4716 20.6 6.92735 20.6 7.47426V19.3238C20.6 19.8707 20.1442 20.3265 19.5669 20.3569H18.23C17.6528 20.3265 17.197 19.8707 17.1666 19.2934L17.3489 12.1229L8.62886 20.843C8.20349 21.2684 7.59582 21.2684 7.17045 20.843L6.19818 19.8707C5.80319 19.4757 5.77281 18.8377 6.19818 18.4123L14.9182 9.69225L7.77812 9.90494C7.20084 9.87455 6.7147 9.44918 6.7147 8.84151Z' fill='white'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.wpcf7-response-output {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
}

.wpcf7-not-valid-tip {
    color: #ff6b6b;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }
}

@media (max-width: 767px) {
    .footer-content {
        padding: 3rem 2rem 1.5rem;
        border-radius: 30px;
    }

    .social-media-icons {
        justify-content: center;
        margin-top: 1rem;
    }

    .copyright-text {
        text-align: center;
    }
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .navbar-collapse {
        background: #fff;
        padding: 1.5rem;
        margin-top: 1rem;
        border-radius: 0.5rem;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    /* Center menu items in mobile */
    .navbar-nav {
        margin: 0.5rem 0 1rem 0;
    }

    .navbar-nav .nav-link {
        padding: 0.75rem 0;
        border-bottom: 1px solid #f0f0f0;
    }

    /* Mobile buttons - stack vertically */
    .navbar-buttons {
        flex-direction: column;
        width: 100%;
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid #f0f0f0;
    }

    .navbar-buttons .btn {
        width: 100%;
        margin: 0.25rem 0 !important;
    }

    .dropdown-menu {
        box-shadow: none;
        border-left: 3px solid var(--primary-color);
        margin-left: 1rem;
    }
}

@media (max-width: 768px) {
    .footer-menu {
        margin-bottom: 2rem;
    }

    .custom-logo {
        max-height: 50px;
    }

    .navbar-brand {
        font-size: 1.25rem;
    }

    /* Hero Banner Mobile */
    .hero-banner {
        min-height: 600px;
        border-radius: 20px;
    }

    .hero-title {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 0.875rem;
    }

    .hero-description {
        font-size: 1rem;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-buttons .btn {
        width: 100%;
        min-width: auto;
    }

    /* Features Section Mobile */
    .features-section {
        border-radius: 20px;
        padding: 3rem 1.5rem;
    }

    .section-title {
        font-size: 1.75rem;
    }

    .section-subtitle {
        font-size: 0.875rem;
    }

    .feature-card {
        margin-bottom: 1.5rem;
    }

    /* Two Column Section Mobile */
    .two-column-section {
        margin: 2rem 1rem;
    }

    .two-column-content {
        padding: 2rem 0;
    }

    .two-column-content h3 {
        font-size: 1.5rem;
    }
}

/* Utility Classes */
.text-primary-custom {
    color: var(--primary-color);
}

.bg-light-custom {
    background-color: var(--light-bg);
}

/* Other Pages Common Header */
.hero-page-banner {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 46px;
    overflow: hidden;
    display: flex;
    align-items: center;
    margin: 2rem auto;
    padding: 4rem 2rem;
    max-width: 1820px;
}

.hero-page-overlay {
    background-color: #FF6C2C;
    border-radius: 25px;
    padding: 30px;
}

.page-body-title {
	color: #040401;
  	text-align: center;
  	font-weight: 700;
}

@media (max-width: 1820px) {
    .hero-page-banner {
        margin: 1rem;
    }
}

@media (min-width: 1200px) {
    .banner-page-image {
        margin-left: -150px;
    }
    .hero-page-overlay {
        padding: 52px 250px 52px 80px;
    }
}

/* ==========================================
   Schedule Tabs Section Styles
   ========================================== */

.schedule-tabs-section {
    padding: 4rem 0;
  	background: #FFF8F6;
    border-radius: 46px;
    padding: 4rem 2rem;
    margin: 3rem auto;
    max-width: 1820px;
}

.schedule-section-header {
    margin-bottom: 3rem;
}

.schedule-section-subtitle {
    color: var(--primary-color);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    margin-bottom: 1rem;
}

.schedule-section-subtitle svg {
    width: 18px;
    height: 18px;
}

.schedule-section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 0;
}

.schedule-tabs-nav-wrapper {
    max-width: 900px;
    margin: 0 auto 3rem;
}

.schedule-tabs-nav-row {
    margin-bottom: 0;
}

.schedule-tab-btn {
    width: 100%;
    border: none;
    background: rgba(255, 108, 44, 0.10);
    color: #FF6C2C;
    padding: 2rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 1.25rem;
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.schedule-tab-btn:hover {
    background: rgba(255, 108, 44, 0.20);
}

.schedule-tab-btn.active {
    background: #FF6C2C;
    color: #fff;
}

.schedule-tab-content {
    max-width: 1200px;
    margin: 0 auto;
}

.schedule-tab-pane {
    display: none;
}

.schedule-tab-pane.show {
    display: block;
}

.schedule-table-wrapper {
    overflow-x: auto;
    margin: 2rem 0;
    border-radius: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.schedule-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    min-width: 800px;
}

.schedule-table thead {
    background: var(--primary-color);
    color: #fff;
}

.schedule-table thead th {
    padding: 2rem 1rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-right: 1px solid #ffffff;
}

.schedule-table thead th:last-child {
    border-right: none;
}

.schedule-table tbody tr {
    border-bottom: 1px solid #FF6C2C;
}

.schedule-table tbody tr:nth-child(odd) td {
    background: #fff;
}

.schedule-table tbody tr:nth-child(even) td {
    background: rgba(255, 108, 44, 0.10);
}

.schedule-table tbody tr:last-child {
    border-bottom: none;
}

.schedule-table tbody tr:hover {
    background: #f8f9fa;
}

.schedule-table tbody td {
    padding: 2rem 1rem;
    text-align: center;
    color: #666;
    font-size: 0.9375rem;
    border-right: 1px solid #FF6C2C;
}

.schedule-table tbody td:last-child {
    border-right: none;
}

@media (max-width: 991px) {
    .schedule-section-title {
        font-size: 2rem;
    }

    .schedule-tab-btn {
        padding: 1.5rem;
        font-size: 1.1rem;
        min-height: 80px;
    }
}

@media (max-width: 767px) {
    .schedule-section-title {
        font-size: 1.75rem;
    }

    .schedule-tab-btn {
        padding: 1.25rem;
        font-size: 1rem;
        min-height: 70px;
    }

    .schedule-table thead th,
    .schedule-table tbody td {
        padding: 0.75rem 0.5rem;
        font-size: 0.8125rem;
    }
}

/* ================================
   Contact Us Section Styles
   ================================ */

.page-template-page-contact {
	background: #f8f9fa;
}

.contact-us-section {
  	background: #ffffff;
    border-radius: 15px;
    padding: 15px;
    margin: 3rem auto;
    max-width: 1820px;
}

.contact-us-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.contact-us-row {
    margin: 0 -15px;
}

/* Contact Info Box (Orange Column) */
.contact-info-box {
    background-color: #FF6C2C;
    border-radius: 15px;
    padding: 3rem 2rem;
    color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
  	position: relative;
}

.contact-info-box::after {
    content: '';
    position: absolute;
  	display: block;
  	background-image: url("/wp-content/themes/kt-airport-express/images/contact_box_img.png");
    bottom: 0;
    right: 0;
    width: 315px;
    height: 315px;
  	background-size: contain;
    background-repeat: no-repeat;
}

.contact-info-items {
	margin-top: 10%;
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
  	margin-bottom: 5%;
}

.contact-info-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-info-icon svg {
    width: 24px;
    height: 24px;
    fill: #fff;
}

.contact-info-content h4 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #fff;
}

.contact-info-content p,
.contact-info-content a {
    font-size: 1rem;
    margin: 0;
    color: #fff;
    text-decoration: none;
}

.contact-info-content a:hover {
    text-decoration: underline;
}

/* Social Icons in Contact Info Box */
.contact-social-icons {
    display: flex;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
}

.contact-social-icon {
    width: 45px;
    height: 45px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.contact-social-icon:hover {
    transform: translateY(-3px);
}

.contact-social-icon svg {
    width: 20px;
    height: 20px;
    fill: #FF6C2C;
}

/* Contact Form Box (White Column) */
.contact-form-box {
    background-color: #fff;
    border-radius: 15px;
    padding: 3rem 2rem;
}

.contact-form-box .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-form-box .wpcf7-form label {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    color: #000;
    margin-bottom: 0.5rem;
  	width: 100%;
}

.contact-form-box .wpcf7-form input[type="text"],
.contact-form-box .wpcf7-form input[type="email"],
.contact-form-box .wpcf7-form input[type="tel"],
.contact-form-box .wpcf7-form input[type="number"],
.contact-form-box .wpcf7-form textarea {
    width: 100%;
    padding: 0.75rem 0;
    font-size: 1rem;
    color: #000;
    background: transparent;
    border: none;
    border-bottom: 1px solid #8D8D8D;
    outline: none;
    transition: border-color 0.3s ease;
  	border-radius: 0;
}

.contact-form-box .wpcf7-form input[type="text"]:focus,
.contact-form-box .wpcf7-form input[type="email"]:focus,
.contact-form-box .wpcf7-form input[type="tel"]:focus,
.contact-form-box .wpcf7-form textarea:focus {
    border-bottom-color: #FF6C2C;
}

.contact-form-box .wpcf7-form textarea {
    resize: vertical;
    min-height: 100px;
}

.contact-form-box .wpcf7-form input::placeholder,
.contact-form-box .wpcf7-form textarea::placeholder {
    color: #8D8D8D;
}

/* Custom Checkbox Styling */
.contact-form-box .wpcf7-form .wpcf7-checkbox {
    display: flex;
  	gap: 10px;
  	margin-top: 20px;
}

.contact-form-box .wpcf7-form .wpcf7-list-item {
    margin: 0;
}

.contact-form-box .wpcf7-form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #E0E0E0;
    cursor: pointer;
    position: relative;
    margin-right: 0.5rem;
    vertical-align: middle;
    transition: background-color 0.3s ease;
}

.contact-form-box .wpcf7-form input[type="checkbox"]:checked {
    background-color: #000;
}

.contact-form-box .wpcf7-form input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -60%) rotate(45deg);
}

.contact-form-box .wpcf7-form .wpcf7-list-item-label {
    color: #000;
    font-size: 0.9375rem;
}

/* Submit Button */
.contact-form-box .wpcf7-form button[type="submit"],
.contact-form-box .wpcf7-form input[type="submit"] {
    background-color: #FF6C2C;
    color: #fff;
    border: none;
    border-radius: 50px;
    padding: 1rem 3rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: flex-start;
}

.contact-form-box .wpcf7-form button[type="submit"]:hover,
.contact-form-box .wpcf7-form input[type="submit"]:hover {
    background-color: #e55a1f;
    transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 991px) {
    .contact-info-box,
    .contact-form-box {
        padding: 2rem 1.5rem;
        margin-bottom: 2rem;
    }
}

@media (max-width: 767px) {
    .contact-info-box,
    .contact-form-box {
        padding: 1.5rem 1rem;
    }

    .contact-info-item {
        gap: 0.75rem;
    }

    .contact-info-icon {
        width: 35px;
        height: 35px;
    }

    .contact-info-icon svg {
        width: 20px;
        height: 20px;
    }

    .contact-social-icon {
        width: 40px;
        height: 40px;
    }

    .contact-social-icon svg {
        width: 18px;
        height: 18px;
    }
    .contact-form-box .wpcf7-form .wpcf7-checkbox {
		flex-direction: column;
    }
}

/* ================================
   Pickup & Drop-off Locations Section Styles
   ================================ */

.locations-section {
    padding: 4rem 0 2rem;
    background: #FFF0EA;
    margin: 2rem auto;
    max-width: 1623px;
    border-radius: 15px;
    border: 1px solid #FF6C2C;
}

.locations-container {
    margin: 0 auto;
    padding: 0 15px;
}

.locations-section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.locations-section-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: var(--primary-color);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem;
}

.locations-section-subtitle svg {
    width: 20px;
    height: 20px;
    fill: var(--primary-color);
}

.locations-section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 0;
    line-height: 1.2;
}

.locations-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.location-item {
    padding: 0 28px;
    margin-bottom: 2rem;
}

/* Center last row if it has only 2 items (10 total locations: 3+3+3+1 in last row on desktop) */
@media (min-width: 992px) {
    .locations-grid {
        justify-content: flex-start;
    }

    /* Target the 10th item (last item in row with only 1 card) */
    .location-item:nth-child(10):nth-last-child(1) {
        margin-left: auto;
        margin-right: auto;
    }
}

.location-card {
    background-color: #fff;
    border-radius: 15px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.location-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.location-description {
    font-size: 0.9375rem;
    color: #666;
    margin-bottom: 1.25rem;
    line-height: 1.6;
    flex-grow: 1;
}

.location-map {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #FF6C2C;
}

.location-map iframe {
    display: block;
    width: 100%;
    height: 200px;
    border-radius: 8px;
}

.view-map-btn {
    display: inline-block;
    width: 100%;
    text-align: center;
    background-color: #FF6C2C;
    color: #fff;
    padding: 0.75rem 1rem;
    text-decoration: none;
    font-size: 0.9375rem;
    font-weight: 600;
    transition: background-color 0.3s ease;
    border: none;
    cursor: pointer;
}

.view-map-btn:hover {
    background-color: #e55a1f;
    color: #fff;
    text-decoration: none;
}


/* Responsive Design */
@media (min-width: 991px) {
    .locations-container {
        padding: 0 50px;
    }
}

@media (max-width: 991px) {
    .locations-section-title {
        font-size: 2rem;
    }

    .location-item {
        margin-bottom: 1.75rem;
    }
}

@media (max-width: 767px) {
    .locations-section {
        padding: 3rem 0;
    }

    .locations-section-header {
        margin-bottom: 2rem;
    }

    .locations-section-title {
        font-size: 1.75rem;
    }

    .location-card {
        padding: 1.25rem;
    }

    .location-title {
        font-size: 1.125rem;
    }

    .location-description {
        font-size: 0.875rem;
        margin-bottom: 1rem;
    }

    .location-map iframe {
        height: 180px;
    }

    .view-map-btn {
        padding: 0.625rem 0.875rem;
        font-size: 0.875rem;
    }

    .location-item {
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 1820px) {
    .hero-banner {
        margin: 1rem;
    }

    .cta-section,
    .faq-section,
    .features-section,
  	.schedule-tabs-section,
  	.contact-us-section,
  	.locations-section {
        margin: 2rem 1rem;
    }
}