/*
Theme Name: BahToba
Version:1.0
*/

        /* --- RESET & VARIABLE BERWARNA BIIRU MUDA --- */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            scroll-behavior: smooth;
        }

        :root {
            --primary-color: #e0f2fe; /* Biru muda */
            --accent-color: #0284c7;  /* Biru langit aksen */
            --dark-color: #0f172a;    /* Biru gelap */
            --light-bg: #f8fafc;     
            --card-bg: #ffffff;
            
            /* Menggunakan Font Pilihan Anda */
            --font-heading: 'Syne', sans-serif;
            --font-body: 'DM Sans', sans-serif;
        }

        body {
            background-color: var(--light-bg);
            color: var(--dark-color);
            font-family: var(--font-body);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }

        h1, h2, h3, h4, .logo, .tab-label {
            font-family: var(--font-heading);
        }

        /* --- NAVBAR --- */
        .navbar {
            background-color: rgba(224, 242, 254, 0.9); 
            backdrop-filter: blur(12px); 
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1.2rem 5%;
            box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
        }

        .navbar .logo {
            font-size: 1.8rem;
            font-weight: 800;
            color: var(--accent-color);
            text-decoration: none;
        }

        .nav-links {
            list-style: none;
            display: flex;
            gap: 2.5rem;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--dark-color);
            font-weight: 700;
            font-size: 0.95rem;
            transition: color 0.3s;
        }

        .nav-links a:hover {
            color: var(--accent-color);
        }

        /* --- LAYOUT SEKSI --- */
        section {
            padding: 7rem 5% 4rem 5%;
            min-height: 60vh;
        }

        .section-title {
            text-align: center;
            margin-bottom: 2.5rem;
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--dark-color);
        }

        .section-title::after {
            content: '';
            display: block;
            width: 80px;
            height: 5px;
            background-color: var(--accent-color);
            margin: 12px auto 0 auto;
            border-radius: 10px;
        }

        .subsection-title {
    grid-column: 1 / -1;
    text-align:center;
    margin:40px 0 25px;
    font-size:2rem;
    font-weight:700;
    color:var(--dark-color);
    border-left:none;
    padding-left:0;
    position:relative;
}
.subsection-title::after{
content:"";
display:block;
width:70px;height:4px;
background:var(--accent-color);
margin:12px auto 0;
border-radius:20px;
}

        /* --- TAB VIDEO SYSTEM (CSS MURNI) --- */
        .video-tabs-container {
            max-width: 900px;
            margin: 3rem auto 0 auto;
            background: var(--card-bg);
            padding: 1.5rem;
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        }

        .video-tabs-container h4 {
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: 1.3rem;
            color: var(--dark-color);
        }

        .tab-switchers {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-bottom: 1.5rem;
        }

        .tab-label {
            padding: 0.8rem 1.5rem;
            background-color: #f1f5f9;
            color: #64748b;
            border-radius: 10px;
            cursor: pointer;
            font-weight: 700;
            font-size: 0.9rem;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .tab-radio {
            display: none;
        }

        .video-content {
            display: none;
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 9; /* Rasio Video Bioskop/YouTube */
            border-radius: 12px;
            overflow: hidden;
        }

        .video-content iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
        }

        /* Logic Pemilihan Tab Menggunakan CSS Pseudo-class */
        #tab1:checked ~ .tab-switchers .label1,
        #tab2:checked ~ .tab-switchers .label2,
        #tab3:checked ~ .tab-switchers .label3 {
            background-color: var(--accent-color);
            color: white;
            box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
        }

        #tab1:checked ~ .content-container #content1,
        #tab2:checked ~ .content-container #content2,
        #tab3:checked ~ .content-container #content3 {
            display: block;
        }

        /* --- GRID UNTUK KARTU --- */
        .grid-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 2.5rem;
        }

        /* --- KARTU KOMPONEN (Rasio 10:5) --- */
        .card {
            background-color: var(--card-bg);
            border-radius: 20px; 
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
            transition: all 0.3s ease;
            border: 1px solid rgba(15, 23, 42, 0.04);
        }

        .card:hover {
            transform: translateY(-6px);
            box-shadow: 0 15px 35px rgba(15, 23, 42, 0.08);
        }

        .card-img {
            width: 100%;
            aspect-ratio: 10 / 5; /* Tetap konsisten 10:5 */
            object-fit: cover;
            background-color: #cbd5e1;
        }

        .card-content {
            padding: 1.8rem;
        }

        .card-name {
            font-size: 1.35rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: var(--dark-color);
        }

        .card-location {
            font-size: 0.85rem;
            font-weight: 500;
            color: #64748b;
            margin-bottom: 1.2rem;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .btn-booking {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            padding: 0.9rem;
            background-color: var(--accent-color);
            color: white;
            text-align: center;
            text-decoration: none;
            border-radius: 12px;
            font-weight: 700;
            font-size: 0.95rem;
            transition: all 0.3s;
        }

        .btn-booking:hover {
            background-color: #0369a1;
            box-shadow: 0 5px 15px rgba(3, 105, 161, 0.3);
        }

        /* --- BERANDA (HERO) --- */
        /* HERO VIDEO */
#beranda{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#fff;
}

#beranda iframe{
    position:absolute;
    top:50%;
    left:50%;
    width:177.78vh;
    height:100vh;
    min-width:100%;
    min-height:56.25vw;
    transform:translate(-50%,-50%);
    pointer-events:none;
    z-index:-2;
}

#beranda::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:-1;
}

.hero-content{
    z-index:2;
}

.hero-content h1{
    font-size:5rem;
    color:#fff;
    text-shadow:0 5px 20px rgba(0,0,0,.5);
    margin-bottom:20px;
}

.hero-content p{
    font-size:1.3rem;
    max-width:700px;
    color:#fff;
    text-shadow:0 3px 10px rgba(0,0,0,.5);
}
        }

        /* --- TENTANG --- */
        .about-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
        }

        @media (max-width: 768px) {
            .about-container { grid-template-columns: 1fr; gap: 2rem; }
            .nav-links { display: none; } 
            #beranda h1 { font-size: 3rem; }
            .tab-switchers { flex-direction: column; }
        }

        .about-text h3 {
            font-size: 1.6rem;
            margin-bottom: 1.2rem;
            color: var(--accent-color);
        }

        .about-text p {
            margin-bottom: 1.5rem;
            color: #475569;
            text-align: justify;
        }

        .creator-box {
            background-color: var(--primary-color);
            padding: 2.2rem;
            border-radius: 20px;
        }

        .social-links {
            display: flex;
            gap: 12px;
            margin-top: 20px;
            flex-wrap: wrap;
        }

        .social-links a {
            text-decoration: none;
            color: var(--dark-color);
            font-weight: 700;
            font-size: 0.9rem;
            background-color: white;
            padding: 0.6rem 1.2rem;
            border-radius: 10px;
            transition: all 0.3s;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .social-links a:hover {
            background-color: var(--accent-color);
            color: white;
        }

        /* --- FOOTER --- */
        footer {
            background-color: var(--dark-color);
            color: #94a3b8;
            text-align: center;
            padding: 2.5rem;
            font-size: 0.95rem;
        }
    