/* PAKJHONLABS FOOTER */
.pj-footer { --pj-green:#21745b; --pj-green-dark:#075744; --pj-green-light:#eaf5f0; --pj-text:#222; --pj-muted:#666; --pj-border:#e7e7e7; --pj-white:#fff; position:relative; z-index:1; width:100%; height:auto; min-height:0; background:#fff; color:var(--pj-text); font-size:14px; transform:none; }
/* SERVICE FEATURES */
.pj-service-wrap { padding:40px 0; background:#fff; }
.pj-service-grid { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-radius:18px; box-shadow:0 8px 35px rgba(0,0,0,.07); padding:30px 20px; }
.pj-service-item { display:flex; align-items:center; padding:15px 35px; border-right:1px solid #e8e8e8; }
.pj-service-item:last-child { border-right:0; }
.pj-service-icon { width:62px; height:62px; min-width:62px; border-radius:50%; background:var(--pj-green-light); color:var(--pj-green); display:flex; align-items:center; justify-content:center; font-size:28px; margin-right:20px; }
.pj-service-content h3 { margin:0 0 7px; color:#111; font-size:17px; font-weight:700; }
.pj-service-content p { margin:0; color:#666; font-size:13px; line-height:1.6; }
/* NEWSLETTER */
.pj-newsletter-wrap { padding:0 0 35px; background:#fff; }
.pj-newsletter { display:grid; grid-template-columns:1.1fr 1.4fr .8fr; align-items:center; gap:30px; padding:25px 30px; background:#edf7f2; border-radius:16px; }
.pj-newsletter-info h4 { margin:0 0 7px; color:#111; font-size:16px; font-weight:800; }
.pj-newsletter-info p { margin:0; color:#666; font-size:12px; line-height:1.6; }
.pj-newsletter-input { display:flex; overflow:hidden; background:#fff; border:1px solid #e5e5e5; border-radius:9px; }
.pj-newsletter-input input { flex:1; min-width:0; padding:13px 16px; background:#fff; border:0!important; outline:0!important; box-shadow:none!important; font-size:13px; }
.pj-newsletter-input button { padding:0 25px; background:var(--pj-green); border:0; color:#fff; font-size:13px; font-weight:700; cursor:pointer; }
.pj-newsletter-input button:hover { background:var(--pj-green-dark); }
.pj-newsletter-social { padding-left:25px; border-left:1px solid #d8e8e1; }
.pj-newsletter-social > span { display:block; margin-bottom:10px; font-size:13px; font-weight:700; }
/* FOOTER MAIN */
.pj-footer-main { padding:65px 0 45px; background:#fff; }
.pj-footer-main .row { row-gap:30px; }
/* BRAND */
.pj-logo { margin-bottom:22px; }
.pj-logo-main { display:block; color:#222; font-size:27px; font-weight:800; line-height:1.1; letter-spacing:-.8px; }
.pj-logo-main span { color:var(--pj-green); }
.pj-logo small { display:block; margin-top:5px; color:var(--pj-green); font-size:11px; font-weight:600; letter-spacing:.3px; }
.pj-description { max-width:280px; margin-bottom:25px; color:#666; line-height:1.8; }
/* CONTACT */
.pj-contact-list { margin-bottom:22px; }
.pj-contact-item { display:flex; align-items:flex-start; margin-bottom:15px; }
.pj-contact-icon { width:34px; height:34px; min-width:34px; display:flex; align-items:center; justify-content:center; margin-right:12px; border-radius:50%; background:var(--pj-green-light); color:var(--pj-green); font-size:13px; }
.pj-contact-item span { display:block; margin-bottom:2px; color:#666; font-size:12px; font-weight:600; }
.pj-contact-item a,.pj-contact-item p { margin:0; color:#333; font-size:13px; line-height:1.6; text-decoration:none; }
.pj-contact-item a:hover { color:var(--pj-green); }
/* ADMIN BUTTON */
.pj-admin-btn { display:flex; align-items:center; justify-content:center; width:100%; padding:11px 16px; border:0; border-radius:10px; background:var(--pj-green); color:#fff !important; font-size:13px; font-weight:700; line-height:1.2; text-decoration:none !important; cursor:pointer; box-shadow:0 3px 10px rgba(33,116,91,.12); transition:background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
/* SVG ICON */
.pj-admin-btn svg { width:20px; height:20px; flex:0 0 20px; margin-right:8px; display:block; color:#fff; transition:transform .2s ease; }
/* TEXT */
.pj-admin-btn span { display:inline-flex; align-items:center; color:#fff !important; font-size:13px; font-weight:700; line-height:1.2; }
/* HOVER */
.pj-admin-btn:hover { background:var(--pj-green-dark); box-shadow:0 7px 16px rgba(33,116,91,.20); color:#fff !important; transform:translateY(-2px); }
.pj-admin-btn:hover svg { transform:scale(1.06); }
/* ACTIVE */
.pj-admin-btn:active { transform:translateY(0); box-shadow:0 3px 8px rgba(33,116,91,.15); }
/* FOCUS */
.pj-admin-btn:focus { outline:none; color:#fff !important; }
.pj-reseller-text { margin:12px 15px 0; color:#666; font-size:12px; line-height:1.6; }
/* FOOTER COLUMN */
.pj-footer-column { height:100%; }
.pj-footer-heading,.pj-footer-title { position:relative; display:flex; align-items:center; justify-content:space-between; width:100%; margin:0 0 18px; padding:0 0 14px; background:transparent; border:0; border-bottom:1px solid var(--pj-border); color:#111; font-size:14px; font-weight:800; text-align:left; text-transform:uppercase; }
.pj-footer-heading::after,.pj-footer-title::after { content:""; position:absolute; left:0; bottom:-1px; width:30px; height:2px; background:var(--pj-green); }
.pj-footer-heading i { display:none; transition:transform .3s ease; }
.pj-footer-heading[aria-expanded="false"] i { transform:rotate(-90deg); }
/* FOOTER LINKS */
.pj-footer-links { margin:0; padding:0; list-style:none; }
.pj-footer-links li { margin-bottom:13px; }
.pj-footer-links li a { display:flex; align-items:center; justify-content:space-between; color:#555; font-size:13px; line-height:1.5; text-decoration:none; transition:all .2s ease; }
.pj-footer-links li a i { color:#aaa; font-size:9px; opacity:0; transform:translateX(-5px); transition:all .2s ease; }
.pj-footer-links li a:hover { padding-left:3px; color:var(--pj-green); }
.pj-footer-links li a:hover i { opacity:1; transform:translateX(0); }
/* PAYMENT */
.pj-payment-box { margin-bottom:30px; padding:12px; background:#fafafa; border:1px solid #eee; border-radius:10px; }
.pj-payment-img { display:block; width:100%; height:auto; object-fit:contain; }
/* SOCIAL */
.pj-social-wrapper { margin-top:25px; }
.pj-social-list { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pj-social-list a { display:flex; align-items:center; justify-content:center; width:34px; height:34px; background:var(--pj-green); border-radius:7px; color:#fff!important; font-size:13px; text-decoration:none!important; transition:all .25s ease; }
.pj-social-list a:hover { background:var(--pj-green-dark); color:#fff!important; transform:translateY(-3px); }
/* FOOTER BOTTOM */
.pj-footer-bottom { padding:17px 0; background:var(--pj-green-dark); }
.pj-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.pj-secure-payment { display:flex; align-items:center; gap:20px; }
.pj-secure-label { display:flex; align-items:center; gap:8px; color:#fff; font-size:12px; font-weight:700; white-space:nowrap; }
.pj-secure-label i { font-size:18px; }
.pj-payment-icons { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.pj-payment-logo { display:flex; align-items:center; justify-content:center; min-width:52px; height:30px; padding:0 8px; background:#fff; border-radius:6px; color:#174b9c; font-size:10px; font-weight:800; }
.pj-payment-logo.mastercard { position:relative; }
.pj-payment-logo.mastercard::before,.pj-payment-logo.mastercard::after { content:""; position:absolute; width:13px; height:13px; border-radius:50%; }
.pj-payment-logo.mastercard::before { margin-left:-7px; background:#e32d2d; }
.pj-payment-logo.mastercard::after { margin-left:7px; background:#f3a500; }
.pj-copyright { color:rgba(255,255,255,.9); font-size:12px; text-align:right; white-space:nowrap; }
/* TABLET */
@media (max-width:1199px) {
    .pj-service-item { padding:15px; }
    .pj-service-icon { width:50px; height:50px; min-width:50px; margin-right:12px; font-size:22px; }
    .pj-service-content h3 { font-size:14px; }
    .pj-service-content p { font-size:11px; }
    .pj-footer-main { padding:50px 0 35px; }
    .pj-newsletter { grid-template-columns:1fr 1fr; }
    .pj-newsletter-social { padding-left:0; border-left:0; }
    .pj-bottom-inner { flex-direction:column; }
    .pj-secure-payment { justify-content:center; flex-wrap:wrap; }
    .pj-copyright { text-align:center; }
}
/* TABLET */
@media (max-width:991px) {
    .pj-footer,.pj-footer-main,.pj-footer-bottom,.pj-footer-column { height:auto; min-height:0; }
    .pj-service-grid { grid-template-columns:repeat(4,1fr); padding:18px 8px; }
    .pj-service-item { padding:10px 8px; }
    .pj-service-icon { width:44px; height:44px; min-width:44px; margin-right:9px; font-size:19px; }
    .pj-service-content h3 { margin-bottom:3px; font-size:12px; }
    .pj-service-content p { font-size:10px; line-height:1.4; }
    .pj-footer-heading { cursor:pointer; }
    .pj-footer-heading i { display:block; font-size:11px; }
    .pj-footer-heading::after { display:none; }
    .pj-footer-main .row { row-gap:20px; }
}
/* MOBILE */
@media (max-width:767px) {
    .pj-footer { font-size:13px; overflow:visible; }
    .pj-service-wrap { padding:15px 10px; }
    .pj-service-grid { grid-template-columns:repeat(4,1fr); padding:12px 5px; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,.06); }
    .pj-service-item,.pj-service-item:nth-child(2),.pj-service-item:nth-child(-n+2) { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:8px 4px; border-right:1px solid #e8e8e8; border-bottom:0; text-align:center; }
    .pj-service-item:last-child { border-right:0; }
    .pj-service-icon { width:40px; height:40px; min-width:40px; margin:0 0 7px; font-size:18px; }
    .pj-service-content { width:100%; }
    .pj-service-content h3 { margin:0 0 3px; font-size:10px; line-height:1.3; }
    .pj-service-content p { display:none; }
    .pj-footer-main { padding:30px 0 20px; }
    .pj-footer-main > .container { padding-right:15px; padding-left:15px; }
    .pj-description { max-width:none; }
    .pj-footer-heading { margin-bottom:0; padding:14px 0; border-bottom:1px solid #eee; }
    .pj-footer-heading i { display:block; font-size:11px; }
    .pj-footer-links { padding:15px 0 8px; }
    .pj-footer-links li { margin-bottom:11px; }
    .pj-footer-links li a { font-size:12px; }
    .pj-payment-box { margin-top:15px; }
    .pj-payment-img { max-height:90px; object-fit:contain; }
    .pj-newsletter-wrap { padding:10px 15px 25px; }
    .pj-newsletter { grid-template-columns:1fr; gap:18px; padding:20px 17px; border-radius:12px; }
    .pj-newsletter-info h4 { font-size:15px; }
    .pj-newsletter-info p { font-size:11px; }
    .pj-newsletter-input input { width:100%; padding:11px 12px; font-size:12px; }
    .pj-newsletter-input button { padding:0 15px; font-size:12px; }
    .pj-newsletter-social { display:flex; align-items:flex-start; flex-direction:column; gap:10px; padding-left:0; border-left:0; }
    .pj-newsletter-social > span { margin-bottom:0; }
    .pj-footer-bottom { padding:20px 15px; }
    .pj-bottom-inner { gap:15px; }
    .pj-secure-payment { flex-direction:column; width:100%; gap:12px; }
    .pj-secure-label { justify-content:center; }
    .pj-payment-icons { justify-content:center; }
    .pj-payment-logo { min-width:45px; height:27px; font-size:8px; }
    .pj-copyright { padding-top:5px; font-size:11px; line-height:1.6; text-align:center; white-space:normal; }
}
/* SMALL MOBILE */
@media (max-width:480px) {
    .pj-service-grid { padding:10px 3px; }
    .pj-service-item,.pj-service-item:nth-child(2),.pj-service-item:nth-child(-n+2) { padding:7px 2px; }
    .pj-service-icon { width:36px; height:36px; min-width:36px; margin-bottom:6px; font-size:16px; }
    .pj-service-content h3 { font-size:9px; }
    .pj-logo-main { font-size:24px; }
    .pj-footer-main { padding-top:25px; }
	.pj-admin-btn { padding:10px 14px; border-radius:9px; font-size:12px; }
	.pj-admin-btn svg { width:18px; height:18px; flex-basis:18px; margin-right:7px; }
	.pj-admin-btn span { font-size:12px; }
    .pj-newsletter-info h4 { font-size:14px; }
    .pj-newsletter-info p { font-size:11px; }
    .pj-newsletter-input button { padding:0 12px; }
}
/* PAGINATION PESANAN */
.pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; width:100%; margin:30px 0 10px; padding:0; }
.pagination .item { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; margin:0; border:1px solid #e5e7eb; border-radius:10px; background:#fff; color:#374151; font-size:14px; font-weight:600; line-height:1; text-decoration:none; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease; }
.pagination .item:hover:not(:disabled) { background:#f3f6ff; border-color:#cbd5ff; color:#2563eb; transform:translateY(-1px); box-shadow:0 3px 10px rgba(0,0,0,.06); }
.pagination .item.active,.pagination .item.active:disabled { background:#2563eb; border-color:#2563eb; color:#fff; cursor:default; box-shadow:0 4px 12px rgba(37,99,235,.20); }
.pagination .item:disabled { opacity:1; }
.pagination .item:first-child,.pagination .item:last-child { font-size:20px; font-weight:400; }
.pagination .item:active:not(:disabled) { transform:scale(.96); }
/* PAGINATION TABLET */
@media (max-width:991px) {
    .pagination { gap:7px; margin-top:25px; }
    .pagination .item { width:38px; height:38px; border-radius:9px; font-size:13px; }
}
/* PAGINATION MOBILE */

@media (max-width:767px) {
    .pagination { gap:6px; margin:25px 0 5px; }
    .pagination .item { width:36px; height:36px; border-radius:8px; font-size:13px; }
}

/* PAGINATION MOBILE KECIL */

@media (max-width:480px) {
    .pagination { gap:5px; margin-top:22px; }
    .pagination .item { width:34px; height:34px; border-radius:8px; font-size:12px; }
    .pagination .item:first-child,.pagination .item:last-child { font-size:18px; }
}
.admin-contact-modal .modal-dialog { max-width: 430px; margin: 1.25rem auto; }
.admin-contact-modal .modal-content { position: relative; overflow: hidden; border: 0; border-radius: 18px; background: #fff; box-shadow: 0 20px 55px rgba(0,0,0,.20), 0 8px 22px rgba(0,0,0,.08); }

/* Backdrop */
.admin-contact-modal + .modal-backdrop, .modal-backdrop.show { opacity: .65; }

/* Close */
.admin-modal-close { position: absolute; top: 12px; right: 12px; z-index: 20; width: 32px; height: 32px; padding: 0; border-radius: 50%; background-color: rgba(255,255,255,.96); opacity: 1; box-shadow: 0 3px 10px rgba(0,0,0,.08); transition: transform .2s ease, background-color .2s ease; }
.admin-modal-close:hover { opacity: 1; transform: rotate(90deg); background-color: #f1f5f4; }

/* Illustration */
.admin-modal-illustration { position: relative; height: 150px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.admin-illustration-bg { position: absolute; width: 270px; height: 135px; top: 12px; border-radius: 45% 55% 50% 50%; background: linear-gradient(135deg,#e8fff7,#c9f8ea,#effffb); transform: rotate(-5deg); }
.admin-whatsapp-icon { position: relative; z-index: 3; width: 88px; height: 88px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #18c85b; background: #fff; box-shadow: 0 10px 25px rgba(18,163,86,.20); transform: rotate(-5deg); }
.admin-whatsapp-icon svg { width: 60px; height: 60px; }

/* Chat Bubble */
.admin-chat-bubble { position: relative; z-index: 2; width: 88px; height: 57px; margin-left: -10px; margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 23px; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.10); }
.admin-chat-bubble::after { content: ""; position: absolute; left: 20px; bottom: -10px; width: 22px; height: 22px; background: #fff; clip-path: polygon(0 0,100% 0,0 100%); }
.admin-chat-bubble span { width: 9px; height: 9px; border-radius: 50%; background: #20c8b9; }

/* Body */
.admin-modal-body { padding: 0 24px 24px; text-align: center; }
.admin-modal-body h4 { margin: 0 0 7px; color: #075f50; font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.4px; }
.admin-modal-description { max-width: 360px; margin: 0 auto 18px; color: #637286; font-size: 12px; font-weight: 500; line-height: 1.5; }

/* Contact Button */
.admin-contact-btn { width: 100%; min-height: 64px; display: flex; align-items: center; padding: 10px 13px; border: 0; border-radius: 13px; color: #fff; text-decoration: none; text-align: left; cursor: pointer; box-shadow: 0 6px 17px rgba(0,0,0,.10); transition: transform .2s ease, box-shadow .2s ease; }
.admin-contact-btn + .admin-contact-btn { margin-top: 10px; }
.admin-contact-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,.14); }
.admin-contact-btn:active { transform: translateY(0); }

/* WhatsApp */
.whatsapp-btn { background: linear-gradient(135deg,#0fba57 0%,#19d35f 100%); }

/* Live Chat */
.livechat-btn { background: linear-gradient(135deg,#18c5c0 0%,#28d5c3 100%); }

/* Contact Icon */
.admin-contact-icon { flex: 0 0 48px; width: 48px; height: 42px; display: flex; align-items: center; justify-content: center; margin-right: 13px; padding-right: 11px; border-right: 1px solid rgba(255,255,255,.35); }
.admin-contact-icon svg { width: 31px; height: 31px; }
.admin-contact-icon i { color: #fff; font-size: 30px; line-height: 1; }

/* Contact Text */
.admin-contact-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.admin-contact-text strong { color: #fff; font-size: 14px; font-weight: 800; line-height: 1.25; }
.admin-contact-text span { color: rgba(255,255,255,.92); font-size: 10px; font-weight: 500; line-height: 1.3; }

/* Arrow */
.admin-contact-arrow { flex: 0 0 auto; margin-left: 7px; color: #fff; font-size: 23px; transition: transform .2s ease; }
.admin-contact-btn:hover .admin-contact-arrow { transform: translateX(3px); }

/* Tablet */
@media (max-width: 767.98px) {
    .admin-contact-modal .modal-dialog { max-width: calc(100% - 30px); margin: .75rem auto; }
    .admin-contact-modal .modal-content { border-radius: 17px; }
    .admin-modal-illustration { height: 140px; }
    .admin-illustration-bg { width: 250px; height: 125px; top: 10px; }
    .admin-whatsapp-icon { width: 82px; height: 82px; }
    .admin-whatsapp-icon svg { width: 56px; height: 56px; }
    .admin-chat-bubble { width: 82px; height: 54px; margin-left: -9px; margin-top: 16px; }
    .admin-modal-body { padding: 0 20px 21px; }
    .admin-modal-body h4 { font-size: 22px; }
    .admin-modal-description { margin-bottom: 16px; font-size: 11px; }
    .admin-contact-btn { min-height: 60px; padding: 9px 11px; border-radius: 12px; }
    .admin-contact-btn + .admin-contact-btn { margin-top: 9px; }
    .admin-contact-icon { flex: 0 0 44px; width: 44px; height: 40px; margin-right: 11px; padding-right: 9px; }
    .admin-contact-icon svg { width: 29px; height: 29px; }
    .admin-contact-icon i { font-size: 27px; }
    .admin-contact-text strong { font-size: 13px; }
    .admin-contact-text span { font-size: 9px; }
    .admin-contact-arrow { font-size: 21px; }
}
/* Mobile */
@media (max-width: 575.98px) {
    .admin-contact-modal .modal-dialog { max-width: calc(100% - 24px); margin: .6rem auto; }
    .admin-contact-modal .modal-content { border-radius: 16px; }
    .admin-modal-close { top: 9px; right: 9px; width: 29px; height: 29px; }
    .admin-modal-illustration { height: 125px; }
    .admin-illustration-bg { width: 220px; height: 110px; top: 8px; }
    .admin-whatsapp-icon { width: 74px; height: 74px; }
    .admin-whatsapp-icon svg { width: 51px; height: 51px; }
    .admin-chat-bubble { width: 75px; height: 49px; margin-left: -8px; margin-top: 14px; gap: 5px; border-radius: 20px; }
    .admin-chat-bubble::after { left: 17px; bottom: -8px; width: 18px; height: 18px; }
    .admin-chat-bubble span { width: 8px; height: 8px; }
    .admin-modal-body { padding: 0 15px 17px; }
    .admin-modal-body h4 { margin-bottom: 5px; font-size: 20px; letter-spacing: -.2px; }
    .admin-modal-description { margin-bottom: 14px; font-size: 10px; line-height: 1.45; }
    .admin-contact-btn { min-height: 56px; padding: 8px 10px; border-radius: 11px; }
    .admin-contact-btn + .admin-contact-btn { margin-top: 8px; }
    .admin-contact-icon { flex: 0 0 40px; width: 40px; height: 37px; margin-right: 9px; padding-right: 8px; }
    .admin-contact-icon svg { width: 26px; height: 26px; }
    .admin-contact-icon i { font-size: 24px; }
    .admin-contact-text { gap: 1px; }
    .admin-contact-text strong { font-size: 12px; }
    .admin-contact-text span { font-size: 9px; }
    .admin-contact-arrow { margin-left: 5px; font-size: 19px; }
}

/* Extra Small */
@media (max-width: 380px) {
    .admin-contact-modal .modal-dialog { max-width: calc(100% - 18px); margin: .5rem auto; }
    .admin-modal-illustration { height: 115px; }
    .admin-illustration-bg { width: 200px; height: 100px; }
    .admin-whatsapp-icon { width: 68px; height: 68px; }
    .admin-whatsapp-icon svg { width: 47px; height: 47px; }
    .admin-chat-bubble { width: 68px; height: 45px; margin-left: -7px; margin-top: 12px; }
    .admin-modal-body { padding: 0 13px 15px; }
    .admin-modal-body h4 { font-size: 19px; }
    .admin-modal-description { font-size: 9px; }
    .admin-contact-btn { min-height: 53px; padding: 7px 9px; }
    .admin-contact-icon { flex: 0 0 37px; width: 37px; height: 35px; margin-right: 8px; padding-right: 7px; }
    .admin-contact-icon svg { width: 24px; height: 24px; }
    .admin-contact-icon i { font-size: 22px; }
    .admin-contact-text strong { font-size: 11px; }
    .admin-contact-text span { font-size: 8px; }
    .admin-contact-arrow { font-size: 18px; }
}