.elementor-76 .elementor-element.elementor-element-26e93e9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-76 .elementor-element.elementor-element-ece3636 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:36px;font-weight:700;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-76 .elementor-element.elementor-element-4af3e84{width:var( --container-widget-width, 605px );max-width:605px;--container-widget-width:605px;--container-widget-flex-grow:0;}.elementor-76 .elementor-element.elementor-element-5f20bcc{--display:flex;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:0px;--padding-bottom:70px;--padding-left:40px;--padding-right:40px;}.elementor-76 .elementor-element.elementor-element-d7b9b8d{--display:flex;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--border-radius:12px 12px 12px 12px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-76 .elementor-element.elementor-element-d7b9b8d:not(.elementor-motion-effects-element-type-background), .elementor-76 .elementor-element.elementor-element-d7b9b8d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1F5F980;}.elementor-76 .elementor-element.elementor-element-83d2ca0 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:600;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-76 .elementor-element.elementor-element-25ba2a2{--grid-columns:3;}.elementor-76 .elementor-element.elementor-element-25ba2a2 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-76 .elementor-element.elementor-element-25ba2a2 .e-loop-item > .elementor-section, .elementor-76 .elementor-element.elementor-element-25ba2a2 .e-loop-item > .elementor-section > .elementor-container, .elementor-76 .elementor-element.elementor-element-25ba2a2 .e-loop-item > .e-con, .elementor-76 .elementor-element.elementor-element-25ba2a2 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-76 .elementor-element.elementor-element-25ba2a2 .elementor-pagination{text-align:center;margin-top:30px;}body:not(.rtl) .elementor-76 .elementor-element.elementor-element-25ba2a2 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-76 .elementor-element.elementor-element-25ba2a2 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-76 .elementor-element.elementor-element-25ba2a2 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-76 .elementor-element.elementor-element-25ba2a2 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1024px){.elementor-76 .elementor-element.elementor-element-25ba2a2{--grid-columns:2;}}@media(max-width:767px){.elementor-76 .elementor-element.elementor-element-26e93e9{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-76 .elementor-element.elementor-element-ece3636 .elementor-heading-title{font-size:28px;}.elementor-76 .elementor-element.elementor-element-5f20bcc{--padding-top:0px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-76 .elementor-element.elementor-element-25ba2a2{--grid-columns:1;}}/* Start custom CSS for shortcode, class: .elementor-element-d219351 */.filter-kategori-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important; /* Haramkan tombol turun ke bawah */
    gap: 12px;
    margin-bottom: 0px;
    overflow-x: auto !important; /* Paksa munculkan scroll geser */
    white-space: nowrap !important; /* Paksa teks tetap satu baris */
    padding-top: 0px;
    padding-bottom: 0px; /* Tambah sedikit ruang bawah agar saat digeser tidak mentok border */
    scrollbar-width: none; /* Sembunyikan scrollbar untuk Firefox */
    width: 100% !important;
    -webkit-overflow-scrolling: touch; /* Efek scroll lancar di iPhone/iOS */
}

/* Sembunyikan scrollbar untuk Chrome, Safari, dan Opera */
.filter-kategori-wrapper::-webkit-scrollbar {
    display: none !important; 
}

/* Base Desain Tombol Filter (Desktop/Laptop) */
.btn-filter {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0 !important; /* ANTI-GEPENG: Melarang tombol menyusut ukurannya */
    gap: 8px; /* Jarak antara ikon dan teks */
    padding: 8px 12px; /* Ketebalan tombol nyaman */
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    color: #333333;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.25s ease-in-out;
    -webkit-tap-highlight-color: transparent;
}

/* Hover Effect di Desktop */
@media (min-width: 768px) {
    .btn-filter:hover {
        border-color: #004ecc;
        color: #004ecc;
        background-color: #f9fbff;
    }
}

/* Ukuran Ikon Gambar SVG */
.btn-filter .kategori-icon-img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    vertical-align: middle;
    flex-shrink: 0 !important;
    transition: transform 0.25s ease;
}

/* Ukuran Ikon Dashicons Bawaan */
.btn-filter .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #555555;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0 !important;
    transition: color 0.25s ease;
}


/* ==========================================================================
   2. STATE TOMBOL AKTIF / DIKLIK (BERLAKU DI SEMUA LAYAR)
   ========================================================================== */

.btn-filter.active {
    background-color: #004ecc !important; /* Warna biru utama katalog */
    color: #ffffff !important;
    border-color: #004ecc !important;
    box-shadow: 0 4px 10px rgba(0, 78, 204, 0.2);
}

/* Trik CSS: Mengubah warna Gambar SVG menjadi putih saat tombol aktif */
.btn-filter.active .kategori-icon-img {
    filter: brightness(0) invert(1) !important;
}

/* Mengubah warna Dashicons menjadi putih saat tombol aktif */
.btn-filter.active .dashicons {
    color: #ffffff !important;
}


/* ==========================================================================
   3. STYLING KHUSUS MOBILE (LAYAR HP) - FIX TERPOTONG & TEKS GEPENG
   ========================================================================== */

@media (max-width: 767px) {
    /* Paksa container Elementor tempat shortcode berada agar tidak memotong isi filter */
    .elementor-widget-shortcode, 
    .elementor-widget-container {
        overflow: visible !important;
    }

    .filter-kategori-wrapper {
        gap: 8px; /* Jarak antar tombol sedikit lebih rapat di HP */
        padding-left: 0px;
        padding-right: 0px;
        margin-bottom: 0px;
    }
    
    .btn-filter {
        padding: 8px 12px; /* Ukuran pas untuk jempol di HP */
        font-size: 12px; /* Ukuran teks sedikit disesuaikan */
        border-radius: 6px;
    }

    .btn-filter span {
        white-space: nowrap !important; /* Mengunci teks di dalam tombol agar tidak jebol ke bawah */
        display: inline-block;
    }

    .btn-filter .kategori-icon-img, 
    .btn-filter .dashicons {
        width: 16px;
        height: 16px;
        font-size: 16px;
    }
}/* End custom CSS */