/* =========================================
   1. GLOBAL STYLES (Reset & Common)
   ========================================= */
body {
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333;
    background-color: #fff;
    line-height: 1.6;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Container Umum */
.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

/* =========================================
   2. NAVBAR (Global)
   ========================================= */
header {
    background-color: #1a1a1a;
    color: #fff;
    padding: 15px 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.navbar .logo {
    font-size: 24px;
    font-weight: 800;
    color: #fff;
}

.navbar .nav-links {
    display: flex;
    gap: 25px;
}

.navbar .nav-links a {
    color: #e0e0e0;
    font-weight: 500;
    transition: color 0.3s;
}

.navbar .nav-links a:hover {
    color: #ff6b00; /* Aksen Oranye */
}

/* =========================================
   3. HOME PAGE STYLES
   ========================================= */
.home-banner {
    position: relative;
    text-align: center;
    color: white;
    overflow: hidden;
}

.home-banner img {
    width: 100%;
    height: 600px; /* Tinggi banner fix biar rapi */
    object-fit: cover;
    filter: brightness(0.6); /* Gelapkan gambar biar teks terbaca */
}

.banner-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

.banner-text h1 {
    font-size: 48px;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.signup-button {
    background-color: #ff6b6b;
    color: white;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
    transition: background 0.3s;
}

.signup-button:hover {
    background-color: #ff4c4c;
}

/* Features Section */
.features {
    display: flex;
    justify-content: center;
    gap: 30px;
    padding: 60px 20px;
    background-color: #f9f9f9;
    flex-wrap: wrap;
}

.feature {
    text-align: center;
    max-width: 300px;
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.feature img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
}

.feature h2 {
    font-size: 20px;
    color: #333;
}

/* Testimonials */
.testimonial-section {
    padding: 60px 20px;
    background-color: #333;
    color: white;
    text-align: center;
}

.testimonial-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 0 auto;
}

.testimonial-text h2 {
    font-size: 36px;
    margin-bottom: 20px;
}

.testimonial-box {
    background-color: white;
    color: #333;
    padding: 30px;
    border-radius: 10px;
    max-width: 350px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.testimonial-box .user-img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-bottom: 15px;
    object-fit: cover;
}

/* Map Section */
.map-section {
    padding: 40px 20px;
    text-align: center;
}

/* =========================================
   4. SPARRING, TIM & LAPANGAN (Unified)
   ========================================= */
/* Header Halaman (seperti "Cari Lawan Bertanding") */
.page-header {
    text-align: center;
    font-size: 28px;
    margin: 40px 0 20px;
    color: #333;
}

/* Search Bar (Gabungan style SPAR & TIM) */
.search-bar {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 60px;
    margin-bottom: 40px;
}

.search-bar input, 
.search-bar select {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    min-width: 200px;
}

.search-bar button, 
.filter-button {
    padding: 10px 20px;
    background-color: #333;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

.search-bar button:hover {
    background-color: #555;
}

/* List Card (Team / Venue) */
.team-list, 
.venue-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
}

.team-card, 
.venue-card {
    background: white;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 20px;
    width: 250px;
    text-align: center;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}

.team-card:hover, 
.venue-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.team-card img, 
.venue-card img {
    width: 100%;
    height: 150px;
    object-fit: contain; /* Agar logo tim tidak gepeng */
    margin-bottom: 15px;
}

.venue-card img {
    object-fit: cover; /* Untuk foto lapangan */
    border-radius: 5px;
}

.team-card button {
    background-color: #333;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
}

/* =========================================
   5. REGISTER FORM
   ========================================= */
.register-container {
    max-width: 500px;
    margin: 50px auto;
    padding: 40px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.register-container h1 {
    text-align: center;
    margin-bottom: 30px;
}

form label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
}

form input[type="text"],
form input[type="email"],
form input[type="date"] {
    width: 100%;
    padding: 12px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box; /* Penting biar padding gak nambah lebar */
}

form input[type="submit"] {
    width: 100%;
    padding: 12px;
    background-color: #ff6b6b;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

form input[type="submit"]:hover {
    background-color: #ff4c4c;
}

/* =========================================
   6. CONFIRMATION PAGES
   ========================================= */
.confirmation-box {
    text-align: center;
    max-width: 600px;
    margin: 50px auto;
    padding: 20px;
}

.venue-details, 
.team-details {
    background-color: #f8f9fa;
    padding: 30px;
    border-radius: 10px;
    margin: 20px 0;
    text-align: center;
}

.venue-details img,
.team-details img.team-logo {
    max-width: 200px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.confirm-button, 
.apply-button {
    background-color: #28a745; /* Hijau sukses */
    color: white;
    padding: 15px 30px;
    font-size: 18px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    margin-top: 20px;
}

.confirm-button:hover,
.apply-button:hover {
    background-color: #218838;
}

.venue-image {
    width: 100%;        
    height: 300px;     
    object-fit: cover; 
    display: block;     
}

.header {
    position: relative;
    max-width: 800px;   
    margin: 0 auto;   
    overflow: hidden;   
    border-radius: 10px; 
}

.header .rating {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
}

.header h1 {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px 20px;
    border-radius: 5px;
    margin: 0;
    font-size: 24px;
}

/* =========================================
   7. MODERN FOOTER (Dari chat sebelumnya)
   ========================================= */
.modern-footer {
    background-color: #1a1a1a;
    color: #b0b0b0;
    padding: 70px 0 25px;
    margin-top: 100px; /* Jarak dari konten atas */
}

.footer-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-content-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 50px;
}

.footer-col {
    flex: 1 1 250px;
}

.footer-logo {
    font-size: 28px;
    font-weight: 800;
    color: #ffffff;
    display: inline-block;
    margin-bottom: 20px;
}

.footer-logo span {
    color: #ff6b00;
}

.footer-heading {
    color: #ffffff;
    font-size: 18px;
    margin-bottom: 25px;
    position: relative;
    display: inline-block;
}

.footer-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 35px;
    height: 3px;
    background-color: #ff6b00;
}

.footer-menu li {
    margin-bottom: 12px;
}

.footer-menu a {
    color: #b0b0b0;
    transition: all 0.3s ease;
}

.footer-menu a:hover {
    color: #ff6b00;
    transform: translateX(5px);
}

.social-icons {
    display: flex;
    gap: 15px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #2a2a2a;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.social-link img {
    width: 18px;
    height: 18px;
    filter: invert(0.8); 
}

.social-link:hover {
    background-color: #ff6b00;
}

.social-link:hover img {
    filter: invert(1) brightness(2);
}

.footer-copyright {
    border-top: 1px solid #2a2a2a;
    padding-top: 25px;
    text-align: center;
    font-size: 14px;
}

@media (max-width: 768px) {
    .footer-content-row {
        flex-direction: column;
        gap: 30px;
    }
    .footer-col {
        text-align: center;
    }
    .footer-heading::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .social-icons {
        justify-content: center;
    }
}