@font-face {
    font-family: 'Rische Demo';
    src: url('../fonts/rische-demo.woff2') format('woff2');
    /* CATATAN: Jika font tidak dimuat, itu karena path '../fonts/rische-demo.woff2'
       relatif dan mungkin tidak ada. Untuk demo ini, kita akan ganti dengan font web.
       Jika Anda punya file fontnya, path-nya mungkin perlu disesuaikan.
       
       Untuk sementara, kita gunakan font dari Google Fonts sebagai cadangan jika Rische Demo gagal dimuat.
    */
    font-display: swap; /* Menampilkan font cadangan sambil menunggu font custom dimuat */
}

/* Cadangan Google Font jika 'Rische Demo' gagal dimuat */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&display=swap');


h1, h2, h3 {
    /* Gunakan 'Rische Demo', jika gagal, gunakan 'Playfair Display' */
    font-family: 'Rische Demo', 'Playfair Display', serif;
}

body {
    font-family: 'Open Sans', serif;
    line-height: 1.6;
    color: #111;
    background: #fdfdfd;
    height: 100%;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
    /* Pastikan body setidaknya setinggi viewport */
    min-height: 100vh;
}

section {
    margin-bottom: 40px;
    width: 100%; /* Pastikan section mengambil lebar penuh */
}

.desktop-only {
    display: block;
}

.mobile-only {
    display: none;
}

/* Menghilangkan dekorasi link untuk tombol */
.hero a,
.about a,
.experience a,
.services a,
.why-us a,
.promo-hero a,
.promo-section-alt a,
.promo-section-alt-2 a {
    text-decoration: none;
}

 /* Header */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 50px;
            background: #f6f6f6;
            border-bottom: 1px solid #ddd;
            z-index: 2000;
        }
        .header-left, .header-right { flex: 1; display: flex; align-items: center; }
        .header-left { justify-content: flex-start; gap: 25px; }
        .header-right { justify-content: flex-end; }
        .header-center { flex: 2; text-align: center; }
        header h1, header h2 { 
      font-size: 24px;
      letter-spacing: 1px;
      margin: 0; /* Hapus margin agar benar-benar di tengah */
     }
        header a { text-decoration: none; color: #111; font-size: 14px; }

        .cta-button {
            border: 1px solid #000;
            padding: 8px 16px;
            color: #000;
            background-color: transparent;
            position: relative;
            overflow: hidden;
            z-index: 1;
            transition: color 0.3s;
        }

        .cta-button::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 300%;
            height: 300%;
            background-color: #e0e0e0;
            border-radius: 50%;
            transform: translate(-50%, -50%) scale(0);
            transition: transform 0.4s ease-out;
            z-index: -1;
        }

        .cta-button:hover::before {
            transform: translate(-50%, -50%) scale(1);
        }

        /* --- Dropdown Menu Styles --- */
        .dropdown {
            position: relative;
            padding-bottom: 24px; /* Bridge to keep hover active */
            margin-bottom: -24px; /* Prevent layout shift */
        }

        .dropdown-menu {
            display: none;
            position: fixed;
            top: 65px; /* Corrected header height */
            left: 0;
            width: 100%;
            background-color: #f6f6f6;
            border-top: 1px solid #ddd;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            z-index: 1999;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
            padding-left: 45px;
        }

        .dropdown:hover .dropdown-menu {
            display: block;
            opacity: 1;
            visibility: visible;
        }

        .dropdown-content {
            display: flex;
            gap: 40px;
            padding: 40px 0;
        }

        .dropdown-image {
            flex-basis: 30%;
            max-width: 300px;
        }

        .dropdown-image img {
            width: 100%;
            height: auto;
            object-fit: cover;
        }

        .dropdown-links {
            flex-basis: 70%;
            display: flex;
            justify-content: space-around;
            gap: 20px;
        }

        .link-column h3 {
            margin-bottom: 1rem;
            font-size: 1rem;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #555;
        }

        .link-column a {
            display: block;
            margin-bottom: 0.75rem;
            font-size: 14px;
            color: #111;
            transition: color 0.2s ease;
        }

        .link-column a:hover {
            color: #888;
        }

        /* CSS untuk Peta di Dropdown Lokasi */
.dropdown-image iframe {
    width: 100%;
    height: 250px; /* Sesuaikan tinggi peta */
    border: 0;
    border-radius: 8px; /* Opsional: sudut membulat */
}

/* CSS untuk Info di Dropdown Lokasi */
.link-column p {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    margin-bottom: 10px; /* Jarak antar item info */
}

        /* --- End Dropdown Menu Styles --- */
        

       /* --- End Dropdown Menu Styles --- */
/* Mobile Navigation */
.hamburger { display: none; font-size: 28px; background: none; border: none; cursor: pointer; }
.mobile-nav {
       position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background-color: #fdfdfd;
    margin-top: 60px;
    display: flex;
    flex-direction: column;

    /* --- PERUBAHAN --- */
    /* 1. Ubah 'center' menjadi 'flex-start' */
    /* Ini agar menu dimulai dari atas, bukan di tengah */
    justify-content: flex-start; 

    /* 2. Tambahkan overflow-y agar bisa di-scroll */
    overflow-y: auto;

    /* 3. (Opsional) Tambahkan padding & box-sizing */
    /* Agar menu tidak terlalu mepet di atas dan bawah */
    padding-top: 50px;
    padding-bottom: 40px;
    box-sizing: border-box; /* Pastikan padding termasuk dalam 100vh */
    /* --- AKHIR PERUBAHAN --- */

    align-items: center;
    gap: 15px;
    transform: translateY(-100%);
    transition: transform 0.4s ease-in-out;
    z-index: 1999;
}
.mobile-nav.open { transform: translateY(0); }
.mobile-nav a { font-size: 18px; padding: 5px 20px; }
.cta-button-mobile {
    border: 1px solid #000; padding: 10px 25px; margin-top: 10px;
    text-align: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.cta-button-mobile::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background-color: #e0e0e0; /* Light grey fluid color */
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.4s ease-out;
    z-index: -1;
}

.cta-button-mobile:hover::before {
    transform: translate(-50%, -50%) scale(1);
}


/* ====== Navigation Section (Pria/Wanita di index.html) ====== */
.navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    background-color: #fff;
    width: 100%;
    margin: 0;
    padding: 40px;
    box-sizing: border-box;
}

.nav {
    text-align: center;
}

.nav nav {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
}

.navigation nav a,
.navigation nav span {
    color: #000000;
    text-decoration: none;
    font-weight: bold;
    margin: 0 10px;
}

.navigation nav a:hover {
    text-decoration: underline;
    color: #000;
}

/* ====== Hero Section (index.html) ====== */
.hero {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    padding-top: 65px; /* Sesuaikan dengan tinggi header */
    position: relative; /* Butuh untuk slider-text */
}

.hero img {
    border-radius: 0;
}

.slider-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.slider-track {
    display: flex;
    height: 100%; /* Pastikan track mengisi container */
}

.slider-track.desktop-only {
    /* Logika JS akan menangani ini, tapi atur dasar */
    width: 100%; /* JS akan mengkloning dan memperlebar */
}

.slider-track.desktop-only img {
    width: 100%; /* Setiap slide 100% dari viewport */
    height: 100%;
    object-fit: cover;
    flex-shrink: 0; /* Mencegah gambar menyusut */
}

.slider-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 10;
    padding: 20px;
    box-sizing: border-box;
}

.slider-text h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.slider-text p {
    font-size: 1.2rem;
    margin-bottom: 15px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}
 
/* Tombol di dalam hero */
.slider-text button,
.promo-text-content button {
    margin-top: 20px;
    padding: 10px 20px;
    background-color: rgba(255, 255, 255, 0.9);
    border: none;
    color: #111;
    font-weight: bold;
    cursor: pointer;
    text-shadow: none; /* Hapus shadow dari tombol */
    transition: background-color 0.3s;
}
.slider-text button:hover,
.promo-text-content button:hover {
    background-color: #fff;
}


/* ====== About Section (index.html) ====== */
.about {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 40px 50px;
    max-width: 100%;
}

.about .text {
    flex: 1;
    min-width: 300px; /* Lebar minimum teks */
    max-width: 500px;
    padding-left: 0px;
}

.about p {
    margin-top: 1rem;
}
 
.gallery1 {
    flex: 1;
    display: flex;
    gap: 15px;
    justify-content: center;
    padding: 0;
    min-width: 300px; /* Lebar minimum galeri */
}
 
.gallery2 {
    flex: 1;
    display: flex;
    gap: 15px;
    justify-content: center;
    padding: 0;
    min-width: 300px;
}


.gallery1 img, .gallery2 img {
    width: calc(33.33% - 14px);
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s ease; /* Tambahkan transisi hover */
}
.gallery1 img:hover, .gallery2 img:hover {
     transform: scale(1.05);
}

/* ====== Experience Section (index.html) ====== */
.experience {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 40px 0 40px 50px; /* Padding kiri untuk teks */
    margin: 0;
    overflow: hidden;
    background: #f9f9f9; /* Warna latar sedikit beda */
}

.experience .text {
    flex: 1;
    min-width: 300px;
    max-width: 500px;
}

.experience p {
    margin-bottom: 1rem;
    line-height: 1.6;
}

.jahit {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 300px; /* Lebar minimum gambar */
}

.jahit img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
}
 .jahit img:hover {
    transform: none; /* Jangan zoom gambar ini */
 }

/* ====== Services Section (index.html) ====== */
.services {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row; /* Gambar di kiri, teks di kanan */
    align-items: center;
    gap: 2rem;
    padding: 40px 50px;
    max-width: 100%;
    box-sizing: border-box;
}

.services .text {
    flex: 1; /* Biarkan teks mengambil sisa ruang */
    min-width: 300px;
    max-width: 500px; /* Batasi lebar teks */
}

.services p {
    margin-top: 1rem;
}

/* Experience & Why Us Sections */
.experience, .why-us {
      display: flex;
   align-items: center;
 overflow: hidden; padding-top: 60px; padding-bottom: 60px;
}
.experience { 
    background: #F8F5F2; /* Beige background */
    padding-bottom: 0; /* Make image flush with the bottom */
}

    .experience .text {
      flex: 1;
      max-width: 700px;
      padding: 50px;
      margin-left: 0px;
    }

    .experience p {
      margin-bottom: 1rem;
      line-height: 1.6;
      text-align: justify;
    }
    
    .why-us {
      padding-left: 0px;

    }

    .why-us .text {
      flex: 1;
      max-width: 700px;
      padding-right: 50px;
       padding-top: 50px;
        padding-bottom: 50px;
      padding-left: 20px;
      margin-left: 100px;
    }

.experience .image, .why-us .image { flex: 1; display: flex;}
.experience .image { justify-content: flex-end; margin-right: 0px;  }



.why-us .image { justify-content: flex-start; }
.experience .image img, .why-us .image img { width: 100%;
    max-width: 700px;
    height: auto; object-fit: cover; }

.experience .cta-button,
.why-us .cta-button {
    margin-top: 1.5rem;
    display: inline-block;
}

/* ====== Why Us Section (index.html) ====== */
.why-us {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding-right: 80px;
    gap: 2rem;
    margin: 0;
    overflow: hidden;
    background: #f9f9f9; /* Warna latar sedikit beda */
}

.why-us .text {
    flex: 1;
    min-width: 300px;
    max-width: 500px;
    margin-left: 0px
}

.jas-navy {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    min-width: 300px;
}

.jas-navy img {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: cover;
}
.jas-navy img:hover {
    transform: none; /* Jangan zoom gambar ini */
}

/* ====== General Components (Checklist, Button, Image Hover) ====== */
.checklist {
    list-style: none;
    padding-left: 0;
    margin-top: 1rem;
}

.checklist li {
    position: relative;
    padding-left: 1.5rem; /* Ruang untuk checklist */
    margin-bottom: 0.5rem; /* Jarak antar list */
}

.checklist li::before {
    content: '✓';
    color: rgb(0, 0, 0);
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
}
 
/* Tombol umum di dalam section (putih) */
section button {
    position: relative;
    overflow: hidden;
    padding: 10px 20px;
    background: #ffffff;
    color: #000;
    border: 1px solid #000;
    cursor: pointer;
    margin-top: 1rem;
    z-index: 1;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

section button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: rgba(0, 0, 0, 0.05);
    transition: transform 0.6s ease;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    z-index: -1;
}

section button:hover::before {
    transform: translate(-50%, -50%) scale(1);
}

section button span {
    position: relative;
    z-index: 1;
}


/* ====== Flip Card Style (index.html) ====== */
.flip-card {
    background-color: transparent;
    width: 100%; /* Lebar penuh dari parent */
    max-width: 250px; /* Lebar maks */
    height: 350px;
    perspective: 1000px;
    margin: 0 auto;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    top: 0;
    left: 0;
    border-radius: 0px;
    overflow: hidden;
}

.flip-card-front img,
.flip-card-back img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}
 /* Non-aktifkan zoom hover untuk gambar flip-card */
.flip-card-front img:hover,
.flip-card-back img:hover {
    transform: none;
}

.flip-card-back {
    transform: rotateY(180deg);
}
 
/* Auto Flip Animation */
.auto-flip .flip-card-inner {
    animation: flipCardLoop 14s infinite;
}

@keyframes flipCardLoop {
    0%, 25% { transform: rotateY(0deg); }
    50%, 75% { transform: rotateY(180deg); }
    100% { transform: rotateY(0deg); }
}
 
/* Memberi delay animasi yang berbeda */
.delay-1 .flip-card-inner { animation-delay: 0s; }
.delay-2 .flip-card-inner { animation-delay: -4s; }
.delay-3 .flip-card-inner { animation-delay: -8s; }


/* ====== Location Section (index.html) ====== */
.location {
    padding: 40px 50px;
    text-align: center;
}

.location h2 {
    margin-bottom: 1rem;
}

.location p {
    max-width: 600px;
    margin: 0 auto 2rem auto;
}

.map-container {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.map-container iframe {
    width: 100%;
    height: 450px;
    border: 0;
}

/* ====== Floating WA Button ====== */
.wa-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    width: 60px;
    height: 60px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.wa-float img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
 .wa-float img:hover {
    transform: none; /* Matikan zoom hover */
 }

.wa-float:hover {
    transform: scale(1.1);
}

/* Footer */
 footer {
      background: #f0f0f0;
      padding:0px;
      height: auto;
    }

    .footer-top {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      height: auto;
      padding: 50px;
    }

    .footer-left,
    .footer-right{
      width: 45%;
      margin-bottom: 20px;
      height: auto;
      max-width: 300px;
    }

    .footer-mid {
      margin-bottom: 20px;
      height: auto;
      max-width: 300px;
    }

    .footer-bottom {
      text-align: center;
      font-size: 14px;
      color: #000000;
      background-color: #ABABAB;
      padding: 10px;
    }
    .footer-middle {
      text-align: center;
      font-size: 14px;
      color: #555;
      padding: 40px;
    }
     nav a,
    nav span {
      color: #000000;
      text-decoration: none;
      font-weight: bold;
      margin: 0 10px;
    }

/* ------------------------------------------
CSS KHUSUS UNTUK HALAMAN PROMO (promo.html)
------------------------------------------
*/

/* Hero Section Promo */
.promo-hero {
    position: relative; /* Induk untuk overlay */
    width: 100%;
    height: 80vh; /* Buat lebih pendek dari hero utama */
    min-height: 500px;
    display: flex; /* Gunakan flex untuk penataan */
        padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
 /* Sesuaikan dengan tinggi header */
    background-color: #333; /* Fallback jika gambar gagal dimuat */
    overflow: hidden;
    margin-top: 60px;
    margin-bottom: 0px;
}

/* Konten Teks di Kiri */
.promo-text-content {
    position: relative; /* Di atas overlay */
    z-index: 10;
    flex: 0 0 50%; /* Teks mengambil 50% lebar */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start; /* Ratakan ke kiri */
    padding: 40px 50px; 
    color: #111; /* Mengubah warna teks menjadi hitam */
    text-align: left; /* Teks rata kiri */
}

.promo-text-content h2 {
    font-size: 2.5rem; /* Ukuran font H2 */
    margin-bottom: 1rem;
    text-shadow: none; /* Menghapus bayangan teks */
}

.promo-text-content p {
    font-size: 1.1rem;
    max-width: 500px; /* Batasi lebar paragraf */
    margin-bottom: 1.5rem;
    text-shadow: none; /* Menghapus bayangan teks */
}

/* Konten Gambar (Latar Belakang) */
.promo-image-content {
    position: absolute; /* Latar belakang penuh */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* Di bawah teks, di atas bg-color */
}
 
.promo-image-content::before {
     content: ''; /* Lapisan gelap */
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(158, 158, 158, 0); /* Overlay gelap */
     z-index: 2; /* Di atas gambar, di bawah teks */
}

.promo-image-content img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    border-radius: 0;
    object-position: 80% 100%;
}
.promo-image-content img:hover {
    transform: none; /* Matikan zoom */
}


/* Section Promo 2 (Momen Istimewa) - Container Utama */
.promo-section-alt {
    margin: 0;
    padding-left: 0px;
    padding-right: 80px;
    padding-top: 60px;
    padding-bottom: 60px;
    display: block; /* Mengubah dari flex menjadi block agar judul bisa di atas */
    background: #f9f9f9; /* Latar belakang abu-abu muda */
    display: flex; /* Mengubah kembali ke flex untuk penataan */
    flex-wrap: wrap;
    gap: 2.5rem;
}

/* Judul section yang terpusat */
.promo-section-alt .section-title {
    font-size: 2.2rem;
    text-align: center;
    max-width: 850px; /* Lebar agar cukup 2 baris */
    margin: 0 auto 3rem auto;
}

/* Wrapper untuk konten (teks dan gambar) di bawah judul */
.promo-content-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start; /* Sejajarkan item di atas */
    flex-direction: row; /* Tukar posisi: Gambar di kiri, Teks di kanan */
    justify-content: space-between;
    gap: 2rem;
}

.promo-section-alt .text-content {
    flex: 1;
    min-width: 300px;
    max-width: 550px;
    text-align: left; /* Pastikan paragraf rata kiri */
}

.promo-section-alt .text-content p {
    font-size: 1rem;
    margin-bottom: 1rem;
    line-height: 1.7;
}

.promo-section-alt .image-content {
    flex: 1;
    min-width: 300px;
    max-width: 750px;
}

.promo-section-alt .image-content img {
    width: 100%;
    height: auto;
    max-height: 750px;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.5s ease;
    
}
 .promo-section-alt .image-content img:hover {
     transform: scale(1.05);
 }
 
/* Section Promo 3 (Tim Berpengalaman) */
.promo-section-alt-2 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; /* Tukar posisi: Teks di kiri, Gambar di kanan */
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 60px 50px;
    background: #fff; /* Latar belakang putih */
}
 
.promo-section-alt-2 .text-content {
    flex: 1;
    min-width: 300px;
    max-width: 550px;
}
 
.promo-section-alt-2 .text-content h2 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
}

.promo-section-alt-2 .text-content p {
    font-size: 1rem;
    margin-bottom: 1rem;
    line-height: 1.7;
}
 
.promo-section-alt-2 .image-content {
    flex: 1;
    min-width: 300px;
    max-width: 550px;
    text-align: center; /* Tengahkan gambar batik */
}
 
.promo-section-alt-2 .image-content img {
    width: 100%;
    max-width: 400px; /* Batasi lebar maks gambar batik */
    height: auto;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.5s ease;
}
 .promo-section-alt-2 .image-content img:hover {
     transform: scale(1.05);
 }
 
/* Section Promo 4 (Why Us - versi promo) */
/* Kita bisa gunakan ulang style .promo-section-alt */
.promo-section-alt .checklist {
     margin-top: 1.5rem;
}
.promo-section-alt .checklist li {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.8rem;
}
 
 
 
/* ------------------------------------------
MEDIA QUERIES (RESPONSIVE)
------------------------------------------
*/

/* ========== TABLET STYLES (769px - 1024px) ========== */
@media (min-width: 769px) and (max-width: 1024px) {
    header { padding: 20px 30px; }
    .header-left { gap: 15px; }
    header a { font-size: 13px; }
    .cta-button { padding: 7px 14px; }
    header h1, header h2 { font-size: 22px; }

    .dropdown-content { gap: 20px; }
    .dropdown-image { max-width: 250px; }
    .link-column { min-width: 150px; }
     
    .about,
    .experience,
    .services,
    .why-us {
        min-height: auto;
        padding: 40px 30px;
        gap: 1.5rem;
    }
     
    .experience, .why-us {
        padding: 40px 0 40px 30px; /* Samakan padding */
    }

    .about .text,
    .experience .text,
    .services .text,
    .why-us .text {
        flex: 1;
        max-width: none;
        padding: 0; /* Hapus padding ekstra */
    }

    .gallery1,
    .jahit,
    .gallery2,
    .jas-navy {
        flex-basis: 50%;
    }

    .gallery1 {
        justify-content: center;
    }
    /* Sembunyikan kartu ke-3 di tablet */
    .gallery1 .F3 {
        display: none;
    }

    .flip-card {
        width: 100%;
        max-width: 220px;
        height: 310px;
    }

    .gallery2 img:last-child {
        display: none;
    }
     
    .gallery2 img {
        width: calc(50% - 10px);
        height: 350px; /* Buat tinggi konsisten */
    }
     

    /* Penyesuaian Halaman Promo di Tablet */
    .promo-hero { height: 70vh; min-height: 450px; 
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;}
    .promo-text-content {
         flex-basis: 60%; /* Teks sedikit lebih lebar */
             
}
    }
    .promo-text-content h2 { font-size: 2.2rem; }
     
    .promo-section-alt, .promo-section-alt-2 {
        padding: 50px 30px;
    }

/* ========== RESPONSIVE MOBILE STYLES (<= 768px) ========== */
@media (max-width: 768px) {

    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        /* Ganti dari flex ke block/inline-block sesuai kebutuhan */
        display: block !important; 
    }
/* Header mobile */
      header {
        padding: 20px 50px;
      }

      .header-left, .header-right .desktop-only {
        display: none;
      }

      .header-center {
        flex: 1;
        text-align: left;
      }
      
      .header-right {
        flex: 0;

      }
    .hamburger { display: block; }
    section { padding: 30px 20px; }
     
    /* Konten utama mulai di bawah header */
    main, .hero, .promo-hero {
        padding-top: 30px; /* Tinggi header */
    }


    /* ====== Hero & Slider Mobile ====== */
    .hero {
       margin-top: 0px;  height: auto; padding: 40px 0;  background-position: 80% 0%; /* horizontal 50%, vertical 30% */
  background-size: cover; }
     .promo-hero .container { 
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50%; /* Reduced from 70% to 50% */
        max-width: 100%; 
          padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;/* Reduced from 100px */
        background: linear-gradient(to bottom, 
            rgba(248, 245, 242, 0) 0%, 
            rgba(248, 245, 242, 0.95) 40%, 
            rgba(248, 245, 242, 1) 100%);
        display: flex;
        flex-direction: column;
        justify-content: flex-end; /* Changed from center to flex-end */
        align-items: center;
        text-align: center;
        margin-left: 0px;
        margin-top: 0px;
    }

    .promo-image-content::before {
        content: ''; 
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(192, 191, 191, 0.2); /* Reduced opacity from 0.533 */
        z-index: 2;
    }
     
    /* Pastikan slider mobile-only menggunakan flex */
    .slider-track.mobile-only {
        display: flex !important; 
        overflow-x: scroll;
        scroll-snap-type: x mandatory;
        -ms-overflow-style: none;
        scrollbar-width: none;
        height: 100%; /* Isi penuh hero */
        
    }
     
    .slider-track.mobile-only::-webkit-scrollbar {
        display: none;
    }

    .slider-track.mobile-only img {
        width: 100vw;
        height: 100%;
        flex-shrink: 0;
        scroll-snap-align: start;
        object-fit: cover;
       
    }

    .slider-text h2 {
        font-size: 1.8rem;
    }

    .slider-text p {
        font-size: 1.1rem;
    }

    /* Section mobile */
    section:not(.navigation):not(.hero):not(.promo-hero) {
        margin-bottom: 20px; /* Kurangi margin bawah */
        padding: 0PX;
    }
     
    /* Navigasi Pria/Wanita */
    .navigation {
        padding: 30px 20px;
    }

    .about,
    .services,
    .promo-section-alt {
        flex-direction: column; /* Teks di bawah, gambar di atas */
        padding: 40px 20px;
        gap: 2rem; 
    }
     
    .experience { flex-direction: column-reverse; /* Teks di bawah, gambar di atas */
        padding: 40px 20px;
        gap: 2rem;
    }

    .why-us,
    .promo-section-alt-2 {
        flex-direction: column; /* Teks di bawah, gambar di atas */
        padding: 40px 20px;
        gap: 2rem;
    }

    .services {
        padding-top: 40px;
    }

    .about .text,
    .experience .text,
    .services .text,
    .why-us .text,
    .promo-section-alt .text-content,
    .promo-section-alt-2 .text-content {
        padding: 0;
        text-align: left; 
        width: 100%;
        max-width: 100%;
        align-items: center;
    }

    section a[href*="wa.me"] button {
        width: 100%; /* Tombol lebar penuh */
        margin: 15px auto 0 auto;
    }

    .gallery1, .gallery2 {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        padding: 0;
        width: 100%;
    }

    /* Tampilkan hanya kartu pertama */
    .gallery1 .flip-card:not(:first-child) {
        display: none;
    }

    .hide-on-mobile {
        display: none !important;
    }
     
    /* Tampilkan gambar pertama dari gallery2 */
    .services .gallery2 img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }
    /* Sembunyikan gambar galeri 2 lainnya di mobile */
    .services .gallery2 img.hide-on-mobile {
         display: none !important;
    }

    .flip-card {
        width: 100%;
        max-width: 300px; /* Batasi lebar maks */
        height: auto;
        aspect-ratio: 1 / 1;
        margin: 0 auto;
    }

    .flip-card-inner,
    .flip-card-front,
    .flip-card-back {
        height: 100%;
    }
     
    .jahit img, .jas-navy img {
        width: 100%;
        max-height: 400px;
        height: auto;
        object-fit: cover;
    }
     
    .location {
        padding: 30px 20px;
    }
     
    /* --- Halaman Promo Mobile --- */
    .promo-hero {
        height: 100vh; /* Lebih pendek di mobile */
        min-height: 400px;
            padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}
    
    .promo-text-content {
         position: relative;
         flex-basis: 100%; /* Teks ambil 100% */
         padding: 30px 20px;
         justify-content: end; /* Teks di tengah vertikal */
         align-items: flex-start; /* Teks tetap rata kiri */
         text-align: left;
         height;: 70vh;
         min-width: 300px;
         padding-top: 50px;
         background: linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.7) 30%,
            rgba(255, 255, 255, 0.9) 70%,
            rgba(255, 255, 255, 1) 100%
        );
         margin-top: auto; /* Push content to bottom */
    }
    .promo-text-content h2 { font-size: 1.8rem; }
    .promo-text-content p { font-size: 1rem; }
     
    .promo-section-alt .image-content,
    .promo-section-alt-2 .image-content {
        width: 100%;
        max-width: 100%;
    }
    .promo-section-alt-2 .image-content img {
         max-width: 300px; /* Perkecil gambar batik */
    }

    /* Footer mobile */
    footer {
        height: auto;
    }

    .footer-top {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        padding: 40px 20px; /* Kurangi padding */
    }

    .footer-left,
    .footer-mid,
    .footer-right {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .footer-bottom {
        text-align: center;
        font-size: 12px;
    }
     
    .wa-float {
        width: 50px;
        height: 50px;
        bottom: 15px;
        right: 15px;
    }

 
/* CSS untuk Pop-up */
.popup-overlay {
    display: none; /* Sembunyi by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 3000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.popup-overlay.fade-in {
    opacity: 1;
}

.popup-content {
    position: relative;
    background: #fff;
    padding: 0; /* Hapus padding jika gambar adalah konten utama */
    border-radius: 8px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    transform: scale(0.9);
    animation: popup-scale 0.3s ease-out forwards;
}
}

@keyframes popup-scale {
    to {
        transform: scale(1);
    }
}

.popup-content img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px 8px 0 0; /* Bulat di atas */
}
 
.popup-content a {
    display: block; /* Pastikan link mengisi area gambar */
}

.close-button {
    position: absolute;
    top: -15px; /* Di luar kotak */
    right: -15px; /* Di luar kotak */
    width: 35px;
    height: 35px;
    background: #fff;
    border-radius: 50%;
    color: #333;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    line-height: 1;
    border: 2px solid #eee;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.close-button:hover {
    background: #f4f4f4;
    color: #000;
}

/* Responsive Pop-up */
@media (max-width: 600px) {
    .popup-content {
        max-width: 90%;
        width: 90%;
    }
    .close-button {
        top: 5px; /* Pindahkan ke dalam */
        right: 5px;
        width: 30px;
        height: 30px;
        font-size: 20px;
        background: rgba(255, 255, 255, 0.8); /* Agak transparan */
    }
}