/* ==========================================================================
   NPT SHORTCODES STYLESHEET
   Format: 1 Baris Mendatar per Selektor (Optimized & Minified)
   Variabel Warna (--npt-theme, --npt-theme-rgb, dll) dikirim via PHP inline.
   ========================================================================== */

/* 1. DAFTAR TOUR GRID & SLIDER */
.npt-sc-wrapper { width: 100% !important; max-width: 100% !important; display: block !important; box-sizing: border-box !important; }
.tour-grid-layout { display: grid !important; gap: 25px !important; width: 100% !important; box-sizing: border-box !important; }
.tour-grid-cols-1 { grid-template-columns: repeat(1, 1fr) !important; max-width: 380px !important; margin: 0 auto !important; }
.tour-grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; max-width: 760px !important; margin: 0 auto !important; }
.tour-grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; width: 100% !important; }
.tour-grid-cols-4 { grid-template-columns: repeat(4, 1fr) !important; width: 100% !important; }
.tour-carousel-inner-swiper .swiper-wrapper { display: flex !important; align-items: stretch !important; height: auto !important; }
.tour-carousel-inner-swiper .swiper-slide { height: auto !important; display: flex !important; flex-direction: column !important; box-sizing: border-box !important; }
.tour-card-item { width: 100% !important; display: flex !important; box-sizing: border-box; }
.tour-card { display: flex !important; flex-direction: column !important; width: 100% !important; height: 100% !important; min-height: 540px !important; box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important; border-radius: 15px !important; overflow: hidden !important; background: #fff !important; border: 1px solid #f0f0f0 !important; box-sizing: border-box !important; position: relative !important; transition: transform 0.3s ease !important; }
.tour-card:hover { transform: translateY(-5px) !important; }
.tour-image-container { width: 100% !important; height: 200px !important; position: relative !important; overflow: hidden !important; flex-shrink: 0 !important; background-color: #f7f7f7 !important; display: block !important; }
.tour-image-container a { display: block !important; width: 100% !important; height: 100% !important; }
.tour-image-container img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.tour-image-container.tour-slider .swiper-slide { height: 100% !important; }
.tour-image-container.tour-slider .swiper-pagination { bottom: 10px !important; z-index: 20 !important; }
.tour-image-container.tour-slider .swiper-pagination-bullet { background: rgba(255,255,255,0.6) !important; opacity: 1 !important; width: 12px !important; height: 6px !important; border-radius: 4px !important; margin: 0 3px !important; transition: all 0.3s ease !important; }
.tour-image-container.tour-slider .swiper-pagination-bullet-active { background: #FFD700 !important; width: 20px !important; }
.tour-content { padding: 20px !important; display: flex !important; flex-direction: column !important; flex-grow: 1 !important; box-sizing: border-box !important; background: #fff !important; text-align: left !important; margin-bottom: 125px !important; }
.tour-title { margin: 0 0 12px 0 !important; font-size: 1.15rem !important; line-height: 1.4 !important; font-weight: 700 !important; }
.tour-title a { text-decoration: none !important; color: #001D3D !important; transition: color 0.2s !important; display: block !important; }
.tour-title a:hover { color: var(--npt-theme) !important; }
.tour-features { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex !important; flex-direction: column !important; gap: 8px !important; flex-grow: 1 !important; }
.tour-features li { display: flex !important; align-items: center !important; gap: 8px !important; color: #555 !important; font-size: 0.9rem !important; line-height: 1.3 !important; text-align: left !important; }
.tour-features li .dashicons { color: #22c55e !important; font-size: 18px !important; width: 18px !important; height: 18px !important; display: inline-block !important; }
.tour-footer-box { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; height: 125px !important; background: #ffffff !important; padding: 5px 20px 20px 20px !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; z-index: 5 !important; }
.tour-help-divider { position: relative !important; width: 100% !important; height: 1px !important; background-color: var(--npt-theme) !important; margin: 0 0 15px 0 !important; display: block !important; z-index: 10 !important; }
.tour-help-link { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; background: #fff !important; padding: 2px 12px !important; border: 1px solid var(--npt-theme) !important; border-radius: 20px !important; color: var(--npt-theme) !important; text-decoration: none !important; font-size: 11px !important; font-weight: 700 !important; z-index: 11 !important; transition: all 0.2s !important; }
.tour-help-link:hover { background: var(--npt-theme) !important; color: #fff !important; }
.tour-footer-layout { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; width: 100% !important; box-sizing: border-box !important; }
.price-container { display: flex !important; flex-direction: column !important; align-items: flex-start !important; flex-grow: 1 !important; gap: 2px !important; text-align: left !important; }
.price-label { font-size: 10px !important; font-weight: 700 !important; color: #888 !important; text-transform: uppercase !important; margin: 0 !important; line-height: 1 !important; }
.strike-row-wrapper { display: flex !important; align-items: center !important; gap: 4px !important; line-height: 1 !important; margin-bottom: 2px !important; }
.tour-discount-icon-badge { font-size: 12px !important; line-height: 1 !important; }
.archive-price-strike { font-size: 11px !important; color: #aaa !important; font-weight: 600 !important; text-decoration: line-through !important; display: inline-block !important; margin: 0 !important; line-height: 1 !important; }
.price-main-row { display: flex !important; align-items: flex-end !important; line-height: 1 !important; margin-top: 1px !important; }
.archive-currency-symbol { font-size: 12px !important; font-weight: 700 !important; color: var(--npt-theme) !important; margin-right: 2px !important; }
.price-amount { font-size: 19px !important; font-weight: 800 !important; line-height: 1 !important; color: var(--npt-theme) !important; }
.archive-price-sublabel { font-size: 10px !important; color: #666 !important; margin-top: 2px !important; display: block !important; width: 100% !important; line-height: 1.1 !important; }
.btn-booking { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 10px 18px !important; background-color: var(--npt-theme) !important; color: #fff !important; font-weight: 700 !important; text-decoration: none !important; border-radius: 20px !important; text-transform: uppercase !important; font-size: 12px !important; letter-spacing: 0.5px !important; transition: background 0.2s !important; box-sizing: border-box !important; text-align: center !important; white-space: nowrap !important; }
.btn-booking:hover { filter: brightness(0.9) !important; color: #fff !important; }
.tour-carousel-outer-box { position: relative !important; width: 100% !important; padding: 0 45px !important; box-sizing: border-box !important; }
.tour-carousel-inner-swiper { position: relative !important; width: 100% !important; overflow: hidden !important; padding: 10px 0 45px 0 !important; }
.tour-carousel-outer-box .swiper-button-next { color: var(--npt-theme) !important; right: 0px !important; top: 45% !important; transform: translateY(-50%) !important; width: 35px !important; height: 35px !important; background: #fff !important; border-radius: 50% !important; box-shadow: 0 3px 10px rgba(0,0,0,0.15) !important; }
.tour-carousel-outer-box .swiper-button-prev { color: var(--npt-theme) !important; left: 0px !important; top: 45% !important; transform: translateY(-50%) !important; width: 35px !important; height: 35px !important; background: #fff !important; border-radius: 50% !important; box-shadow: 0 3px 10px rgba(0,0,0,0.15) !important; }
.tour-carousel-outer-box .swiper-button-next::after, .tour-carousel-outer-box .swiper-button-prev::after { font-size: 16px !important; font-weight: 800 !important; }
.tour-carousel-outer-box .swiper-pagination { bottom: 15px !important; }
.tour-carousel-outer-box .swiper-pagination-bullet-active { background: var(--npt-theme) !important; width: 20px !important; border-radius: 4px !important; }
.tour-more-btn-container { text-align: center !important; margin-top: 35px !important; width: 100% !important; }
.tour-more-link { display: inline-block !important; padding: 12px 40px !important; border: 2px solid var(--npt-theme) !important; color: var(--npt-theme) !important; font-weight: 700 !important; border-radius: 30px !important; text-decoration: none !important; transition: all 0.3s ease !important; text-transform: uppercase !important; font-size: 13px !important; letter-spacing: 0.5px !important; }
.tour-more-link:hover { background-color: var(--npt-theme) !important; color: #fff !important; }
@media (max-width: 767px) { .tour-grid-layout { grid-template-columns: repeat(1, 1fr) !important; max-width: 360px !important; margin: 0 auto !important; } .tour-carousel-outer-box { padding: 0 !important; } .tour-carousel-outer-box .swiper-button-next, .tour-carousel-outer-box .swiper-button-prev { display: none !important; } .tour-carousel-inner-swiper { padding: 10px 0 40px 0 !important; } .tour-card-item { padding: 5px 2px !important; } .tour-card { min-height: 500px !important; } .tour-image-container { height: 175px !important; } .tour-content { padding: 15px !important; margin-bottom: 120px !important; } .tour-title { font-size: 1.05rem !important; } .tour-features li { font-size: 0.85rem !important; } .price-amount { font-size: 18px !important; } .btn-booking { padding: 8px 14px !important; font-size: 11px !important; } .tour-footer-box { padding: 5px 15px 15px 15px !important; height: 120px !important; } }

/* 2. TAXONOMY BADGES MINI CAROUSEL */
.tax-carousel-outer-box { position: relative !important; width: 100% !important; padding: 0 40px !important; box-sizing: border-box !important; clear: both !important; }
.tax-carousel-inner-swiper { position: relative !important; width: 100% !important; overflow: hidden !important; padding: 10px 0 40px 0 !important; display: block !important; }
.tax-carousel-inner-swiper .swiper-wrapper { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch !important; width: 100% !important; }
.tax-carousel-inner-swiper .swiper-slide { height: auto !important; display: flex !important; flex-direction: column !important; box-sizing: border-box !important; flex-shrink: 0 !important; }
.tax-card-wrapper { text-decoration: none !important; display: flex !important; flex-direction: column !important; background: #fff !important; border-radius: 12px !important; overflow: hidden !important; box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; transition: transform 0.3s ease !important; width: 100% !important; height: 100% !important; position: relative !important; }
.tax-card-wrapper:hover { transform: translateY(-4px) !important; box-shadow: 0 6px 16px rgba(0,0,0,0.1) !important; }
.tax-image-box { width: 100% !important; height: 105px !important; overflow: hidden !important; position: relative !important; display: block !important; }
.tax-image-box img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.tax-text-bar { background: #7E8B85 !important; padding: 8px 8px 8px 42px !important; position: relative !important; min-height: 38px !important; display: flex !important; align-items: center !important; box-sizing: border-box !important; width: 100% !important; }
.tax-card-wrapper.dark-style .tax-text-bar { background: #5E5E5E !important; }
.tax-counter-badge { position: absolute !important; left: 8px !important; top: 50% !important; transform: translateY(-50%) !important; background: #ffffff !important; color: #000000 !important; font-size: 11px !important; font-weight: 700 !important; width: 26px !important; height: 22px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 4px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.15) !important; }
.tax-card-wrapper.dark-style .tax-counter-badge { background: #EBEE00 !important; color: #000000 !important; }
.tax-name-title { margin: 0 !important; color: #ffffff !important; font-size: 0.8rem !important; font-weight: 500 !important; line-height: 1.2 !important; text-align: left !important; font-family: sans-serif !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.tax-carousel-outer-box .swiper-button-next, .tax-carousel-outer-box .swiper-button-prev { color: var(--npt-theme) !important; top: 50% !important; transform: translateY(-50%) !important; width: 32px !important; height: 32px !important; background: #fff !important; border-radius: 50% !important; box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important; }
.tax-carousel-outer-box .swiper-button-next { right: 0px !important; }
.tax-carousel-outer-box .swiper-button-prev { left: 0px !important; }
.tax-carousel-outer-box .swiper-button-next::after, .tax-carousel-outer-box .swiper-button-prev::after { font-size: 11px !important; font-weight: 800 !important; }
.tax-carousel-outer-box .swiper-pagination-bullet-active { background: var(--npt-theme) !important; }
@media (max-width: 767px) { .tax-carousel-outer-box { padding: 0 !important; } .tax-carousel-outer-box .swiper-button-next, .tax-carousel-outer-box .swiper-button-prev { display: none !important; } .tax-image-box { height: 90px !important; } }

/* 3. TAXONOMY BADGES & CATEGORIES (PORTRAIT SLIDER) */
.npd-badge-slider-section { width: 100% !important; max-width: 100% !important; padding: 25px 0 !important; box-sizing: border-box !important; font-family: inherit !important; }
.npd-badge-heading-box { margin-bottom: 25px !important; text-align: left !important; }
.npd-badge-main-title { font-size: 2.3rem !important; font-weight: 800 !important; line-height: 1.2 !important; color: #111111 !important; margin: 0 0 10px 0 !important; letter-spacing: -0.5px !important; }
.npd-badge-main-desc { font-size: 1.05rem !important; line-height: 1.6 !important; color: #555555 !important; margin: 0 !important; }
.npd-badge-slider-container { width: 100% !important; overflow: hidden !important; position: relative; }
.npd-badge-slider-track { display: flex !important; gap: 20px !important; overflow-x: auto !important; scroll-behavior: smooth !important; padding: 10px 5px 20px 5px !important; -ms-overflow-style: none !important; scrollbar-width: none !important; }
.npd-badge-slider-track::-webkit-scrollbar { display: none !important; }
.npd-badge-portrait-card { flex: 0 0 calc(25% - 15px) !important; min-width: 220px !important; position: relative !important; height: 360px !important; border-radius: 20px !important; overflow: hidden !important; display: block !important; text-decoration: none !important; box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important; box-sizing: border-box !important; }
.npd-badge-portrait-card:hover { transform: translateY(-6px) !important; box-shadow: 0 12px 30px rgba(0,0,0,0.16) !important; }
.npd-badge-portrait-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important; display: block !important; }
.npd-badge-portrait-card:hover img { transform: scale(1.06) !important; }
.npd-badge-gradient-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 100%) !important; z-index: 2 !important; pointer-events: none; }
.npd-badge-card-info { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; padding: 20px !important; z-index: 3 !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; text-align: left !important; }
.npd-badge-card-counter { color: #ffffff !important; font-size: 11px !important; font-weight: 700 !important; padding: 4px 10px !important; border-radius: 6px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; display: inline-block !important; background-color: var(--npt-theme) !important; }
.npd-badge-card-title { font-size: 1.35rem !important; font-weight: 700 !important; color: #ffffff !important; margin: 0 !important; line-height: 1.2 !important; text-shadow: 0 1px 3px rgba(0,0,0,0.2) !important; }
@media (max-width: 1200px) { .npd-badge-portrait-card { flex: 0 0 calc(33.333% - 14px) !important; height: 340px !important; } }
@media (max-width: 768px) { .npd-badge-portrait-card { flex: 0 0 calc(50% - 10px) !important; height: 300px !important; border-radius: 16px !important; } .npd-badge-main-title { font-size: 1.85rem !important; } }
@media (max-width: 480px) { .npd-badge-portrait-card { flex: 0 0 calc(75% - 10px) !important; } }

/* 4. MINIMAL TAGS (BADGES & CATEGORIES) */
.minimal-tags-container { display: flex !important; flex-wrap: wrap !important; gap: 12px 10px !important; width: 100% !important; padding: 10px 0 !important; box-sizing: border-box !important; }
.minimal-tag-item { display: inline-flex !important; align-items: center !important; text-decoration: none !important; border: 1px solid var(--npt-theme) !important; border-radius: 6px !important; overflow: hidden !important; background: #ffffff !important; transition: all 0.2s ease-in-out !important; }
.minimal-tag-item:hover { transform: translateY(-2px) !important; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important; background: rgba(var(--npt-theme-rgb), 0.02) !important; }
.minimal-tag-count { display: flex !important; align-items: center !important; justify-content: center !important; background-color: var(--npt-theme-light) !important; color: var(--npt-theme) !important; font-size: 13px !important; font-weight: 600 !important; padding: 0 10px !important; min-width: 28px !important; height: 34px !important; border-right: 1px solid var(--npt-theme) !important; box-sizing: border-box !important; }
.minimal-tag-text { color: #444444 !important; font-size: 13.5px !important; font-weight: 500 !important; font-family: sans-serif !important; padding: 0 14px !important; white-space: nowrap !important; }
.minimal-tag-item:hover .minimal-tag-text { color: #000000 !important; }

/* 5. EXPLORE DESTINATIONS MINIMAL */
.dest-min-wrapper { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; width: 100% !important; padding: 10px 0 !important; box-sizing: border-box !important; font-family: inherit !important; }
.dest-min-badge { display: inline-flex !important; align-items: center !important; border: 1px solid var(--npt-theme) !important; border-radius: 8px !important; overflow: hidden !important; text-decoration: none !important; background: #ffffff !important; transition: all 0.25s ease-in-out !important; box-sizing: border-box !important; }
.dest-min-badge:hover { transform: translateY(-2px) !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important; background-color: #fafafa !important; }
.dest-min-count { background-color: var(--npt-theme-light) !important; color: var(--npt-theme) !important; font-size: 14px !important; font-weight: 600 !important; padding: 8px 14px !important; border-right: 1px solid var(--npt-theme) !important; display: flex !important; align-items: center !important; justify-content: center !important; min-width: 20px !important; text-align: center !important; }
.dest-min-name { color: #333333 !important; font-size: 14px !important; font-weight: 500 !important; padding: 8px 16px !important; white-space: nowrap !important; }
@media (max-width: 480px) { .dest-min-wrapper { gap: 8px !important; } .dest-min-count, .dest-min-name { font-size: 13px !important; padding: 6px 12px !important; } }

/* 6. WHERE TO NEXT (INFINITE PILL SLIDER) */
.wtn-main-container { display: flex !important; align-items: center !important; width: 100% !important; gap: 15px !important; padding: 15px 0 !important; box-sizing: border-box !important; overflow: hidden !important; position: relative !important; font-family: inherit !important; }
.wtn-static-title { font-size: 16px !important; font-weight: 700 !important; color: #001D3D !important; white-space: nowrap !important; flex-shrink: 0 !important; text-align: left !important; line-height: 1.2 !important; }
.wtn-static-title span { color: var(--npt-theme) !important; display: block !important; }
.wtn-slider-viewport { flex-grow: 1 !important; overflow-x: auto !important; display: flex !important; box-sizing: border-box !important; cursor: grab !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: none !important; }
.wtn-slider-viewport::-webkit-scrollbar { display: none !important; }
.wtn-slider-track { display: flex !important; gap: 10px !important; flex-wrap: nowrap !important; padding: 5px 0 !important; }
.wtn-pill { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 6px 14px !important; background: #ffffff !important; border: 1px solid #e2e8f0 !important; border-radius: 25px !important; text-decoration: none !important; color: #333333 !important; font-size: 13px !important; font-weight: 600 !important; white-space: nowrap !important; transition: all 0.2s ease !important; box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important; box-sizing: border-box !important; }
.wtn-pill:hover { background: #ffffff !important; border-color: var(--npt-theme) !important; color: var(--npt-theme) !important; transform: translateY(-1px) !important; }
.wtn-pill img { width: 22px !important; height: 22px !important; border-radius: 50% !important; object-fit: cover !important; display: inline-block !important; flex-shrink: 0 !important; border: 1px solid #eee !important; background-color: #f7f7f7 !important; }
@media (max-width: 767px) { .wtn-main-container { gap: 12px !important; } .wtn-static-title { font-size: 14px !important; } .wtn-pill { padding: 5px 12px !important; font-size: 12px !important; } .wtn-pill img { width: 18px !important; height: 18px !important; } }

/* 7. EXPLORE DESTINATIONS (LARGE 5 COLUMNS) */
.exp-slider-section { width: 100% !important; max-width: 100% !important; padding: 30px 0 !important; box-sizing: border-box !important; font-family: inherit !important; position: relative; }
.exp-header-wrapper { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; margin-bottom: 30px !important; gap: 20px; }
.exp-heading-box { max-width: 750px !important; text-align: left !important; }
.exp-main-title { font-size: 2.3rem !important; font-weight: 800 !important; line-height: 1.2 !important; color: #111111 !important; margin: 0 0 12px 0 !important; letter-spacing: -0.5px !important; }
.exp-main-desc { font-size: 1.05rem !important; line-height: 1.6 !important; color: #555555 !important; margin: 0 !important; }
.exp-slider-nav { display: flex !important; gap: 10px !important; margin-bottom: 5px; }
.exp-nav-btn { width: 44px !important; height: 44px !important; border-radius: 50% !important; border: 1.5px solid #dddddd !important; background: #ffffff !important; color: #333333 !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; transition: all 0.25s ease !important; user-select: none; }
.exp-nav-btn:hover { border-color: var(--npt-theme) !important; color: var(--npt-theme) !important; background: #fff4ee !important; transform: scale(1.05); }
.exp-nav-btn svg { width: 18px; height: 18px; fill: currentColor; }
.exp-slider-container { width: 100% !important; overflow: hidden !important; position: relative; }
.exp-slider-track { display: flex !important; gap: 20px !important; overflow-x: auto !important; scroll-behavior: smooth !important; scroll-snap-type: x mandatory !important; padding: 10px 5px 25px 5px !important; clip-path: inset(-10px -10px -30px -10px); -ms-overflow-style: none !important; scrollbar-width: none !important; }
.exp-slider-track::-webkit-scrollbar { display: none !important; }
.exp-slide-item { flex: 0 0 calc(25% - 15px) !important; scroll-snap-align: start !important; position: relative !important; height: 380px !important; border-radius: 20px !important; overflow: hidden !important; display: block !important; text-decoration: none !important; box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important; box-sizing: border-box !important; }
.exp-slide-item:hover { transform: translateY(-6px) !important; box-shadow: 0 12px 30px rgba(0,0,0,0.15) !important; }
.exp-slide-item img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important; display: block !important; }
.exp-slide-item:hover img { transform: scale(1.06) !important; }
.exp-gradient-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0) 100%) !important; z-index: 2 !important; }
.exp-card-info-box { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; padding: 20px !important; z-index: 3 !important; box-sizing: border-box !important; text-align: left !important; }
.exp-card-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #ffffff !important; margin: 0 0 6px 0 !important; line-height: 1.2 !important; }
.exp-card-subloc { font-size: 0.85rem !important; color: rgba(255,255,255,0.8) !important; display: flex !important; align-items: center !important; gap: 4px !important; font-weight: 500; }
.exp-card-subloc .dashicons { font-size: 14px !important; width: 14px !important; height: 14px !important; display: inline-flex !important; align-items: center; }
.exp-slide-item.exp-last-cta-slide { background: linear-gradient(135deg, #ffffff 0%, #f6f9fc 100%) !important; border: 2px dashed #e2e8f0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 30px !important; text-align: center !important; box-sizing: border-box !important; }
.exp-slide-item.exp-last-cta-slide:hover { border-color: var(--npt-theme) !important; background: #ffffff !important; }
.exp-cta-icon-circle { width: 60px; height: 60px; border-radius: 50%; background: #fff4ee; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; color: var(--npt-theme); transition: transform 0.3s ease; }
.exp-slide-item.exp-last-cta-slide:hover .exp-cta-icon-circle { transform: scale(1.1) rotate(15deg); }
.exp-cta-text { font-size: 1.35rem !important; font-weight: 800 !important; color: #111111 !important; margin: 0 0 8px 0 !important; line-height: 1.3 !important; }
.exp-cta-subtext { font-size: 0.9rem !important; color: #666666 !important; margin: 0 !important; font-weight: 500; display: flex; align-items: center; gap: 5px; }
@media (max-width: 1200px) { .exp-slide-item { flex: 0 0 calc(33.333% - 14px) !important; height: 350px !important; } .exp-main-title { font-size: 2rem !important; } }
@media (max-width: 768px) { .exp-slide-item { flex: 0 0 calc(50% - 10px) !important; height: 320px !important; border-radius: 16px !important; } .exp-header-wrapper { align-items: flex-start !important; flex-direction: column !important; gap: 15px; } .exp-slider-nav { align-self: flex-end; } .exp-main-title { font-size: 1.75rem !important; } .exp-main-desc { font-size: 0.95rem !important; } }
@media (max-width: 480px) { .exp-slide-item { flex: 0 0 calc(80% - 10px) !important; height: 300px !important; } }

/* 8. TEAM DRIVER SLIDER (CARD) */
.npt-team-section { padding: 30px 15px; text-align: center; font-family: inherit; }
.npt-team-title { font-size: 30px; font-weight: 800; color: inherit; margin: 0 0 8px 0; letter-spacing: -0.5px; font-family: inherit; }
.npt-team-subtitle { font-size: 14px; color: inherit; opacity: 0.7; margin: 0 0 30px 0; font-weight: 500; font-family: inherit; }
.npt-team-slider { padding-bottom: 50px !important; overflow: hidden; position: relative; }
.npt-team-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 25px 20px; text-align: center; box-shadow: 0 8px 25px rgba(0,0,0,0.03); transition: transform 0.3s ease, box-shadow 0.3s ease; height: 100%; box-sizing: border-box; font-family: inherit; }
.npt-team-card:hover { transform: translateY(-6px); box-shadow: 0 12px 35px rgba(0,0,0,0.08); }
.npt-team-avatar-wrap { width: 120px; height: 120px; margin: 0 auto 18px; border-radius: 50%; padding: 4px; border: 2px dashed var(--npt-theme); overflow: hidden; box-sizing: border-box; }
.npt-team-avatar { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.npt-team-zone { font-size: 11px; font-weight: 600; color: #64748b; text-transform: lowercase; margin-bottom: 4px; display: block; }
.npt-team-name { font-size: 20px; font-weight: 800; color: var(--npt-theme); margin: 0 0 6px 0; line-height: 1.2; font-family: inherit; }
.npt-team-car { font-size: 13px; font-weight: 500; color: #64748b; text-transform: lowercase; margin: 0; }
.npt-team-slider .swiper-pagination-bullet { background: #cbd5e1; opacity: 1; width: 8px; height: 8px; transition: 0.3s; }
.npt-team-slider .swiper-pagination-bullet-active { background: var(--npt-theme); width: 24px; border-radius: 10px; }

/* 9. TEAM DRIVER CAPSULE (STATIC) */
.npt-capsule-container-wrap { display: flex; flex-wrap: wrap; gap: 10px; padding: 15px 0; justify-content: center; font-family: inherit; }
.npt-capsule-item-wrap { display: inline-flex; align-items: center; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 50px; padding: 6px 16px 6px 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: transform 0.2s ease, border-color 0.2s ease; cursor: default; }
.npt-capsule-item-wrap:hover { transform: translateY(-2px); border-color: var(--npt-theme); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.npt-capsule-avatar-wrap-img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; margin-right: 10px; border: 2px solid #f1f5f9; }
.npt-capsule-info-wrap { display: flex; flex-direction: column; line-height: 1.2; }
.npt-capsule-name-wrap { font-size: 13.5px; font-weight: 700; color: #0f172a; margin: 0; }
.npt-capsule-meta-wrap { font-size: 10px; color: #64748b; margin-top: 2px; font-weight: 600; text-transform: uppercase; }
.npt-capsule-zone-wrap { padding: 1px 4px; border-radius: 4px; font-size: 9px; margin-right: 4px; }
.cap-zone-bali { background: #dbeafe; color: #1d4ed8; }
.cap-zone-penida { background: #ffedd5; color: #c2410c; }

/* 10. TEAM DRIVER CAPSULE SLIDER (LEFT ALIGN) */
.npt-capslider-wrap { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 30px !important; padding: 40px 15px !important; font-family: inherit !important; overflow: hidden !important; max-width: 1200px !important; margin: 0 auto !important; }
.npt-capslider-text-col { flex: 0 0 20% !important; min-width: 180px !important; text-align: left !important; }
.npt-capslider-title { font-size: 32px !important; font-weight: 800 !important; color: inherit !important; margin: 0 0 10px 0 !important; line-height: 1.1 !important; letter-spacing: -0.5px !important; font-family: inherit !important; }
.npt-capslider-subtitle { font-size: 14px !important; color: inherit !important; opacity: 0.7 !important; margin: 0 !important; font-weight: 500 !important; line-height: 1.5 !important; font-family: inherit !important; }
.npt-capslider-swiper-col { flex: 1 !important; overflow: hidden !important; width: 100% !important; }
.npt-capslider-swiper { padding: 15px 5px !important; overflow: visible !important; }
.npt-capslider-card { display: inline-flex !important; align-items: center !important; background: #ffffff !important; border: 1px solid #e2e8f0 !important; border-radius: 50px !important; padding: 6px 20px 6px 6px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.04) !important; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important; box-sizing: border-box !important; text-align: left !important; width: auto !important; cursor: grab !important; font-family: inherit !important; }
.npt-capslider-card:hover { transform: translateY(-3px) !important; border-color: var(--npt-theme) !important; box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important; }
.npt-capslider-card:active { cursor: grabbing !important; }
.npt-capslider-img-wrap { width: 52px !important; height: 55px !important; border-radius: 50% !important; overflow: hidden !important; flex-shrink: 0 !important; margin-right: 12px !important; border: 2px solid var(--npt-theme) !important; box-sizing: border-box !important; }
.npt-capslider-img { width: 100% !important; height: 100% !important; border-radius: 50% !important; object-fit: cover !important; display: block !important; }
.npt-capslider-details { display: flex !important; flex-direction: column !important; justify-content: center !important; }
.npt-capslider-zone { font-size: 11px !important; font-weight: 600 !important; color: #64748b !important; text-transform: lowercase !important; margin-bottom: 2px !important; }
.npt-capslider-name { font-size: 17px !important; font-weight: 800 !important; color: var(--npt-theme) !important; margin: 0 !important; line-height: 1.2 !important; }
.npt-capslider-car { font-size: 12px !important; font-weight: 500 !important; color: #64748b !important; text-transform: lowercase !important; margin-top: 2px !important; }
@media (max-width: 991px) { .npt-capslider-wrap { flex-direction: column !important; align-items: flex-start !important; gap: 15px !important; padding: 30px 15px !important; } .npt-capslider-text-col { flex: none !important; width: 100% !important; text-align: left !important; padding-bottom: 10px !important; } .npt-capslider-title { font-size: 28px !important; } .npt-capslider-swiper { overflow: hidden !important; } }