/*
 * Website v2 — konten (docs/ui/RENCANA_WEBSITE_V2.md). Semua selektor berawalan body.wv2, dibungkus @media screen.
 * Pemilik: agen konten (WV04). Halaman: hubungi kami, halaman statis (tentang kami) + blok bagikan sosial,
 * testimonial, blog (daftar/kategori/detail/sidebar), promo, galeri foto, galeri video.
 * Acuan: recoding erahajj.go (Card elevated + KepalaKartuSitus: ikon dalam lencana warna utama muda + judul tebal).
 * Catatan: tema legacy memaksa `a { color: … !important }` dan `.active-background-color { … !important }`,
 * sehingga beberapa warna tautan/judul di sini memakai !important dengan selektor spesifik halaman.
 */
@media screen {

    /* ================================================================
     * 0. Kartu dasar konten + kepala kartu dengan ikon dalam lencana
     * ================================================================ */
    body.wv2.not-home #kantor-pusat-hubungi-kami,
    body.wv2.not-home #kantor-cabang-hubungi-kami:has(.kantor-list),
    body.wv2.not-home #halaman-konten-inner,
    body.wv2.not-home .testimonial-item-list,
    body.wv2.not-home #form-testimonial-outer,
    body.wv2.not-home .list-blog.full-page,
    body.wv2.not-home .promo-list-item .paket-list.list-promo,
    body.wv2.not-home .list-video .list-video-inner,
    body.wv2.not-home #galeri-video-other {
        background-color: var(--wv-surface);
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        box-shadow: var(--wv-shadow-rest);
        color: var(--wv-ink);
    }

    /* Lencana ikon (FontAwesome 4 yang sudah dimuat tema) di depan judul kartu. */
    body.wv2.not-home .heading-hubungi-kami::before,
    body.wv2.not-home #form-testimonial-outer #testimonial-judul::before,
    body.wv2.not-home .detail-informasi-blog .detail-informasi-blog-heading::before,
    body.wv2.not-home #galeri-video-other-title::before {
        content: "\f0e0";
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: var(--wv-radius-md);
        background-color: var(--wv-brand-soft);
        color: var(--wv-brand);
        font-family: FontAwesome;
        font-size: 15px;
        font-weight: normal;
        font-style: normal;
        line-height: 1;
        text-transform: none;
    }

    /* ================================================================
     * 1. Hubungi kami (/hubungi-kami)
     * ================================================================ */
    /* Wadah peta: bingkai membulat. Leaflet tidak diubah (hanya dipotong sudutnya). */
    body.wv2.not-home #page-content section.map {
        overflow: hidden;
        margin: 0 0 24px 0;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: var(--wv-sunken);
        box-shadow: var(--wv-shadow-rest);
        isolation: isolate;
    }

    body.wv2.not-home #kantor-pusat-hubungi-kami,
    body.wv2.not-home #kantor-cabang-hubungi-kami:has(.kantor-list) {
        margin: 0 0 20px 0;
        padding: 20px;
    }

    body.wv2.not-home .heading-hubungi-kami {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0 0 16px 0;
        color: var(--wv-heading);
        font-size: 17px;
        font-weight: 600;
        line-height: 1.5;
        text-align: left;
        text-transform: none;
    }

    body.wv2.not-home #kantor-pusat-hubungi-kami .heading-hubungi-kami::before {
        content: "\f1ad"; /* building */
    }

    body.wv2.not-home #kantor-cabang-hubungi-kami .heading-hubungi-kami::before {
        content: "\f041"; /* map-marker */
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        background: transparent;
        border: 0 none;
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list + .kantor-list {
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid var(--wv-border);
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list .nama-kantor {
        margin: 0 0 8px 0;
        color: var(--wv-brand) !important;
        font-weight: 700;
        text-transform: none;
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list table {
        width: 100%;
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 0 4px;
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list table tr td {
        padding: 2px 0 !important;
        vertical-align: top;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list table tr td:first-child {
        width: 30px;
        padding: 2px 6px 2px 0 !important;
        text-align: center;
    }

    body.wv2.not-home #front-hubungi-kami .kantor-list table tr td:first-child .fa {
        color: var(--wv-brand) !important;
        font-size: 15px;
        line-height: 1.4;
    }

    /* Kolom form (kolom kanan, tanpa id): judul = kepala kartu, .form-wrapper = badan kartu. */
    body.wv2.not-home #front-hubungi-kami + [class*="col-"] > .heading-hubungi-kami {
        margin: 0;
        padding: 20px 20px 16px;
        background-color: var(--wv-surface);
        border: 1px solid var(--wv-border);
        border-bottom: 0 none;
        border-radius: var(--wv-radius-lg) var(--wv-radius-lg) 0 0;
    }

    body.wv2.not-home #front-hubungi-kami + [class*="col-"] > .form-wrapper {
        margin: 0 0 20px 0;
        padding: 0 20px 20px;
        background-color: var(--wv-surface);
        border: 1px solid var(--wv-border);
        border-top: 0 none;
        border-radius: 0 0 var(--wv-radius-lg) var(--wv-radius-lg);
        box-shadow: var(--wv-shadow-rest);
    }

    body.wv2.not-home #front-hubungi-kami + [class*="col-"] #form-hubungi-kami {
        display: block;
        padding: 0;
        background: transparent;
        border: 0 none;
    }

    /* ================================================================
     * 2. Halaman statis / tentang kami + detail blog: kartu isi & tipografi
     * ================================================================ */
    body.wv2.not-home #halaman-konten-inner {
        min-width: 0;
        margin: 0 0 20px 0;
        padding: 24px;
        font-size: 15px;
        line-height: 1.7;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home #halaman-konten-inner::after {
        content: "";
        display: table;
        clear: both;
    }

    body.wv2.not-home #halaman-konten-inner h1,
    body.wv2.not-home #halaman-konten-inner h2,
    body.wv2.not-home #halaman-konten-inner h3,
    body.wv2.not-home #halaman-konten-inner h4,
    body.wv2.not-home #halaman-konten-inner h5 {
        margin: 24px 0 8px;
        color: var(--wv-heading);
        font-weight: 600;
        line-height: 1.3;
    }

    body.wv2.not-home #halaman-konten-inner > :first-child,
    body.wv2.not-home #halaman-konten-inner #posting-meta + * {
        margin-top: 0;
    }

    body.wv2.not-home #halaman-konten-inner p,
    body.wv2.not-home #halaman-konten-inner ul,
    body.wv2.not-home #halaman-konten-inner ol,
    body.wv2.not-home #halaman-konten-inner blockquote,
    body.wv2.not-home #halaman-konten-inner figure {
        margin: 0 0 16px;
    }

    body.wv2.not-home #halaman-konten-inner img {
        max-width: 100%;
        height: auto;
        border-radius: var(--wv-radius-md);
    }

    body.wv2.not-home #halaman-konten-inner iframe,
    body.wv2.not-home #halaman-konten-inner video,
    body.wv2.not-home #halaman-konten-inner table {
        max-width: 100%;
    }

    body.wv2.not-home #halaman-konten-inner table {
        border-collapse: collapse;
    }

    body.wv2.not-home #halaman-konten-inner td,
    body.wv2.not-home #halaman-konten-inner th {
        padding: 6px 10px;
        border: 1px solid var(--wv-border);
    }

    body.wv2.not-home #halaman-konten-inner blockquote {
        padding: 4px 0 4px 16px;
        color: var(--wv-muted);
        font-size: inherit;
        border-left: 3px solid var(--wv-brand-lembut);
    }

    body.wv2.not-home #halaman-konten-inner a:not(.title-tip):not(.btn) {
        color: var(--wv-brand) !important;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    /* Meta detail blog (kategori, tanggal). */
    body.wv2.not-home #halaman-konten-inner #posting-meta {
        margin: 0 0 20px 0;
        padding: 0 0 14px 0;
        color: var(--wv-muted);
        font-size: 13px;
        font-style: normal;
        line-height: 1.6;
        border-bottom: 1px solid var(--wv-border);
    }

    body.wv2.not-home #halaman-konten-inner #posting-meta a {
        color: var(--wv-brand) !important;
        text-decoration: none;
    }

    /* ================================================================
     * 3. Blok "Bagikan :" (komponen social-button, semua halaman isi)
     * ================================================================ */
    body.wv2.not-home .social-buttons {
        display: block;
        width: 100%;
        margin-top: 20px;
        padding-top: 14px;
        border-top: 1px solid var(--wv-border);
    }

    body.wv2.not-home .social-buttons .title {
        margin: 0 0 8px 0;
        color: var(--wv-ink);
        font-size: 14px;
        font-weight: 500;
    }

    body.wv2.not-home .social-buttons .social-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        width: 100%;
    }

    body.wv2.not-home .social-buttons .social-list a {
        --wv-merek: #474747;
        float: none;
        width: 34px;
        height: 34px;
        margin: 0;
        text-decoration: none !important;
    }

    body.wv2.not-home .social-buttons .social-list a[href*="facebook.com"] { --wv-merek: #3b5898; }
    body.wv2.not-home .social-buttons .social-list a[href*="whatsapp.com"] { --wv-merek: #25a244; }
    body.wv2.not-home .social-buttons .social-list a[href*="twitter.com"] { --wv-merek: #1d9bd1; }
    body.wv2.not-home .social-buttons .social-list a[href*="pinterest.com"] { --wv-merek: #cb2027; }
    body.wv2.not-home .social-buttons .social-list a[href^="mailto:"] { --wv-merek: #b01101; }
    body.wv2.not-home .social-buttons .social-list a[href*="linkedin.com"] { --wv-merek: #0274b6; }
    body.wv2.not-home .social-buttons .social-list a[href*="tumblr.com"] { --wv-merek: #274151; }

    /* Warna latar inline legacy tetap menjadi cadangan bila color-mix tidak didukung. */
    body.wv2.not-home .social-buttons .social-icon {
        display: grid;
        place-items: center;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        border: 1px solid color-mix(in srgb, var(--wv-merek) 18%, #fff);
        border-radius: var(--wv-radius-md);
        background-color: color-mix(in srgb, var(--wv-merek) 8%, #fff) !important;
        color: var(--wv-merek);
        font-size: 15px;
        line-height: 1;
        transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
    }

    body.wv2.not-home .social-buttons .social-list a:hover .social-icon,
    body.wv2.not-home .social-buttons .social-list a:focus-visible .social-icon {
        border-color: var(--wv-merek);
        background-color: var(--wv-merek) !important;
        color: #fff;
    }

    body.wv2.not-home .social-buttons .social-list a:focus-visible {
        outline: 2px solid var(--wv-brand);
        outline-offset: 2px;
        border-radius: var(--wv-radius-md);
    }

    /* ================================================================
     * 4. Testimonial (/testimonial)
     * ================================================================ */
    body.wv2.not-home #all-testimonial-outer {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
        max-height: none;
        margin: 0 0 24px 0;
        padding: 0;
        overflow: visible;
        background: transparent;
        border: 0 none;
    }

    body.wv2.not-home .testimonial-item-list {
        display: flex;
        flex-direction: column;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 20px;
    }

    body.wv2.not-home .testimonial-item-list::before {
        content: "\201C";
        display: block;
        height: 28px;
        margin: 0 0 4px 0;
        color: var(--wv-brand-lembut);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 48px;
        font-weight: 700;
        line-height: 1;
    }

    body.wv2.not-home .testimonial-item-list .testimonial-judul {
        margin: 0 0 8px 0;
        color: var(--wv-heading) !important;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .testimonial-item-list .testimonial-pesan {
        flex: 1 1 auto;
        margin: 0 0 16px 0;
        color: var(--wv-ink);
        line-height: 1.6;
        text-align: left;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .testimonial-item-list .testimonial-author {
        display: flex;
        flex-direction: column;
        gap: 2px;
        margin: 0;
        padding-top: 12px;
        color: var(--wv-muted);
        font-style: normal;
        border-top: 1px solid var(--wv-border);
    }

    body.wv2.not-home .testimonial-item-list .testimonial-author > span:not([class]) {
        display: none;
    }

    body.wv2.not-home .testimonial-item-list .testimonial-nama {
        color: var(--wv-heading);
        font-weight: 600;
    }

    body.wv2.not-home .testimonial-item-list .testimonial-waktu {
        font-size: 12px;
    }

    body.wv2.not-home #form-testimonial-outer {
        display: block;
        width: 100%;
        margin: 0 0 20px 0;
        padding: 20px;
    }

    body.wv2.not-home #form-testimonial-outer #testimonial-judul {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0 0 16px 0;
        color: var(--wv-heading);
        font-size: 17px;
        font-weight: 600;
        line-height: 1.5;
        text-transform: none;
    }

    body.wv2.not-home #form-testimonial-outer #testimonial-judul::before {
        content: "\f006"; /* star-o */
    }

    body.wv2.not-home #form-testimonial-outer #form-testimonial {
        padding: 0;
        background: transparent;
        border: 0 none;
    }

    /* ================================================================
     * 5. Blog: daftar & kategori (/blog, /blog/kategori/…)
     * ================================================================ */
    /* Baris kartu disejajarkan (tinggi seragam); alert hasil pencarian tetap selebar baris. */
    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row {
        display: flex;
        flex-wrap: wrap;
    }

    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row::before,
    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row::after {
        display: none;
    }

    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row > div:not(.col-sm-6) {
        flex: 0 0 100%;
        max-width: 100%;
    }

    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row > .col-sm-6 {
        display: flex;
        flex: 0 0 100%;
        max-width: 100%;
        min-width: 0;
        float: none;
    }

    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row > div:not(.col-sm-6) h4 {
        margin: 0 0 12px 0;
        color: var(--wv-heading);
        font-weight: 600;
    }

    body.wv2.not-home .list-blog.full-page {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0 0 24px 0;
        overflow: hidden;
        transition: box-shadow 150ms ease, border-color 150ms ease;
    }

    body.wv2.not-home .list-blog.full-page:hover {
        border-color: var(--wv-border-strong);
        box-shadow: var(--wv-shadow-card);
    }

    body.wv2.not-home .list-blog.full-page .thumbnail {
        width: 100%;
        margin: 0;
        padding: 62.5% 0 0 0; /* 16:10 */
        background-color: var(--wv-sunken);
        background-size: cover;
        background-position: center center;
        border: 0 none;
        border-radius: 0;
        float: none;
    }

    body.wv2.not-home .list-blog.full-page .list-text-blog {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        padding: 16px 20px 20px;
        border: 0 none;
    }

    body.wv2.not-home .list-blog.full-page .judul {
        margin: 0 0 8px 0;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.35;
        white-space: normal;
    }

    body.wv2.not-home .list-blog.full-page .judul a {
        color: var(--wv-heading) !important;
        text-decoration: none;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .list-blog.full-page .judul a:hover {
        color: var(--wv-brand) !important;
        text-decoration: underline;
    }

    body.wv2.not-home .list-blog.full-page .data-field {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

    body.wv2.not-home .list-blog.full-page .kategori-blog,
    body.wv2.not-home .list-blog.full-page .waktu-posting {
        color: var(--wv-muted);
        font-size: 12.5px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .list-blog.full-page .waktu-posting {
        margin: 2px 0 10px 0;
    }

    body.wv2.not-home .list-blog.full-page .kategori-blog a {
        color: var(--wv-brand) !important;
    }

    body.wv2.not-home .list-blog.full-page .intro {
        margin: 0 0 16px 0;
        color: var(--wv-ink);
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .list-blog.full-page .read-more {
        align-self: flex-start;
        margin-top: auto;
    }

    /* ================================================================
     * 6. Blog: sidebar (Cari Blog, 10 Blog Terbaru/Terpopuler, Kategori)
     *    Judul = kepala kartu, blok sesudahnya = badan kartu.
     * ================================================================ */
    body.wv2.not-home .detail-informasi-blog {
        min-width: 0;
        margin-bottom: 20px;
    }

    body.wv2.not-home .detail-informasi-blog .detail-informasi-blog-heading {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 20px 20px 14px;
        background-color: var(--wv-surface) !important;
        border: 1px solid var(--wv-border) !important;
        border-bottom: 0 none !important;
        border-radius: var(--wv-radius-lg) var(--wv-radius-lg) 0 0;
        color: var(--wv-heading) !important;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.4;
        text-align: left;
        text-transform: none;
    }

    body.wv2.not-home .detail-informasi-blog .detail-informasi-blog-heading:nth-of-type(1)::before {
        content: "\f002"; /* search */
    }

    body.wv2.not-home .detail-informasi-blog .detail-informasi-blog-heading:nth-of-type(2)::before {
        content: "\f017"; /* clock-o */
    }

    body.wv2.not-home .detail-informasi-blog .detail-informasi-blog-heading:nth-of-type(3)::before {
        content: "\f201"; /* line-chart */
    }

    body.wv2.not-home .detail-informasi-blog .detail-informasi-blog-heading:nth-of-type(4)::before {
        content: "\f07b"; /* folder */
    }

    body.wv2.not-home .detail-informasi-blog #form-pencarian-blog,
    body.wv2.not-home .detail-informasi-blog .blog-card-grey {
        display: block;
        margin: 0 0 20px 0;
        background-color: var(--wv-surface);
        border: 1px solid var(--wv-border);
        border-top: 0 none;
        border-radius: 0 0 var(--wv-radius-lg) var(--wv-radius-lg);
        box-shadow: var(--wv-shadow-rest);
    }

    body.wv2.not-home .detail-informasi-blog #form-pencarian-blog {
        padding: 2px 5px 20px;
    }

    body.wv2.not-home .detail-informasi-blog #form-pencarian-blog::after {
        content: "";
        display: table;
        clear: both;
    }

    body.wv2.not-home .detail-informasi-blog .blog-card-grey {
        padding: 2px 20px 12px;
    }

    body.wv2.not-home .detail-informasi-blog .last-judul-blog {
        display: flex;
        gap: 8px;
        margin: 0;
        padding: 8px 0;
        border-bottom: 1px solid var(--wv-border);
        line-height: 1.5;
    }

    body.wv2.not-home .detail-informasi-blog .last-judul-blog:last-child {
        border-bottom: 0 none;
    }

    body.wv2.not-home .detail-informasi-blog .last-judul-blog > span {
        flex: 0 0 auto;
        min-width: 18px;
        color: var(--wv-muted);
    }

    body.wv2.not-home .detail-informasi-blog .last-judul-blog a {
        min-width: 0;
        margin-left: 0;
        color: var(--wv-ink) !important;
        text-decoration: none;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .detail-informasi-blog .last-judul-blog a:hover {
        color: var(--wv-brand) !important;
        text-decoration: underline;
    }

    /* ================================================================
     * 7. Promo (/promo)
     * ================================================================ */
    body.wv2.not-home #dropdown-promo {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 34px;
        margin-left: 6px;
        padding: 4px 14px;
        background-color: var(--wv-surface);
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-pill);
        color: var(--wv-heading) !important;
        font-weight: 500;
        text-decoration: none;
        cursor: pointer;
    }

    body.wv2.not-home #dropdown-promo:hover {
        border-color: var(--wv-brand);
    }

    body.wv2.not-home #dropdown-promo + .dropdown-menu {
        padding: 6px;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-md);
        box-shadow: var(--wv-shadow-raised);
    }

    body.wv2.not-home #dropdown-promo + .dropdown-menu > li > a {
        padding: 7px 12px;
        border-radius: var(--wv-radius-sm);
        cursor: pointer;
    }

    body.wv2.not-home #dropdown-promo + .dropdown-menu > li.active > a,
    body.wv2.not-home #dropdown-promo + .dropdown-menu > li > a:hover {
        background-color: var(--wv-brand-soft);
        color: var(--wv-brand) !important;
    }

    body.wv2.not-home .promo-list-item {
        margin-bottom: 20px;
    }

    body.wv2.not-home .promo-list-item .paket-list.list-promo {
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 100%;
        margin: 0;
        padding: 20px;
        overflow: hidden;
    }

    body.wv2.not-home .promo-list-item .paket-list.list-promo .paket-title {
        margin: 0 0 10px 0;
        padding: 0;
        background: transparent;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.4;
        text-align: left;
    }

    body.wv2.not-home .promo-list-item .paket-list.list-promo .paket-title a {
        color: var(--wv-heading) !important;
        text-decoration: none;
    }

    body.wv2.not-home .promo-list-item .paket-list.list-promo .paket-title a:hover {
        color: var(--wv-brand) !important;
    }

    body.wv2.not-home .promo-list-item .paket-list.list-promo .paket-description {
        flex: 1 1 auto;
        margin: 0 0 16px 0;
        padding: 12px 0 0 0;
        color: var(--wv-ink);
        line-height: 1.6;
        text-align: left;
        border-top: 1px solid var(--wv-border);
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .promo-list-item .paket-list.list-promo .paket-btn-outer {
        margin: 0;
        padding: 0;
        text-align: left;
    }

    /* ================================================================
     * 8. Galeri foto (/galeri, /galeri/detail/…)
     * ================================================================ */
    body.wv2.not-home #page-outer > #page-content:has(> a.list-galeri) {
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
        gap: 16px;
    }

    body.wv2.not-home #page-outer > #page-content:has(> a.list-galeri)::after {
        display: none;
    }

    body.wv2.not-home #page-outer > #page-content:has(> a.list-galeri) > :not(a.list-galeri) {
        flex: 0 0 100%;
        max-width: 100%;
    }

    body.wv2.not-home #page-content > a.list-galeri {
        flex: 0 0 calc((100% - 48px) / 4);
        width: calc((100% - 48px) / 4);
        height: auto;
        aspect-ratio: 4 / 3;
        margin: 0;
        overflow: hidden;
        float: none;
        background-color: var(--wv-sunken);
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        box-shadow: var(--wv-shadow-rest);
        transition: box-shadow 150ms ease, transform 150ms ease;
    }

    body.wv2.not-home #page-content > a.list-galeri:hover {
        box-shadow: var(--wv-shadow-card);
        transform: translateY(-2px);
    }

    body.wv2.not-home #page-content > a.list-galeri .title {
        padding: 24px 12px 10px;
        background: linear-gradient(to top, rgb(0 0 0 / 70%), rgb(0 0 0 / 0%));
        color: #fff !important;
        font-weight: 500;
        text-align: left;
    }

    /* Detail galeri: carousel membulat, kontrol & thumbnail rapi. */
    body.wv2.not-home #main-slideshow-galeri .carousel-inner {
        overflow: hidden;
        border-radius: var(--wv-radius-lg);
    }

    body.wv2.not-home #main-slideshow-galeri .galeri-control {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        margin: 12px 0;
    }

    body.wv2.not-home #main-slideshow-galeri .carousel-control {
        float: none;
        padding: 7px 16px;
        border-radius: var(--wv-radius-md);
        font-weight: 500;
    }

    body.wv2.not-home #main-slideshow-galeri .carousel-indicators {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 0;
        padding: 0;
    }

    body.wv2.not-home #main-slideshow-galeri .carousel-indicators li {
        float: none;
        margin: 0;
        overflow: hidden;
        border: 2px solid transparent;
        border-radius: var(--wv-radius-md);
    }

    body.wv2.not-home #main-slideshow-galeri .carousel-indicators li.active {
        border-color: var(--wv-brand);
    }

    body.wv2.not-home #main-slideshow-galeri .carousel-indicators li .thumbnail {
        margin: 0;
        padding: 0;
        border: 0 none;
        border-radius: calc(var(--wv-radius-md) - 2px);
    }

    /* ================================================================
     * 9. Galeri video (/galeri-video, detail)
     * ================================================================ */
    body.wv2.not-home .list-video .list-video-inner {
        display: flex;
        gap: 14px;
        width: 100%;
        margin-bottom: 20px;
        padding: 12px;
        transition: box-shadow 150ms ease, border-color 150ms ease;
    }

    body.wv2.not-home .list-video .list-video-inner:hover {
        background-color: var(--wv-surface);
        border-color: var(--wv-border-strong);
        box-shadow: var(--wv-shadow-card);
    }

    body.wv2.not-home .list-video .video-thumbnail {
        flex: 0 0 140px;
        width: 140px;
        height: 88px;
        float: none;
        overflow: hidden;
        background-color: var(--wv-sunken);
        border: 0 none;
        border-radius: var(--wv-radius-md);
    }

    body.wv2.not-home .list-video .video-keterangan {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        padding: 0;
        float: none;
    }

    body.wv2.not-home .list-video .video-title a {
        margin-bottom: 4px;
        color: var(--wv-heading) !important;
        font-weight: 600;
        text-decoration: none;
    }

    body.wv2.not-home .list-video .video-title a:hover {
        color: var(--wv-brand) !important;
    }

    body.wv2.not-home .list-video .video-kategori,
    body.wv2.not-home .list-video .video-deskripsi {
        color: var(--wv-muted);
        font-size: 12.5px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home .list-video .video-kategori a {
        color: var(--wv-brand) !important;
    }

    body.wv2.not-home .list-video .video-deskripsi {
        font-style: normal;
    }

    body.wv2.not-home #galeri-video-player {
        overflow: hidden;
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-lg);
        background-color: #000;
    }

    body.wv2.not-home #galeri-video-keterangan {
        margin: 16px 0 24px 0;
        padding: 0;
        border-top: 0 none;
        color: var(--wv-ink);
        line-height: 1.6;
    }

    body.wv2.not-home #galeri-video-kategori,
    body.wv2.not-home #galeri-video-waktu {
        color: var(--wv-muted);
        font-size: 13px;
    }

    body.wv2.not-home #galeri-video-deskripsi {
        margin-top: 10px;
        overflow-wrap: anywhere;
    }

    body.wv2.not-home #galeri-video-other {
        display: block;
        overflow: hidden;
    }

    body.wv2.not-home #galeri-video-other-title {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 16px 16px 12px;
        color: var(--wv-heading);
        font-size: 16px;
        font-weight: 600;
        border-bottom: 0 none;
        text-transform: none;
    }

    body.wv2.not-home #galeri-video-other-title::before {
        content: "\f03d"; /* video-camera */
    }

    body.wv2.not-home #galeri-video-other .list-video-inner {
        margin-bottom: 10px;
        box-shadow: none;
    }

    body.wv2.not-home #galeri-video-other .video-thumbnail {
        flex-basis: 100px;
        width: 100px;
        height: 64px;
    }

    body.wv2.not-home #btn-load-other-video {
        display: block;
        margin: 0 16px 16px;
        padding: 8px 12px;
        background-color: var(--wv-surface);
        border: 1px solid var(--wv-border);
        border-radius: var(--wv-radius-md);
        color: var(--wv-brand) !important;
        font-size: 13px;
        font-weight: 500;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
    }

    body.wv2.not-home #btn-load-other-video:hover {
        border-color: var(--wv-brand);
        background-color: var(--wv-brand-soft);
    }

    /* ---- Responsif ---- */
@media (min-width: 768px) {
    body.wv2.not-home .sm-flip-blog > .col-sm-8 > .row > .col-sm-6 {
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media (max-width: 991px) {
    body.wv2.not-home #all-testimonial-outer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.wv2.not-home #page-content > a.list-galeri {
        flex-basis: calc((100% - 32px) / 3);
        width: calc((100% - 32px) / 3);
    }
}

@media (max-width: 599px) {
    body.wv2.not-home #all-testimonial-outer {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    body.wv2.not-home #page-content > a.list-galeri {
        flex-basis: calc((100% - 12px) / 2);
        width: calc((100% - 12px) / 2);
    }

    body.wv2.not-home #page-outer > #page-content:has(> a.list-galeri) {
        gap: 12px;
    }

    body.wv2.not-home #halaman-konten-inner {
        padding: 18px 16px;
    }

    body.wv2.not-home #kantor-pusat-hubungi-kami,
    body.wv2.not-home #kantor-cabang-hubungi-kami:has(.kantor-list),
    body.wv2.not-home #form-testimonial-outer,
    body.wv2.not-home .testimonial-item-list {
        padding: 16px;
    }

    body.wv2.not-home #front-hubungi-kami + [class*="col-"] > .heading-hubungi-kami {
        padding: 16px 16px 14px;
    }

    body.wv2.not-home #front-hubungi-kami + [class*="col-"] > .form-wrapper {
        padding: 0 16px 16px;
    }

    body.wv2.not-home .list-video .video-thumbnail {
        flex-basis: 110px;
        width: 110px;
        height: 70px;
    }
}
}
