
                body { overflow: hidden !important; margin: 0; padding: 0; }

                /* --- APP OVERLAY & LAYOUTING BARU --- */
                #jgr-app-container {
                    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
                    background-color: #f4f7f6; z-index: 9999999;
                    display: flex; flex-direction: column; 
                    align-items: center; 
                    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
                    padding-top: 180px; /* Diperbesar agar ada spasi ke kotak dialog utama */
                    padding-bottom: 28px; 
                    box-sizing: border-box;
                }

                .smart-box {
                    background: #ffffff; width: 100%; max-width: 420px;
                    padding: 30px 25px; border-radius: 16px;
                    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
                    text-align: center; border-top: 5px solid #d35400; 
                    max-height: 100%; overflow-y: auto; margin: 0 auto;
                }

                /* --- HEADER & PENCARIAN --- */
                #jgr-header {
                    position: absolute; top: 0; left: 0; right: 0; 
                    background: transparent; 
                    padding: 25px 20px 15px; z-index: 99; text-align: center;
                }
                .jgr-search-wrapper {
                    position: relative; width: 100%; max-width: 380px; margin: 0 auto; /* margin auto ini yang memaksanya persis di tengah */
                }
                #jgr-global-search {
                    width: 100%; padding: 14px 40px 14px 20px; box-sizing: border-box; /* padding kanan dilebarkan untuk tombol X */
                    border: none; border-radius: 25px;
                    box-shadow: 0 4px 15px rgba(0,0,0,0.06); 
                    font-size: 14px; outline: none; background: #ffffff; transition: 0.3s;
                }
                #jgr-global-search:focus { box-shadow: 0 4px 20px rgba(211,84,0,0.15); }
                
                #jgr-clear-search {
                    position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
                    background: transparent; color: #aaa; border: none; 
                    font-size: 16px; font-weight: bold; cursor: pointer; 
                    display: none; padding: 5px; margin: 0; z-index: 10; transition: 0.2s;
                }
                #jgr-clear-search:hover { color: #d35400; }
				
				/* --- SEARCH TRIGGER MODE DEFAULT --- */
.jgr-chat-trigger-wrap{
    display:flex; align-items:center; gap:8px;
    background:#fff; border-radius:25px;
    box-shadow:0 4px 15px rgba(0,0,0,0.06);
    padding:4px 6px; max-width:380px; margin:0 auto;
}
#jgr-global-search{
    flex:1; width:auto; border:none; background:transparent;
    box-shadow:none !important; padding:12px 14px;
    cursor:pointer; font-size:14px;
}
#jgr-open-chat-btn{
    width:34px; height:34px; border:none; border-radius:50%;
    background:linear-gradient(135deg,#e67e22,#d35400);
    color:#fff; cursor:pointer; font-size:15px; font-weight:700;
    display:flex; align-items:center; justify-content:center;
    flex:0 0 34px;
}
.jgr-japin-link{
    text-decoration:none!important;
    color:#777;
    border:0!important;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
}
.jgr-japin-link:hover #jgr-global-search{
    color:#d35400;
}
#jgr-global-search{
    display:block;
    text-align:left;
    user-select:none;
}

/* --- JAPIN INLINE MODAL: supaya tidak buka tab baru --- */
#jgr-japin-inline-modal{
    position:fixed;
    inset:0;
    z-index:2147483647;
    display:none;
    align-items:center;
    justify-content:center;
    padding:14px;
    background:rgba(17,24,39,.58);
    backdrop-filter:blur(4px);
    box-sizing:border-box;
}
#jgr-japin-inline-modal.show{
    display:flex;
}
.jgr-japin-inline-panel{
    position:relative;
    width:min(430px,96vw);
    height:min(760px,92vh);
    background:#fff;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 24px 80px rgba(0,0,0,.34);
    border:1px solid rgba(255,255,255,.7);
}
.jgr-japin-inline-close{
    position:absolute;
    right:10px;
    top:10px;
    z-index:5;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#1f2937;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.jgr-japin-inline-close:hover{
    background:#fff7ef;
}
#jgr-japin-inline-frame{
    width:100%;
    height:100%;
    border:0;
    display:block;
    background:#fff;
}
@media(max-width:540px){
    #jgr-japin-inline-modal{
        padding:8px;
        align-items:flex-end;
    }
    .jgr-japin-inline-panel{
        width:100%;
        height:calc(100svh - 16px);
        max-height:calc(100svh - 16px);
        border-radius:20px 20px 0 0;
    }
}
#jgr-clear-search{ display:none !important; }

	
				
/* --- PANEL CHAT MODE --- */
.jgr-chat-panel{
    display:none;
    flex-direction:column;
    flex:1;
    min-height:0;
    height:auto;
    max-height:none;
    text-align:left;
    padding:0;
    overflow:hidden;
}
.jgr-chat-head{
    display:flex; align-items:center; gap:10px;
    padding:14px 16px;
    border-bottom:1px solid #f1e1d3;
    background:#fffaf6;
}
				.jgr-chat-head{
    display:flex;
    align-items:center;
    gap:10px;
}
.jgr-chat-back-btn{
    border:none; background:#f6ece3; color:#8d5c2b;
    width:34px; height:34px; border-radius:50%;
    cursor:pointer; font-size:15px; font-weight:700;
}
.jgr-chat-head-title{
    display:flex;
    flex-direction:column;
    line-height:1.2;
    flex:1;
}
				
.jgr-chat-head-title strong{
    font-size:14px; color:#333;
}
.jgr-chat-head-title small{
    font-size:11px; color:#8c8c8c;
    margin-top:2px;
}
				
				.jgr-chat-clear-btn{
    border:none;
    background:#f6ece3;
    color:#8d5c2b;
    padding:8px 12px;
    border-radius:999px;
    cursor:pointer;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.jgr-chat-clear-btn:hover{
    background:#e67e22;
    color:#fff;
}

.jgr-chat-thread{
    flex:1;
    overflow-y:auto;
    padding:16px 14px 10px;
    background:#fff;
}
.jgr-chat-msg{
    display:flex;
    margin-bottom:12px;
}
.jgr-chat-msg.user{
    justify-content:flex-end;
}
.jgr-chat-msg.bot{
    justify-content:flex-start;
}
.jgr-chat-bubble{
    max-width:86%;
    padding:11px 13px;
    border-radius:16px;
    font-size:13px;
    line-height:1.55;
    word-break:break-word;
    box-shadow:0 3px 12px rgba(0,0,0,0.04);
}
.jgr-chat-msg.bot .jgr-chat-bubble{
    background:#fff7f0;
    color:#5d4037;
    border:1px solid #f3dfcf;
    border-top-left-radius:6px;
}
.jgr-chat-msg.user .jgr-chat-bubble{
    background:linear-gradient(135deg,#e67e22,#d35400);
    color:#fff;
    border-top-right-radius:6px;
}

.jgr-chat-suggestions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:0 14px 10px;
    background:#fff;
    max-height:88px;
    overflow-y:auto;
}
.jgr-suggestion-btn{
    border:1px solid #f1d6bf;
    background:#fff;
    color:#d35400;
    padding:9px 11px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:0.2s;
}
.jgr-suggestion-btn:hover{
    background:#e67e22;
    color:#fff;
    border-color:#e67e22;
}

.jgr-chat-compose{
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 14px 14px;
    border-top:1px solid #f1e1d3;
    background:#fffaf6;
}
#jgr-chat-input{
    flex:1;
    border:1px solid #ecd7c4;
    border-radius:999px;
    padding:12px 14px;
    font-size:13px;
    outline:none;
    background:#fff;
}
#jgr-chat-input:focus{
    border-color:#e67e22;
    box-shadow:0 0 0 3px rgba(230,126,34,0.08);
}
#jgr-chat-send{
    width:40px; height:40px;
    border:none; border-radius:50%;
    background:linear-gradient(135deg,#e67e22,#d35400);
    color:#fff;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
}

.jgr-chat-meta{
    margin-top:6px;
    font-size:11px;
    color:#999;
}
				
				/* Sembunyikan trigger search atas saat mode chat aktif */
#jgr-app-container.is-chat-mode .jgr-chat-trigger-wrap{
    display:none !important;
}

                /* --- FLOATING FOOTER NATIVE APP --- */
                #jgr-bottom-nav {
                    position: absolute; bottom: 0; left: 0; right: 0; background: #fff;
                    display: flex; justify-content: space-around; align-items: center;
                    padding: 10px 0 15px 0; box-shadow: 0 -4px 20px rgba(0,0,0,0.05);
                    border-top-left-radius: 24px; border-top-right-radius: 24px; z-index: 99;
                }
                .jgr-nav-item {
                    display: flex; flex-direction: column; align-items: center;
                    background: none; border: none; color: #95a5a6; font-size: 11px; font-weight: 700;
                    cursor: pointer; padding: 5px; width: 20%; transition: 0.2s;
                }
                .jgr-nav-item:hover { color: #d35400; }
                .jgr-nav-item span { font-size: 22px; margin-bottom: 4px; display: block; }
                
                .jgr-nav-center {
                    width: 58px; height: 58px; background: linear-gradient(135deg, #e67e22, #d35400); 
                    border-radius: 50%; display: flex; justify-content: center; align-items: center;
                    box-shadow: 0 8px 20px rgba(211,84,0,0.4); transform: translateY(-22px); 
                    border: 5px solid #f4f7f6; cursor: pointer; transition: 0.3s;
                }
                .jgr-nav-center:hover { transform: translateY(-25px) scale(1.05); }
                .jgr-nav-center span { font-size: 26px; color: #fff; margin-top: 2px; }

                .fade-in { animation: fadeIn 0.3s ease-in-out; }
                @keyframes fadeIn {
                    from { opacity: 0; transform: translateY(10px); }
                    to { opacity: 1; transform: translateY(0); }
                }

                .question-text { font-size: 18px; color: #333; font-weight: 700; margin-bottom: 25px; line-height: 1.4; }

                .option-btn {
                    display: block; width: 100%; padding: 14px; margin-bottom: 12px;
                    background-color: #fff; color: #d35400; border: 2px solid #fce8d8;
                    border-radius: 10px; font-size: 15px; font-weight: 600;
                    cursor: pointer; transition: all 0.2s ease;
                }
                .option-btn:hover { background-color: #e67e22; color: #fff; border-color: #e67e22; transform: translateY(-2px); }

                .back-btn { background: none; border: none; color: #95a5a6; font-size: 14px; cursor: pointer; margin-top: 20px; font-weight: 600; text-decoration: none;}
                .back-btn:hover { color: #d35400; }

                .support-text { margin-top: 30px; font-size: 12px; color: #aaa; border-top: 1px solid #eee; padding-top: 15px; }
				
				/* --- LABEL HARGA TOMBOL --- */
                .btn-price-badge { 
                    display: block; font-size: 13px; color: #e67e22; 
                    margin-top: 6px; font-weight: 800; background: #fdf2e9; 
                    padding: 4px 10px; border-radius: 6px; width: fit-content; 
                    margin-left: auto; margin-right: auto; border: 1px solid #f9e7d9;
                }
                .option-btn:hover .btn-price-badge { background: #fff; }

/* --- MODAL KALKULATOR NATIVE --- */
.jgr-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    align-items: flex-end;
    justify-content: center;
    z-index: 99999999;
    backdrop-filter: blur(4px);
    overflow: hidden;
}

.jgr-modal-overlay.show {
    display: flex;
    animation: fadeInOverlay 0.3s;
}

@keyframes fadeInOverlay {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* KHUSUS MODAL PRODUK PL */
#jgr-native-modal {
    height: 100svh !important;
    max-height: 100svh !important;
    bottom: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Modal dibuat absolute, bukan flex biasa */
#jgr-native-modal .jgr-modal {
    position: relative !important;
    background: #fff;
    width: 100%;
    max-width: 600px;
    height: calc(100svh - 16px) !important;
    max-height: calc(100svh - 16px) !important;
    border-radius: 20px 20px 0 0;
    display: block !important;
    overflow: hidden !important;
    box-shadow: 0 -10px 40px rgba(0,0,0,0.2);
    animation: slideUp 0.3s ease-out;
}

/* Header modal nempel atas */
#jgr-native-modal .jgr-modal-head {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    height: 62px;
    z-index: 30;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    background: #fff;
    box-sizing: border-box;
}

/* Body hanya area tengah yang boleh scroll */
#jgr-native-modal .jgr-modal-body {
    position: absolute !important;
    top: 62px;
    left: 0;
    right: 0;
    bottom: 66px;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 20px;
    padding-bottom: 24px;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    text-align: left;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/* Footer FAQ nempel bawah modal */
#jgr-native-modal .jgr-modal-foot {
    position: absolute !important;
    left: 0;
    right: 0;
    bottom: 0;
    height: 66px;
    z-index: 40;
    padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #eee;
    background: #fff;
    box-shadow: 0 -8px 20px rgba(0,0,0,0.08);
    box-sizing: border-box;
}

#jgr-native-modal .jgr-modal-foot:empty {
    display: none;
}

#jgr-native-modal .jgr-modal-foot .jgr-sa-faq-btn {
    width: 100% !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
}

/* Header detail */
.jgr-head-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.jgr-modal-back {
    background: #fdfdfd;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 700;
    color: #555;
    cursor: pointer;
    display: none;
    transition: 0.2s;
}

.jgr-modal-back:hover {
    background: #e67e22;
    color: #fff;
    border-color: #e67e22;
}

.jgr-modal-head h3 {
    margin: 0;
    font-size: 16px;
    color: #222;
    font-weight: 700;
}

.jgr-close {
    background: #f1f1f1;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    color: #555;
}

.jgr-close:hover {
    background: #e74c3c;
    color: #fff;
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

/* Desktop */
@media (min-width: 768px) {
    .jgr-modal-overlay {
        align-items: center;
    }

    #jgr-native-modal {
        height: 100vh !important;
        max-height: 100vh !important;
    }

    #jgr-native-modal .jgr-modal {
        height: 85vh !important;
        max-height: 85vh !important;
        border-radius: 16px;
    }
}                
				
/* === FIX GALERI REKANAN DI DALAM SMART ASSISTANT === */
#jgr-gallery-modal {
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}

#jgr-gallery-modal * {
    pointer-events: auto !important;
}

#jgr-gallery-modal .jgr-gallery-panel {
    width: min(560px, 94vw) !important;
    max-height: 84vh !important;
}

#jgr-gallery-modal .jgr-gallery-body {
    max-height: calc(84vh - 58px) !important;
}

#jgr-gallery-modal .jgr-gallery-frame {
    height: 70vh !important;
}

@media (max-width: 768px) {
    #jgr-gallery-modal {
        padding: 8px !important;
    }

    #jgr-gallery-modal .jgr-gallery-panel {
        width: 96vw !important;
        max-height: 86vh !important;
    }

    #jgr-gallery-modal .jgr-gallery-frame {
        height: 72vh !important;
    }
}				
                /* --- PERBAIKAN FORM VARIASI & PEMBASMI SPACE KOSONG --- */
                .jgr-modal-body form.cart { margin: 0 !important; padding: 15px 0 0 0 !important; border-top: 1px dashed #eee; }
                .jgr-modal-body .variations { width: 100%; margin-bottom: 15px; }
                .jgr-modal-body .variations td { padding: 8px 0; display: block; border: none; }
                .jgr-modal-body .variations label { font-weight: bold; color: #555; }
                .jgr-modal-body .variations select { width: 100%; padding: 10px; border-radius: 8px; border: 1px solid #ccc; font-size: 15px; }
                .jgr-modal-body .woocommerce-variation-price { font-size: 1.5em; font-weight: bold; color: #c0392b; margin-bottom: 15px; }
                
/* Pembasmi space kosong TANPA menghilangkan Kalkulator Catering */
.jgr-modal-body .quantity, 
.jgr-modal-body .single_add_to_cart_button, 
.jgr-modal-body .price,
.jgr-modal-body .clear,
.jgr-modal-body .woocommerce-variation-add-to-cart .quantity,
.jgr-modal-body .woocommerce-variation-add-to-cart button { 
    display: none !important; margin: 0 !important; padding: 0 !important; height: 0 !important; overflow: hidden !important;
}
.jgr-modal-body .woocommerce-variation-add-to-cart {
    margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important;
}

                /* Reset Kalkulator Jagarasa di dalam Modal */
                #jagarasa-calc-wrapper, #jagarasa-univ-calc, #jagarasa-bundle-calc, #stall-calc-container, #jagarasa-buffet-calc {
                    box-shadow: none !important; border: none !important; padding: 0 !important; margin-bottom: 15px !important;
                }

                .jgr-loader {
                    display: inline-block; width: 40px; height: 40px;
                    border: 4px solid #f3f3f3; border-top: 4px solid #d35400;
                    border-radius: 50%; animation: spin 1s linear infinite; margin: 30px auto;
                }
                @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
				
				/* ===== FIX AGAR CHAT TIDAK TENGGELAM ===== */
#jgr-app-container.is-chat-mode{
    padding-top: 95px !important;
    padding-bottom: 28px !important;
}

#jgr-app-container.is-chat-mode .smart-box{
    display:flex;
    flex-direction:column;
    padding:0 !important;
    overflow:hidden !important;
    height:calc(100vh - 190px);
    max-height:calc(100vh - 190px);
}

#jgr-app-container.is-chat-mode #step-chat-assistant{
    display:flex !important;
    flex-direction:column;
    flex:1;
    min-height:0;
}

#jgr-app-container.is-chat-mode .jgr-chat-thread{
    flex:1;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}

#jgr-app-container.is-chat-mode .jgr-chat-suggestions{
    flex:0 0 auto;
}

#jgr-app-container.is-chat-mode .jgr-chat-compose{
    flex:0 0 auto;
}
#jgr-calc-sandbox{
    position: fixed;
    left: -99999px;
    top: -99999px;
    width: 420px;
    opacity: 0;
    pointer-events: none;
    z-index: -1;
}
#jgr-calc-sandbox .quantity,
#jgr-calc-sandbox .single_add_to_cart_button{
    display: none !important;
}		
/* === TOMBOL GALERI DOKUMENTASI DI SMART KATALOG === */
.jgr-sa-more-gallery-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    box-sizing: border-box;
    border: 0;
    cursor: pointer;
    padding: 13px 16px;
    margin: 0 0 14px 0;
    border-radius: 10px;
    background: #263646;
    color: #fff !important;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.35;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
	position: relative;
z-index: 20;
pointer-events: auto !important;
}
.jgr-sa-faq-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  box-sizing:border-box;
  border:0;
  cursor:pointer;
  padding:13px 16px;
  margin:0 0 14px 0;
  border-radius:10px;
  background:#27ae60;
  color:#fff!important;
  font-weight:800;
  font-size:14px;
  line-height:1.35;
  text-decoration:none!important;
  box-shadow:0 6px 18px rgba(39,174,96,.20);
  position:relative;
  z-index:20;
  pointer-events:auto!important;
}

.jgr-sa-faq-btn:hover{
  opacity:.92;
}
.jgr-sa-more-gallery-btn:hover {
    opacity: .92;
}

/* === POPUP DOKUMENTASI DI SMART KATALOG === */
#jgr-sa-doc-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 14px;
}

#jgr-sa-doc-modal.show {
    display: flex;
    pointer-events: auto !important;
}

.jgr-sa-doc-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.62);
}

.jgr-sa-doc-panel {
    position: relative;
    width: min(980px, 92vw);
    height: min(760px, 86vh);
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,.34);
    display: flex;
    flex-direction: column;
}

.jgr-sa-doc-head {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 10px 12px;
    border-bottom: 1px solid #e8e8e8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
}

.jgr-sa-doc-head strong {
    font-size: 13px;
    color: #222;
}

.jgr-sa-doc-close {
    border: 0;
    cursor: pointer;
    background: #b42b2b;
    color: #fff;
    border-radius: 6px;
    padding: 7px 10px;
    font-size: 11px;
    font-weight: 800;
}

.jgr-sa-doc-framebox {
    position: relative;
    flex: 1;
    min-height: 0;
    background: #f8fafc;
}

.jgr-sa-doc-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #667085;
    background: #f8fafc;
    z-index: 1;
}

#jgr-sa-doc-frame {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

#jgr-sa-doc-frame.is-loading {
    opacity: 0;
}

@media (max-width: 768px) {
    #jgr-sa-doc-modal {
        padding: 8px;
        align-items: flex-end;
    }

    .jgr-sa-doc-panel {
        width: 100%;
        height: 86vh;
        border-radius: 14px 14px 8px 8px;
    }
}		
            