/* Utilities */
* {
    font-family: 'Open Sans', sans-serif;
}

html {
    scroll-behavior: smooth;
}

.btn-primary-custom {
    background-color: var(--primary);
    border-color: var(--primary);
    color: white;
    font-weight: 600;
    transition: all 0.3s ease;
    padding: 0.8rem 1.5rem;
}

.btn-primary-custom:hover,
.btn-primary-custom:focus {
    background-color: #026aa2;
    border-color: #026aa2;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(50, 20, 226, 0.3) !important;
}

.lh-sm {
    line-height: 1.3 !important;
}

.text-secondary {
    color: #656565 !important;
}
/* End Utilities */

/* Header */
.hero-section {
    background-color: #F5F9FE;
    min-height: 80vh;
}

.text-primary-custom {
    color: var(--secondary) !important;
}

.hero-title {
    font-size: 3rem;
    line-height: 1.2;
    color: var(--black);
    letter-spacing: -1px;
}

.hero-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #5a5a5a;
}

.badge-text {
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.hero-badge {
    background-color: transparent;
    border-color: var(--secondary) !important;
}

.btn-white {
    background-color: white;
    color: var(--text-dark);
    font-weight: 600;
    border-color: #e5e5e5;
    transition: all 0.3s ease;
    padding: 0.8rem 1.5rem;
}

.btn-white:hover,
.btn-white:focus {
    background-color: #f8f9fa;
    color: var(--text-dark);
    transform: translateY(-2px);
}

.hero-mockup-img {
    max-height: 600px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.08));
    margin-left: auto;
    margin-right: auto;
}

.custom-input {
    font-size: 0.9rem;
    border: 1px solid #e0e0e0;
    border-radius: 8px; /* Sudut input melengkung ringan */
    background-color: #fdfdfd;
    transition: all 0.2s ease-in-out;
}

.custom-input::placeholder {
    color: #a8a8a8;
    font-size: 0.85rem;
}

.custom-input:focus {
    border-color: var(--primary-blue);
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(50, 20, 226, 0.1); /* Glow warna ungu ringan */
    outline: none;
}

.business-trial-form label {
    color: #333;
    letter-spacing: 0.2px;
}

.hero-carousel .slick-slide {
    opacity: .2;
    transition: all 300ms ease;
}

.hero-carousel .slick-slide.slick-center {
    opacity: 1;
}
/* End Header */


/* Pilih Masalah Usaha Anda */
/* Base Card Styling */
.problem-card {
    border: 2px solid #f1f3f7;
    border-radius: 12px;
    padding: 1.25rem 1rem;
    transition: all 0.3s ease-in-out;
    outline: none;
    cursor: pointer;
    background-color: #F5F9FE;
}

/* Efek Hover & Focus Umum */
.problem-card:hover,
.problem-card:focus {
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.05) !important;
}

/* Ikon Styling */
.icon-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 45px;
}

.text-content span {
    font-size: 0.95rem;
}

/* --- Kustomisasi Warna per Card (Sesuai Desain) --- */
.text-blue { color: var(--secondary) !important; }
.card-blue:hover, .card-blue:focus { border-color: rgba(50, 20, 226, 0.4); }

.text-orange { color: #f76400; }
.card-orange:hover, .card-orange:focus { border-color: rgba(245, 158, 11, 0.4); }

.text-green { color: #25D366; }
.card-green:hover, .card-green:focus { border-color: rgba(37, 211, 102, 0.4); }

.text-purple { color: #8b5cf6; }
.card-purple:hover, .card-purple:focus { border-color: rgba(139, 92, 246, 0.4); }

.text-emerald { color: #10b981 !important; }

/* --- Active State (Opsional: Jika diklik ingin menetap warnanya) --- */
.problem-card:active {
    transform: translateY(0);
}
/* End Pilih Masalah Usaha Anda */


/* Template Section */
/* --- Filter Buttons Styling --- */
.btn-filter {
    background-color: #ffffff;
    border: 1px solid #c4c4c4;
    color: #4a4a4a;
    border-radius: 20px; /* Membuat tombol berbentuk pil (rounded) */
    padding: 0.4rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

/* State saat di-hover atau aktif */
.btn-filter:hover,
.btn-filter:focus,
.btn-filter.active {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(50, 20, 226, 0.2);
    outline: none;
}

/* --- Template Card Styling --- */
.template-card {
    border-radius: 12px !important; /* Melengkungkan sudut luar card */
    border: 1px solid #c4c4c4 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-left: 8px;
    margin-right: 8px;
    height: 250px;
}

.template-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05) !important;
}

/* Mengatur gambar agar selalu proporsional mengisi ruang (seperti background-cover) */
.template-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 140px; /* Mencegah gambar terlalu gepeng di layar kecil */
}

/* --- Tombol "Lihat Template" --- */
.btn-outline-custom {
    color: var(--secondary);
    background-color: transparent;
    border: 1px solid #c4c4c4;
    border-radius: 6px;
    padding: 0.35rem 1rem;
    transition: all 0.2s ease;
}

.btn-outline-custom:hover,
.btn-outline-custom:focus {
    color: var(--primary);
    border-color: var(--primary);
    background-color: rgba(50, 20, 226, 0.05); /* Latar belakang biru transparan saat di-hover */
}
/* End Template Section */


/* Digital Solution */
.custom-gap {
    gap: 15px; /* Memberikan jarak rapi antar card */
}

.solution-item {
    flex: 0 0 auto;
    width: 225px; /* Ukuran lebar tetap agar rapi di desktop */
}

.solution-card {
    border: 2px solid #f8f9fa;
    border-radius: 16px;
    padding: 1.25rem 0.5rem;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.solution-card:hover,
.solution-card:focus {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
    outline: none;
}

.solution-text {
    font-size: 0.85rem;
    margin-top: 0.25rem;
}

.digital-solutions-image {
    width: 48px;
    height: 48px;
}
/* End Digital Solution */


/* Pricing Section */
/* --- Styling Dasar Pricing Card --- */
.pricing-card {
    border-radius: 12px;
    border: 1px solid #f1f3f7;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

/* Efek Hover (Klik) */
.pricing-card:hover,
.pricing-card:focus {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    outline: none;
}

/* Styling Khusus Card Paling Populer (Border Hijau) */
.card-popular {
    border-color: rgba(16, 185, 129, 0.3); /* Hijau transparan */
    background-color: #fafdfb !important; /* Sedikit hint warna hijau di latar */
}

/* --- Styling Badges (Label Paket) --- */
.custom-badge {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 6px;
}

/* Variant Badges */
.badge-blue {
    background-color: transparent;
    color: var(--secondary);
    border: 1px solid rgba(50, 20, 226, 0.2);
}

.badge-green-solid {
    background-color: #10b981;
    color: #ffffff;
    border: 1px solid #10b981;
}

.badge-green-outline {
    background-color: transparent;
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.badge-purple {
    background-color: transparent;
    color: #8b5cf6;
    border: 1px solid rgba(139, 92, 246, 0.2);
}


.badge-orange {
    background-color: transparent;
    color: #f76400;
    border: 1px solid rgba(139, 92, 246, 0.2);
}

/* --- Penyesuaian List Fitur --- */
.feature-list li {
    line-height: 1.3;
}
/* End Pricing Section */

/* Portofolio Section */
.portfolio-list {
    gap: 15px;
    padding-left: 0.2rem; /* Ruang bernapas untuk bayangan card sebelah kiri */
    padding-right: 1rem;
}

.portfolio-item {
    flex: 0 0 auto;
    width: 450px;
    scroll-snap-align: start;
    margin-left: 8px;
    margin-right: 8px;
}

.portfolio-card {
    border-radius: 12px;
    border: 1px solid #f1f3f7 !important;
    overflow: hidden; /* Memastikan sudut gambar di bagian atas ikut melengkung */
    transition: all 0.3s ease;
}

.portfolio-card:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
    z-index: 999;
}

.portfolio-img {
    height: 170px;
    width: 100%;
    object-fit: cover;
    object-position: top center;
    background-color: #f8f9fa; /* Warna dasar selagi gambar di-load */
    transition: all 0.3s ease;
}

.portfolio-card:hover .portfolio-img {
    height: 220px;
    transition: all 0.3s ease;
}

.portfolio-carousel .slick-list {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
/* End Portofolio Section */

/* AI section */
.ai-card {
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.ai-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
}

.card-admin {
    background-color: #fcfaff; /* Fallback warna solid */
    background: linear-gradient(135deg, #fdfaff 0%, #f6efff 100%);
    border: 1px solid rgba(139, 92, 246, 0.15) !important;
}

.card-owner {
    background-color: #f7fdf9; /* Fallback warna solid */
    background: linear-gradient(135deg, #fafffa 0%, #effff4 100%);
    border: 1px solid rgba(16, 185, 129, 0.15) !important;
}
/* End AI section */


/* CTA Action Section */
/* --- Pengaturan Jarak Antar Tombol --- */
.custom-btn-gap {
    gap: 12px; /* Memberikan jarak persis di tengah kedua tombol */
}

/* --- Styling Dasar Tombol --- */
.cta-action-group .btn {
    border-radius: 8px; /* Sudut melengkung sesuai gambar */
    border: none;
    font-size: 0.95rem;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.cta-action-group .btn:hover,
.cta-action-group .btn:focus {
    transform: translateY(-2px); /* Tombol sedikit naik saat di-hover */
    outline: none;
}

/* --- Tombol 1: Coba Template (Warna Ungu/Biru) --- */
.btn-coba-template {
    background-color: #0391df; /* Menyesuaikan warna utama desain Anda */
    color: #ffffff;
}

.btn-coba-template:hover,
.btn-coba-template:focus {
    background-color: #026aa2; /* Warna lebih gelap saat interaksi */
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(50, 20, 226, 0.3) !important;
}

/* --- Tombol 2: WhatsApp (Warna Hijau) --- */
.btn-whatsapp-action {
    background-color: #10b981; /* Warna hijau khas WhatsApp */
    color: #ffffff;
}

.btn-whatsapp-action:hover,
.btn-whatsapp-action:focus {
    background-color: #0d9668;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}
/* End Cta Action Section */


/* Video Testimony */
.vite-overlay-container {
    width: 100%;
    height: auto;
    position: relative;
    border-radius: 8px;
    box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}

.vite-overlay-img {
    width: 100%;
    height: 375px;
    display: block;
    object-fit: cover;
}

.vite-overlay-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.50);
}

.vite-overlay-content button {
    font-family: 'Open Sans';
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.05px;
    padding: 12px 24px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    border-radius: 8px;
}

.vite-overlay-content p {
    width: 58%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}
/* End Video Testimony */


/* Whatsapp Testimony */
#whatsappTestimony {
    margin-top: 80px;
    margin-bottom: 80px;
}

.whatsapp-img {
    width: 360px;
    height: auto;
    object-fit: fill;
}

.whatsapp-carousel .slick-slide {
    margin: 0 24px;
    opacity: .3;
    transition: all 200ms ease;
}

.whatsapp-carousel .slick-slide.slick-active {
    opacity: 1;
}

.whatsapp-carousel .slick-list {
    margin: 0 -24px;
}
/* End Whatsapp Testimony */

@media (max-width: 390px) {}

@media (max-width: 767.98px) {
    .pricing-card {
        padding: 1rem !important;
    }

    .pricing-card article > div {
        /* Memberikan jarak antar elemen saat ditumpuk di HP */
        margin-bottom: 0.75rem !important;
    }

    .pricing-card article > div:last-child {
        margin-bottom: 0 !important;
    }

    /* AI Section */
    .ai-card svg {
        /* Sedikit memperkecil ikon di layar HP agar teks mendapat ruang lebih */
        width: 40px;
        height: 40px;
    }
    /* End AI Section */

    .portfolio-item {
        width: 85vw;
        margin-left: 8px;
        margin-right: 8px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {}

@media (max-width: 997.92px) {

    /* Utilities */
    .btn-primary-custom {
        font-size: 1rem;
    }
    /* End Utilities */

    /* Header */
    .hero-section {
        min-height: fit-content;
    }

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

    .hero-actions {
        justify-content: center;
    }

    .hero-actions .btn {
        width: 100%;
        max-width: 350px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions .btn {
        font-size: .85rem;
    }

    .hero-description {
        font-size: .75rem;
        line-height: normal;
    }

    .btn-coba-template {
        width: 100% !important;
    }

    .btn-whatsapp-action {
        width: 100% !important;
    }
    /* End Header */

    /* Pilih Masalah Usaha Anda */
    .problem-card {
        padding: 1rem;
    }

    .problem-card .text-content {
        font-size: .85rem;
    }

    .template-img {
        height: 200px;
    }

    .template-card {
        height: max-content;
    }
    /* End Pilih Masalah Usaha Anda */

}

@media (min-width: 992px) and (max-width: 1199.98px) {}

@media (min-width: 1200px) {}


@media (max-width: 575.98px) {
    .solution-item {
        /* Di HP, buat jadi 2 kolom (setengah lebar minus gap) */
        width: calc(50% - 10px);
    }

    .solution-text {
        font-size: 0.75rem;
    }
}
