/* Website v2 — paket (docs/ui/RENCANA_WEBSITE_V2.md). Semua selektor berawalan body.wv2, dibungkus @media screen.
 * Pemilik: agen paket (WV03). Cakupan: daftar paket (filter + kartu), detail paket (galeri, info, accordion,
 * panel Pesan Paket), order/checkout (Data Pemesan, Data Jamaah, Layanan Tambahan, Review Pesanan),
 * cek status transaksi. Acuan: recoding KartuPaketUmrah.svelte, DetailPaketSitus.svelte, SelesaikanPemesanan.svelte.
 * Hanya tampilan: perilaku slider/filter/form/JS tidak diubah. Isian/select/Chosen milik form.css, .btn milik komponen.css.
 */
@media screen {

    /* =====================================================================
     * 1. DAFTAR PAKET — panel filter atas (#form-pencarian-paket)
     * ===================================================================== */
    body.wv2.not-home #page-content > #form-pencarian-paket {
        margin: 0 0 24px;
        padding: 16px 20px 20px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
    }
    body.wv2.not-home #page-content > #form-pencarian-paket .row {
        margin-right: -8px !important;
        margin-left: -8px !important;
    }
    body.wv2.not-home #page-content > #form-pencarian-paket [class*="col-"] {
        padding-right: 8px;
        padding-left: 8px;
    }
    body.wv2.not-home #page-content > #form-pencarian-paket .control-label {
        display: block;
        margin: 6px 0 6px;
        font-size: 13px;
        font-weight: 600;
        color: var(--wv-heading);
    }
    /* Tombol cari ikon (kolom 1/12) setinggi isian, berlabel &nbsp; di atasnya. */
    body.wv2.not-home #page-content > #form-pencarian-paket .data-item .btn {
        min-height: var(--wv-form-tinggi);
        border-radius: var(--wv-radius-md);
    }

    /* =====================================================================
     * 2. DAFTAR PAKET — kartu grid (umrah, haji, wisata: .list-paket-umrah / .list-paket-haji)
     * ===================================================================== */
    body.wv2.not-home #page-content .list-paket-umrah,
    body.wv2.not-home #page-content .list-paket-haji {
        margin-bottom: 24px;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-inner,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-inner {
        display: flex;
        flex-direction: column;
        height: 100%;
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
        transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-inner:hover,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-inner:hover {
        border-color: var(--wv-border-strong);
        box-shadow: var(--wv-shadow-card);
        transform: translateY(-2px);
    }
    /* Gambar 4:3 utuh (contain) di atas latar redup — sama dengan recoding (brosur tampil utuh). */
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-thumbnail,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-thumbnail {
        flex: none;
        padding-top: 75%;
        border-radius: 0;
        background-color: var(--wv-sunken);
        background-size: contain;
        background-repeat: no-repeat;
    }
    body.wv2.not-home #page-content .list-paket-umrah .thumbnail-sold::after,
    body.wv2.not-home #page-content .list-paket-haji .thumbnail-sold::after {
        background-color: rgb(18 48 73 / 55%);
        font-size: 26px;
        letter-spacing: 0.12em;
    }
    /* Lencana PROMO: pil merah di pojok kiri atas gambar (bukan pita miring). */
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-inner .promo-label,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-inner .promo-label {
        top: 12px;
        right: auto;
        left: 12px;
        padding: 4px 10px;
        border-radius: var(--wv-radius-pill);
        background-color: var(--wv-danger);
        box-shadow: var(--wv-shadow-rest);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1.4;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-inner .promo-label::after,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-inner .promo-label::after {
        display: none;
    }
    /* Isi kartu: kolom flex agar harga + tombol menempel di dasar (tinggi disamakan setEqualHeight). */
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 12px;
        padding: 16px;
        border: 0 none;
        border-radius: 0;
        color: var(--wv-ink);
    }
    body.wv2.not-home #page-content .list-paket-umrah .paket-title,
    body.wv2.not-home #page-content .list-paket-haji .paket-title {
        display: -webkit-box;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border: 0 none;
        color: var(--wv-heading) !important;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.35;
        text-decoration: none;
        overflow-wrap: anywhere;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    body.wv2.not-home #page-content .list-paket-umrah .paket-title:hover,
    body.wv2.not-home #page-content .list-paket-haji .paket-title:hover {
        color: var(--wv-brand) !important;
    }
    /* Baris info (tabel legacy): ikon dalam kotak kecil berlatar lembut. */
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan > table,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan > table {
        width: 100%;
        margin: 0;
        border-collapse: separate;
        border-spacing: 0 6px;
        color: var(--wv-ink);
        font-size: 13.5px;
        line-height: 1.45;
        table-layout: fixed;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan > table td,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan > table td {
        padding: 0;
        border: 0 none;
        vertical-align: middle !important;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan > table td:first-child,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan > table td:first-child {
        width: 34px;
        padding: 0 10px 0 0;
        text-align: left;
        vertical-align: top !important;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan > table td:first-child .fa,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan > table td:first-child .fa {
        display: inline-grid;
        place-items: center;
        width: 24px;
        height: 24px;
        border-radius: 7px;
        background-color: var(--wv-brand-soft);
        color: var(--wv-brand);
        font-size: 12px;
    }
    body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan > table td .trim-string,
    body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan > table td .trim-string {
        -webkit-line-clamp: 1;
        overflow-wrap: anywhere;
    }
    /* Sisa seat: blok redup + bilah progres. */
    body.wv2.not-home #page-content .list-paket-keterangan .m-list-paket-sisa-seat {
        margin: 0;
        padding: 10px 12px;
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-sunken);
    }
    body.wv2.not-home #page-content .list-paket-keterangan .m-list-paket-sisa-seat span {
        display: block;
        margin-bottom: 6px;
        color: var(--wv-heading);
        font-size: 12.5px;
        font-weight: 600;
    }
    body.wv2.not-home #page-content .list-paket-keterangan .m-list-paket-sisa-seat .m-list-paket-sisa-seat-bar {
        height: 6px;
        border-radius: var(--wv-radius-pill);
        background-color: var(--wv-border);
    }
    body.wv2.not-home #page-content .list-paket-keterangan .m-list-paket-sisa-seat .m-list-paket-sisa-seat-bar-inner {
        border-radius: var(--wv-radius-pill);
        background-color: var(--wv-brand) !important;
    }
    /* Kaki kartu: "Harga mulai" (div setelah sisa seat) + harga + tombol, menempel di dasar. */
    body.wv2.not-home #page-content .list-paket-keterangan > .m-list-paket-sisa-seat + div {
        margin-top: auto;
        margin-bottom: -10px;
        padding-top: 12px;
        border-top: 1px solid var(--wv-border);
        color: var(--wv-muted);
        line-height: 1.3;
    }
    body.wv2.not-home #page-content .list-paket-keterangan > .m-list-paket-sisa-seat + div small {
        font-size: 12.5px;
    }
    body.wv2.not-home #page-content .list-paket-umrah .harga-paket,
    body.wv2.not-home #page-content .list-paket-haji .harga-paket {
        margin: 0;
        color: var(--wv-brand-gelap);
        font-size: 21px;
        font-weight: 700;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
    body.wv2.not-home #page-content .list-paket-keterangan > .paket-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 40px;
        margin: 0;
        border-radius: var(--wv-radius-md);
        font-size: 13.5px;
        font-weight: 600;
        letter-spacing: 0.02em;
    }
    body.wv2.not-home #page-content .list-paket-keterangan > .paket-btn::after {
        content: "\f105";
        font-family: FontAwesome;
        font-size: 15px;
        font-weight: normal;
        line-height: 1;
    }
    /* Ponsel satu kolom: tinggi seragam setEqualHeight (min-height inline) tidak diperlukan. */
    @media (max-width: 767px) {
        body.wv2.not-home #page-content .list-paket-umrah .list-paket-keterangan,
        body.wv2.not-home #page-content .list-paket-haji .list-paket-keterangan {
            min-height: 0 !important;
        }
    }

    /* =====================================================================
     * 3. DAFTAR PAKET — kartu mendatar (LA, katering, hotel: .paket-wisata-list)
     * ===================================================================== */
    body.wv2.not-home #page-content .paket-wisata-list {
        display: flex;
        align-items: stretch;
        margin: 0 0 16px;
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
        transition: box-shadow 0.2s ease, border-color 0.2s ease;
    }
    body.wv2.not-home #page-content .paket-wisata-list:hover {
        border-color: var(--wv-border-strong);
        box-shadow: var(--wv-shadow-card);
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-thumbnail-outer {
        flex: none;
        float: none;
        width: 28%;
        min-height: 170px;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-thumbnail {
        width: calc(100% - 16px);
        height: calc(100% - 16px);
        margin: 8px;
        border: 0 none;
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-sunken);
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-description {
        display: flex;
        flex: 1;
        float: none;
        gap: 16px;
        width: auto;
        min-width: 0;
        padding: 16px 18px;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-description .desc-left {
        flex: 1;
        float: none;
        width: auto;
        min-width: 0;
        min-height: 0;
        padding: 0;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-description .desc-right {
        display: flex;
        flex: none;
        flex-direction: column;
        justify-content: flex-end;
        float: none;
        width: 30%;
        min-height: 0;
        padding-left: 16px;
        border-left: 1px solid var(--wv-border);
        color: var(--wv-muted);
        font-size: 12.5px;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-title {
        margin: 0 0 8px;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.35;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-title a {
        color: var(--wv-heading) !important;
        text-decoration: none;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-title a:hover {
        color: var(--wv-brand) !important;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-destination {
        color: var(--wv-ink);
        font-size: 13.5px;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-destination .fa {
        margin-right: 4px;
        color: var(--wv-brand);
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-intro {
        margin: 6px 0 0;
        color: var(--wv-muted);
        font-size: 13px;
        font-style: normal;
        line-height: 1.55;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-price {
        color: var(--wv-brand-gelap);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-price small {
        margin-right: 4px;
        font-size: 60%;
        font-weight: 600;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-btn-outer {
        margin: 10px 0 0;
    }
    body.wv2.not-home #page-content .paket-wisata-list .paket-btn-outer .btn {
        display: block;
        width: 100%;
        min-height: 38px;
        padding-top: 9px;
        border-radius: var(--wv-radius-md);
        font-weight: 600;
    }
    @media (max-width: 767px) {
        body.wv2.not-home #page-content .paket-wisata-list,
        body.wv2.not-home #page-content .paket-wisata-list .paket-description {
            flex-direction: column;
        }
        body.wv2.not-home #page-content .paket-wisata-list .paket-thumbnail-outer {
            width: 100%;
            min-height: 0;
            height: auto !important;
            padding-top: 62%;
        }
        body.wv2.not-home #page-content .paket-wisata-list .paket-description .desc-right {
            width: auto;
            padding: 12px 0 0;
            border-top: 1px solid var(--wv-border);
            border-left: 0 none;
        }
    }

    /* Pita promo gambar (daftar mendatar, produk, detail) tetap; hanya posisinya di dalam kartu membulat. */
    body.wv2.not-home #page-content .paket-wisata-list > .promo-ribbon,
    body.wv2.not-home #page-content .list-produk-inner > .promo-ribbon {
        top: 0;
        left: 0;
        z-index: 2;
    }

    /* =====================================================================
     * 4. DAFTAR PRODUK — kartu kecil (perlengkapan, produk lain: .produk-lain-list)
     * ===================================================================== */
    body.wv2.not-home #page-content .produk-lain-list {
        margin-bottom: 24px;
    }
    body.wv2.not-home #page-content .produk-lain-list .list-produk-inner {
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
        transition: box-shadow 0.2s ease, transform 0.2s ease;
    }
    body.wv2.not-home #page-content .produk-lain-list .list-produk-inner:hover {
        box-shadow: var(--wv-shadow-card);
        transform: translateY(-2px);
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-thumbnail {
        border-radius: 0;
        background-color: var(--wv-sunken);
        background-repeat: no-repeat;
    }
    body.wv2.not-home #page-content .produk-lain-list .list-produk-inner .produk-description {
        padding: 4px 14px 14px;
        border: 0 none;
        border-radius: 0;
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-description .produk-title {
        margin: 10px 0 4px;
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-description .produk-title a {
        color: var(--wv-heading) !important;
        font-size: 15px;
        font-weight: 600;
        text-decoration: none;
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-description .produk-category {
        color: var(--wv-muted);
        font-size: 12.5px;
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-description .produk-price {
        margin: 8px 0;
        color: var(--wv-brand-gelap) !important;
        font-size: 19px;
        font-weight: 700;
        text-align: left;
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-description .produk-btn-outer {
        padding-top: 10px;
        border-top: 1px solid var(--wv-border);
    }
    body.wv2.not-home #page-content .produk-lain-list .produk-description .produk-btn-outer .btn {
        display: block;
        width: 100%;
        border-radius: var(--wv-radius-md);
        font-weight: 600;
    }

    /* Paginasi daftar paket: jarak saja (gaya .new-pagination milik komponen.css). */
    body.wv2.not-home #page-content #daftar-paket > .pagination-outer,
    body.wv2.not-home #page-content .pagination-outer {
        clear: both;
        padding-top: 4px;
    }

    /* =====================================================================
     * 5. DETAIL PAKET — galeri (bingkai saja; perilaku carousel tidak diubah)
     * ===================================================================== */
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow {
        margin-bottom: 20px;
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .detail-paket-carousel {
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-sunken);
        box-shadow: var(--wv-shadow-rest);
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .detail-paket-carousel .carousel-inner {
        border-radius: 0;
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .carousel-inner .item .btn-download-image {
        top: 12px;
        right: 12px;
        z-index: 3;
        padding: 6px 12px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-sm);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-card);
        color: var(--wv-heading) !important;
        font-size: 12.5px;
        font-weight: 600;
        opacity: 1;
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .carousel-inner .item .btn-download-image:hover {
        color: var(--wv-brand) !important;
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .carousel-inner .item .btn-download-image .fa {
        margin-right: 4px;
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .carousel-indicators li {
        border-radius: var(--wv-radius-sm);
    }
    body.wv2.not-home #page-content #detail-paket-transaksi-slideshow .promo-ribbon {
        z-index: 4;
    }

    /* =====================================================================
     * 6. DETAIL PAKET — info hotel/maskapai (.intro-paket-area) + accordion itinerary/fasilitas
     * ===================================================================== */
    body.wv2.not-home #page-content .intro-paket-area {
        margin-bottom: 20px;
        padding: 16px 18px 6px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
    }
    body.wv2.not-home #page-content .intro-paket-area .info-paket-min,
    body.wv2.not-home #page-content .intro-paket-area .info-paket-max {
        margin-bottom: 10px;
    }
    body.wv2.not-home #page-content .intro-paket-area div.title {
        margin-bottom: 4px;
        color: var(--wv-muted);
        font-size: 12.5px;
        font-weight: 600;
    }
    body.wv2.not-home #page-content .intro-paket-area div.content {
        margin-bottom: 4px;
        color: var(--wv-heading);
        font-weight: 600;
    }
    body.wv2.not-home #page-content .intro-paket-area div.content .fa {
        margin-right: 4px;
        color: var(--wv-brand);
    }
    body.wv2.not-home #page-content .intro-paket-area .list-info-paket-detail {
        overflow: hidden;
        border-color: var(--wv-border);
        border-radius: var(--wv-radius-md);
    }

    /* Accordion detail (Itinerary, Fasilitas, Persyaratan, S&K): kartu & judul dari komponen.css (.front-accordion);
       di sini hanya isi khas paket (kotak hari itinerary, daftar fasilitas). */
    /* Itinerary: kotak per hari. */
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .list-itinerary {
        margin: 0 0 10px;
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-surface);
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .list-itinerary:last-child {
        margin-bottom: 0;
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .list-itinerary .hari-itinerary {
        padding: 9px 14px;
        border: 0 none;
        background-color: var(--wv-sunken);
        color: var(--wv-heading);
        font-weight: 600;
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .list-itinerary .deskripsi-itinerary {
        padding: 8px 14px;
        border: 0 none;
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .list-itinerary .deskripsi-itinerary:empty {
        display: none;
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .ul-fasilitas {
        margin: 6px 0 0;
        padding-left: 20px;
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .ul-fasilitas li {
        margin-bottom: 4px;
    }
    body.wv2.not-home #page-content:has(.detail-informasi-paket) .front-accordion .block-list-fasilitas > b {
        color: var(--wv-heading);
        font-size: 12.5px;
        letter-spacing: 0.04em;
    }

    /* =====================================================================
     * 7. DETAIL PAKET — panel samping "Pesan Paket" (.detail-informasi-paket), sticky di desktop
     * ===================================================================== */
    body.wv2.not-home #page-content .detail-informasi-paket {
        margin-bottom: 20px;
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-card);
    }
    /* Sticky hanya bila layar cukup tinggi agar tombol panel tetap terjangkau (panel tinggi = tidak sticky). */
    @media (min-width: 992px) and (min-height: 860px) {
        /* Baris detail/order jadi flex agar kolom samping setinggi konten → panel bisa sticky (lebar kolom tetap). */
        body.wv2.not-home #page-content > .row:has(> .col-md-4 > .detail-informasi-paket),
        body.wv2.not-home #page-content > .row:has(> .col-md-4 > .tabel-review:first-child) {
            display: flex;
            flex-wrap: wrap;
        }
        body.wv2.not-home #page-content > .row:has(> .col-md-4 > .detail-informasi-paket)::before,
        body.wv2.not-home #page-content > .row:has(> .col-md-4 > .detail-informasi-paket)::after,
        body.wv2.not-home #page-content > .row:has(> .col-md-4 > .tabel-review:first-child)::before,
        body.wv2.not-home #page-content > .row:has(> .col-md-4 > .tabel-review:first-child)::after {
            display: none;
        }
        body.wv2.not-home #page-content .detail-informasi-paket {
            position: sticky;
            top: 16px;
            z-index: 2;
        }
        body.wv2.admin-bar-active.not-home #page-content .detail-informasi-paket {
            top: 52px;
        }
    }
    body.wv2.not-home #page-content .detail-informasi-paket .detail-informasi-paket-heading {
        margin: 0;
        padding: 16px 20px;
        border-bottom: 1px solid var(--wv-border);
        background-color: var(--wv-sunken) !important;
        color: var(--wv-heading) !important;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.3;
        text-align: left;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .detail-informasi-paket-heading::before {
        content: "\f145";
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        margin-right: 10px;
        border-radius: var(--wv-radius-sm);
        background-color: var(--wv-brand-lembut);
        color: var(--wv-brand);
        font-family: FontAwesome;
        font-size: 14px;
        font-weight: normal;
        vertical-align: middle;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .detail-informasi-inner {
        padding: 16px 18px 18px;
        border: 0 none;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .detail-informasi-inner > form {
        display: block;
        width: 100%;
        margin: 0;
    }
    /* Langkah bernomor (Program Hari, Bandara, Tanggal, Kamar). */
    body.wv2.not-home #page-content .detail-informasi-paket .detail-informasi-inner > form {
        counter-reset: langkah-pesan;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .list-harga-keberangkatan-umrah-haji,
    body.wv2.not-home #page-content .detail-informasi-paket .list-harga-keberangkatan-wisata {
        margin: 0 0 14px;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .list-harga-keberangkatan-umrah-haji > .title,
    body.wv2.not-home #page-content .detail-informasi-paket .list-harga-keberangkatan-wisata > .title {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 7px;
        color: var(--wv-heading);
        font-size: 13.5px;
        font-weight: 600;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .list-harga-keberangkatan-umrah-haji > .title::before,
    body.wv2.not-home #page-content .detail-informasi-paket .list-harga-keberangkatan-wisata > .title::before {
        counter-increment: langkah-pesan;
        content: counter(langkah-pesan);
        display: inline-grid;
        flex: none;
        place-items: center;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: var(--wv-brand-soft);
        color: var(--wv-brand);
        font-size: 11px;
        font-weight: 700;
    }
    /* Pilihan kamar + jumlah pax. */
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list {
        margin: 0 0 8px;
        padding: 12px 14px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-surface);
        color: var(--wv-ink);
        transition: border-color 0.2s ease;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list:hover {
        border-color: var(--wv-border-strong);
    }
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list .m-jenis-kamar-judul {
        color: var(--wv-muted);
        font-size: 12.5px;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list .m-jenis-kamar-judul b {
        color: var(--wv-heading);
        font-size: 14.5px;
        font-weight: 700;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list .m-jenis-kamar-harga {
        margin: 2px 0 8px;
        color: var(--wv-muted);
        font-size: 12.5px;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list .m-jenis-kamar-harga b {
        color: var(--wv-brand-gelap);
        font-size: 13.5px;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .m-jenis-kamar-list .m-jenis-kamar-input .input-group {
        width: 100%;
    }
    body.wv2.not-home #page-content .detail-informasi-paket #informasi-jumlah-seat-detail:not(:empty) {
        margin: 0 0 14px;
    }
    /* Total + tombol. */
    body.wv2.not-home #page-content .detail-informasi-paket hr.separator {
        margin: 12px 0;
        border-top-color: var(--wv-border);
    }
    body.wv2.not-home #page-content .detail-informasi-paket hr.separator + #display-total-paket-transaksi + hr.separator {
        display: none;
    }
    body.wv2.not-home #page-content .detail-informasi-paket #display-total-paket-transaksi {
        margin: 0 0 12px;
        padding: 12px 14px;
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-sunken);
        color: var(--wv-brand-gelap);
        font-size: 18px;
        font-weight: 700;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .btn-block {
        min-height: 40px;
        margin-top: 8px;
        border-radius: var(--wv-radius-md);
        font-weight: 600;
    }
    body.wv2.not-home #page-content .detail-informasi-paket #btn-pesan-paket {
        min-height: 44px;
        margin-top: 0;
        font-size: 15px;
    }
    body.wv2.not-home #page-content .detail-informasi-paket .btn-block.btn-sm {
        padding-top: 9px;
        padding-bottom: 9px;
        font-size: 13.5px;
    }

    /* =====================================================================
     * 8. ORDER / CHECKOUT — "Selesaikan Pemesanan" (#form-entri-pemesan + .tabel-review)
     * ===================================================================== */
    body.wv2.not-home #page-content #form-entri-pemesan.form-pemesan-front {
        margin-bottom: 20px;
        padding: 20px 22px 22px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
    }
    body.wv2.not-home #page-content #form-entri-pemesan .title-form-pemesan-nologin {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 16px;
        padding: 0;
        border: 0 none;
        color: var(--wv-heading);
        font-size: 18px;
        font-weight: 600;
        line-height: 1.3;
        text-transform: none;
    }
    body.wv2.not-home #page-content #form-entri-pemesan .title-form-pemesan-nologin .fa {
        display: inline-grid;
        flex: none;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: var(--wv-radius-sm);
        background-color: var(--wv-brand-soft);
        color: var(--wv-brand);
        font-size: 15px;
    }
    body.wv2.not-home #page-content #form-entri-pemesan #hr-order-separator {
        margin: 12px 0 20px !important;
        border-top-color: var(--wv-border);
    }
    /* Data Jamaah: satu kartu (fieldset) per jamaah. */
    body.wv2.not-home #page-content #form-entri-pemesan .form-manifest-front {
        margin: 0 0 14px;
        padding: 46px 8px 6px;
        position: relative;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-sunken);
    }
    body.wv2.not-home #page-content #form-entri-pemesan .form-manifest-front > .label-peserta-n {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0;
        padding: 10px 16px;
        border: 0 none;
        border-bottom: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-md) var(--wv-radius-md) 0 0;
        background-color: var(--wv-surface);
        color: var(--wv-heading);
        font-size: 13.5px;
        font-weight: 600;
    }
    /* Layanan Tambahan (tautan buka/tutup per jamaah). */
    body.wv2.not-home #page-content #form-entri-pemesan .divider-layanan-tambahan-checkout {
        margin: 4px 0 10px;
        padding: 10px 0 0;
        border-top: 1px dashed var(--wv-border-strong);
        text-align: left;
    }
    body.wv2.not-home #page-content #form-entri-pemesan .divider-layanan-tambahan-checkout a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0;
        background: none;
        color: var(--wv-brand) !important;
        font-weight: 600;
        cursor: pointer;
    }
    /* Tombol Selesaikan Pesanan / Quotation. */
    body.wv2.not-home #page-content #form-entri-pemesan > .mt10 .btn {
        min-height: 44px;
        padding-right: 24px;
        padding-left: 24px;
        border-radius: var(--wv-radius-md);
        font-size: 15px;
        font-weight: 600;
    }
    /* Ajakan login di atas form. */
    body.wv2.not-home #page-content #login-alert-checkout {
        overflow: hidden;
        margin-bottom: 16px;
        border-radius: var(--wv-radius-lg);
    }
    /* Catatan di bawah form. */
    body.wv2.not-home #page-content #catatan-pemesan {
        margin: 16px 0 20px;
        padding: 14px 18px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-warning-soft);
        color: var(--wv-warning);
        font-size: 13px;
    }
    body.wv2.not-home #page-content #catatan-pemesan > span {
        font-weight: 700;
    }
    body.wv2.not-home #page-content #catatan-pemesan ol {
        margin: 6px 0 0;
        padding-left: 18px;
    }
    body.wv2.not-home #page-content #catatan-pemesan li {
        margin-bottom: 3px;
        text-align: left !important;
    }
    @media (max-width: 767px) {
        body.wv2.not-home #page-content #form-entri-pemesan.form-pemesan-front {
            padding: 16px 16px 18px;
        }
        body.wv2.not-home #page-content #form-entri-pemesan .form-manifest-front {
            padding-right: 2px;
            padding-left: 2px;
        }
    }

    /* Panel "Review Pesanan". */
    body.wv2.not-home #page-content .tabel-review {
        margin-bottom: 20px;
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-card);
    }
    @media (min-width: 992px) and (min-height: 860px) {
        body.wv2.not-home #page-content .col-md-4 > .tabel-review:first-child {
            position: sticky;
            top: 16px;
        }
        body.wv2.admin-bar-active.not-home #page-content .col-md-4 > .tabel-review:first-child {
            top: 52px;
        }
    }
    body.wv2.not-home #page-content .tabel-review .review-row {
        padding: 2px 18px 8px;
        border: 0 none;
        color: var(--wv-heading);
        font-size: 13.5px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
    body.wv2.not-home #page-content .tabel-review .review-row.heading-review {
        margin-bottom: 8px;
        padding: 16px 18px;
        border: 0 none;
        border-bottom: 1px solid var(--wv-border);
        background-color: var(--wv-sunken) !important;
        color: var(--wv-heading) !important;
        font-size: 17px;
        font-weight: 600;
        text-align: left;
    }
    body.wv2.not-home #page-content .tabel-review .review-row.heading-review::before {
        content: "\f0ca";
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        margin-right: 10px;
        border-radius: var(--wv-radius-sm);
        background-color: var(--wv-brand-lembut);
        color: var(--wv-brand);
        font-family: FontAwesome;
        font-size: 13px;
        font-weight: normal;
        vertical-align: middle;
    }
    body.wv2.not-home #page-content .tabel-review .review-row.label-review {
        padding-top: 8px;
        padding-bottom: 0;
        color: var(--wv-muted);
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.02em;
    }
    body.wv2.not-home #page-content .tabel-review .review-row a {
        font-weight: 600;
    }
    body.wv2.not-home #page-content .tabel-review .ul-fasilitas {
        margin: 2px 0 0;
        padding-left: 18px;
    }
    body.wv2.not-home #page-content .tabel-review .review-row:last-child {
        padding-bottom: 18px;
    }
    body.wv2.not-home #page-content .tabel-review #form-apply-voucher-front {
        margin: 10px 0 4px;
        border-color: var(--wv-border-strong);
        border-radius: var(--wv-radius-md);
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review {
        margin: 8px 0 0;
        padding: 6px 14px !important;
        border: 0 none;
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-sunken);
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr:nth-child(2) {
        border-bottom: 1px dashed var(--wv-border-strong);
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr td {
        padding: 6px 0;
        padding-right: 0 !important;
        padding-left: 0 !important;
        border: 0 none;
        color: var(--wv-ink);
        vertical-align: middle;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr:nth-child(2) td {
        padding-bottom: 10px;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr:nth-child(3) td {
        padding-top: 10px;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr td:first-child {
        padding-right: 10px !important;
        white-space: nowrap;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr td:last-child {
        overflow-wrap: anywhere;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review #diskon-review {
        color: var(--wv-success) !important;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review table tr:nth-child(3) td {
        color: var(--wv-heading);
        font-size: 15px;
    }
    body.wv2.not-home #page-content .tabel-review #order-total-review #total-review {
        color: var(--wv-brand-gelap);
        font-size: 16px;
    }

    /* =====================================================================
     * 9. CEK STATUS TRANSAKSI (/status-transaksi)
     * ===================================================================== */
    body.wv2.not-home #page-content > #form-status-transaksi {
        max-width: 480px;
        margin: 0 auto 24px;
        padding: 22px 24px 24px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-card);
    }
    body.wv2.not-home #page-content > #form-status-transaksi > .mb5 {
        margin-bottom: 14px !important;
    }
    body.wv2.not-home #page-content > #form-status-transaksi > .mb5:last-of-type {
        margin-bottom: 0 !important;
    }
    body.wv2.not-home #page-content > #form-status-transaksi .btn-block {
        min-height: 44px;
        border-radius: var(--wv-radius-md);
        font-weight: 600;
    }
    body.wv2.not-home #page-content > #result-verifikasi:not(:empty) {
        margin-bottom: 16px;
        padding: 18px 20px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-surface);
        box-shadow: var(--wv-shadow-rest);
    }
}
