/*
 * Website v2 — form (docs/ui/RENCANA_WEBSITE_V2.md, pemilik: agen form WV02).
 * Acuan: website recoding (/hubungi-kami, /testimonial) dan erahajj-ui TextInput/Select/InputGroup: isian 43px,
 * padding 9px 12px, radius 8px, garis --wv-border-strong, hover/fokus warna brand website travel, label 14px/600,
 * tanda wajib "*" merah setelah label. Lingkup: isi halaman (#page-outer) dan modal pada body.wv2.not-home —
 * beranda, header/footer ThemeBuilder, admin-bar, dan seksi ThemeBuilder (.skssl-*, .form-data-section,
 * #about-section, .form-pencarian) tidak disentuh. !important hanya untuk melawan !important legacy
 * (style.css, web.css, chosen override, CSS generate ThemeBuilder: .btn-primary, input:focus).
 */
@media screen {
body.wv2 {
    --wv-form-tinggi: 43px;
    --wv-form-garis: var(--wv-border-strong);
    --wv-form-fokus-bahaya: 0 0 0 3px rgb(200 50 59 / 18%);
    --wv-form-panah: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ */
/* 1. Kontrol dasar: input, select, textarea (.form-control)          */
/* ------------------------------------------------------------------ */
body.wv2.not-home :is(#page-outer, .modal) .form-control:not(:where([class*="skssl"] *, .form-data-section *, #about-section *, .form-pencarian *, .dataTables_length *, .dataTables_filter *)) {
    height: var(--wv-form-tinggi);
    padding: 9px 12px;
    font-family: inherit;
    font-size: 15px;
    line-height: 23px;
    color: var(--wv-ink);
    background-color: var(--wv-surface);
    border: 1px solid var(--wv-form-garis);
    border-radius: var(--wv-radius-sm);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body.wv2.not-home :is(#page-outer, .modal) .form-control:not(:where([class*="skssl"] *, .form-data-section *, #about-section *, .form-pencarian *, .dataTables_length *, .dataTables_filter *)):hover:not(:disabled):not([readonly]) {
    border-color: var(--wv-brand);
}
/* CSS ThemeBuilder: input:focus { box-shadow: … !important } — diganti cincin fokus brand. */
body.wv2.not-home :is(#page-outer, .modal) .form-control:not(:where([class*="skssl"] *, .form-data-section *, #about-section *, .form-pencarian *, .dataTables_length *, .dataTables_filter *)):focus {
    border-color: var(--wv-brand);
    box-shadow: var(--wv-focus) !important;
    outline: 0 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .form-control::placeholder {
    color: var(--wv-muted);
    opacity: 1;
}
body.wv2.not-home :is(#page-outer, .modal) .form-control[disabled],
body.wv2.not-home :is(#page-outer, .modal) .form-control[readonly],
body.wv2.not-home :is(#page-outer, .modal) fieldset[disabled] .form-control {
    color: var(--wv-muted);
    background-color: var(--wv-sunken);
    border-color: var(--wv-border);
}
body.wv2.not-home :is(#page-outer, .modal) .form-control[disabled],
body.wv2.not-home :is(#page-outer, .modal) fieldset[disabled] .form-control {
    cursor: not-allowed;
}
/* Flatpickr tanpa allowInput menandai input readonly, padahal tetap dapat diklik: jangan tampak nonaktif. */
body.wv2.not-home :is(#page-outer, .modal) .form-control.flatpickr-input[readonly]:not([disabled]) {
    color: var(--wv-ink);
    background-color: var(--wv-surface);
    border-color: var(--wv-form-garis);
    cursor: pointer;
}
body.wv2.not-home :is(#page-outer, .modal) textarea.form-control:not(:where([class*="skssl"] *, .form-data-section *, #about-section *)) {
    height: auto;
    min-height: var(--wv-form-tinggi);
    line-height: 1.55;
    resize: vertical;
}

/* style.css menaruh gambar asterisk.png di pojok isian wajib; v2 memakai tanda "*" merah setelah label (§2). */
body.wv2.not-home :is(#page-outer, .modal) :is(input, textarea).form-control[required] {
    background-image: none;
}

/* Select bawaan: panah chevron seperti Select recoding (select multiple/size tidak diubah). */
body.wv2.not-home :is(#page-outer, .modal) select.form-control:not([multiple]):not([size]):not(:where([class*="skssl"] *, .form-data-section *, #about-section *, .dataTables_length *)) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 36px;
    background-image: var(--wv-form-panah);
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
    cursor: pointer;
}
body.wv2.not-home :is(#page-outer, .modal) select.form-control:is([multiple], [size]) {
    height: auto;
    padding: 6px;
}
body.wv2.not-home :is(#page-outer, .modal) select.form-control[multiple] option {
    padding: 4px 6px;
    border-radius: 4px;
}

/* Ukuran kecil (.input-sm) dipakai segelintir form. */
body.wv2.not-home :is(#page-outer, .modal) .form-control.input-sm:not(:where(.dataTables_length *, .dataTables_filter *)),
body.wv2.not-home :is(#page-outer, .modal) .input-group-sm > .form-control {
    height: 36px;
    padding: 6px 10px;
    font-size: 14px;
    line-height: 22px;
}

/* ------------------------------------------------------------------ */
/* 2. Label, tanda wajib, teks bantuan                                */
/* ------------------------------------------------------------------ */
body.wv2.not-home :is(#page-outer, .modal) form label:not(:has(input, select, textarea)):not(:where([class*="skssl"] *, .form-data-section *, #about-section *, .dataTables_length *, .dataTables_filter *, .checkbox *, .radio *)) {
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    color: var(--wv-ink);
}
/* Tanda wajib: label yang langsung diikuti isian wajib (termasuk select Chosen dan input-group, mis. +62),
   atau label terakhir di wadahnya yang diikuti isian wajib (mis. Nama Pemesan berselang div pilih-pemesan).
   Captcha tidak diberi tanda (seperti recoding). */
body.wv2.not-home :is(#page-outer, .modal) form label:is(
    :has(+ :is(input, select, textarea)[required]),
    :has(+ .input-group :is(input, select, textarea)[required]:not([name="captcha"])),
    :not(:has(~ label)):has(~ :is(input, select, textarea)[required]:not([name="captcha"]))
):not(:empty)::after {
    content: "*";
    display: inline;
    float: none;
    position: static;
    margin-left: 4px;
    font-weight: 600;
    color: var(--wv-danger);
}
body.wv2.not-home :is(#page-outer, .modal) .help-block {
    margin-top: 4px;
    margin-bottom: 0;
    font-size: 13px;
    color: var(--wv-muted);
}
body.wv2.not-home :is(#page-outer, .modal) form small {
    color: var(--wv-muted);
}

/* Jarak antarbaris isian: utilitas legacy mb5 (5px) terlalu rapat; recoding ±14px. */
body.wv2.not-home :is(#page-outer, .modal) form > :is(.mb5, .mb10, .data-item):has(> label + :is(.form-control, .input-group, select, textarea)) {
    margin-bottom: 14px !important;
}

/* Status validasi. */
body.wv2.not-home :is(#page-outer, .modal) .has-error .form-control,
body.wv2.not-home :is(#page-outer, .modal) .form-control[aria-invalid="true"] {
    border-color: var(--wv-danger) !important;
    background-color: var(--wv-surface);
}
body.wv2.not-home :is(#page-outer, .modal) .has-error .form-control:focus,
body.wv2.not-home :is(#page-outer, .modal) .form-control[aria-invalid="true"]:focus {
    box-shadow: var(--wv-form-fokus-bahaya) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .has-error :is(.control-label, .help-block, .checkbox, .radio) {
    color: var(--wv-danger);
}
body.wv2.not-home :is(#page-outer, .modal) .has-success .form-control {
    border-color: var(--wv-success);
}
body.wv2.not-home :is(#page-outer, .modal) .has-success :is(.control-label, .help-block) {
    color: var(--wv-success);
}

/* ------------------------------------------------------------------ */
/* 3. Checkbox, radio, input file                                      */
/* ------------------------------------------------------------------ */
body.wv2.not-home :is(#page-outer, .modal) input:is([type="checkbox"], [type="radio"]) {
    accent-color: var(--wv-brand);
    cursor: pointer;
}
body.wv2.not-home :is(#page-outer, .modal) input:is([type="checkbox"], [type="radio"]):disabled {
    cursor: not-allowed;
}
body.wv2.not-home :is(#page-outer, .modal) input:is([type="checkbox"], [type="radio"]):focus-visible {
    outline: 2px solid var(--wv-brand);
    outline-offset: 2px;
    box-shadow: none !important;
}
body.wv2.not-home :is(#page-outer, .modal) label:has(> input:is([type="checkbox"], [type="radio"])) {
    cursor: pointer;
}

body.wv2.not-home :is(#page-outer, .modal) input[type="file"] {
    max-width: 100%;
    font-family: inherit;
    font-size: 14px;
    color: var(--wv-muted);
}
body.wv2.not-home :is(#page-outer, .modal) input[type="file"].form-control {
    height: auto;
    padding: 6px 8px;
    line-height: 22px;
}
body.wv2.not-home :is(#page-outer, .modal) input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 6px 12px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--wv-ink);
    background-color: var(--wv-sunken);
    border: 1px solid var(--wv-form-garis);
    border-radius: var(--wv-radius-sm);
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease;
}
body.wv2.not-home :is(#page-outer, .modal) input[type="file"]:hover::file-selector-button {
    color: var(--wv-brand);
    border-color: var(--wv-brand);
}
body.wv2.not-home :is(#page-outer, .modal) input[type="file"]:focus-visible {
    outline: 2px solid var(--wv-brand);
    outline-offset: 2px;
    border-radius: var(--wv-radius-sm);
}

/* ------------------------------------------------------------------ */
/* 4. Input group (addon, tombol ikon di kanan, sambungan sudut)      */
/* ------------------------------------------------------------------ */
body.wv2.not-home :is(#page-outer, .modal) .input-group-addon:not(.captcha-image) {
    padding: 0 12px;
    font-size: 14px;
    color: var(--wv-muted);
    background-color: var(--wv-sunken);
    border: 1px solid var(--wv-form-garis);
    border-radius: var(--wv-radius-sm);
}
body.wv2.not-home :is(#page-outer, .modal) .input-group-btn > .btn {
    height: var(--wv-form-tinggi);
    padding-top: 9px;
    padding-bottom: 9px;
    line-height: 23px;
}
/* Fokus/hover isian tampil utuh di atas garis tetangga. */
body.wv2.not-home :is(#page-outer, .modal) .input-group .form-control:is(:hover, :focus) {
    position: relative;
    z-index: 3;
}
/* Sambungan sudut (pola Bootstrap 3, radius v2). Input hidden di akhir grup (mis. form()->telepon) diabaikan
   agar isian terakhir yang tampak tetap bersudut kanan. */
body.wv2.not-home :is(#page-outer, .modal) .input-group > :is(.form-control, .input-group-addon):not(:first-child):has(~ :not(input[type="hidden"])),
body.wv2.not-home :is(#page-outer, .modal) .input-group > .input-group-btn:not(:first-child):has(~ :not(input[type="hidden"])) > .btn {
    border-radius: 0 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > :is(.form-control, .input-group-addon):first-child:has(~ :not(input[type="hidden"])),
body.wv2.not-home :is(#page-outer, .modal) .input-group > .input-group-btn:first-child:has(~ :not(input[type="hidden"])) > .btn {
    border-radius: var(--wv-radius-sm) 0 0 var(--wv-radius-sm) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > :is(.form-control, .input-group-addon):not(:first-child):not(:has(~ :not(input[type="hidden"]))),
body.wv2.not-home :is(#page-outer, .modal) .input-group > .input-group-btn:not(:first-child):not(:has(~ :not(input[type="hidden"]))) > .btn {
    border-radius: 0 var(--wv-radius-sm) var(--wv-radius-sm) 0 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > .form-control:first-child:not(:has(~ :not(input[type="hidden"]))) {
    border-radius: var(--wv-radius-sm) !important;
}

/* Kode negara "+62" (form()->telepon): tombol abu lembut seperti recoding, bukan tombol brand. */
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon > .input-group-btn > .btn.dropdown-toggle {
    min-width: 68px;
    padding-left: 12px;
    padding-right: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--wv-ink) !important;
    background-color: var(--wv-sunken) !important;
    border: 1px solid var(--wv-form-garis) !important;
    border-right-width: 0 !important;
    box-shadow: none !important;
    transition: border-color .15s ease, background-color .15s ease;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon > .input-group-btn > .btn.dropdown-toggle:hover,
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon > .input-group-btn.open > .btn.dropdown-toggle {
    color: var(--wv-brand) !important;
    background-color: var(--wv-brand-soft) !important;
    border-color: var(--wv-brand) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon > .input-group-btn > .btn.dropdown-toggle:focus-visible {
    box-shadow: var(--wv-focus) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon > .input-group-btn > .btn.dropdown-toggle .caret {
    margin-left: 4px;
    color: var(--wv-muted);
}
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon .dropdown-menu {
    margin-top: 4px;
    padding: 4px;
    border: 1px solid var(--wv-border);
    border-radius: var(--wv-radius-sm);
    box-shadow: var(--wv-shadow-raised);
}
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon .dropdown-menu > li > a {
    padding: 6px 10px;
    border-radius: 6px;
    color: var(--wv-ink);
}
body.wv2.not-home :is(#page-outer, .modal) .input-group.telepon .dropdown-menu > li > a:is(:hover, :focus) {
    color: var(--wv-heading);
    background-color: var(--wv-brand-soft);
}

/* ------------------------------------------------------------------ */
/* 5. Captcha: [gambar | muat ulang]  [isian kode] seperti recoding    */
/*    Markup legacy: addon gambar, isian, tombol — disusun ulang flex. */
/* ------------------------------------------------------------------ */
body.wv2.not-home :is(#page-outer, .modal) .input-group:has(> .captcha-image) {
    display: flex;
    align-items: stretch;
    width: 100%;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > .input-group-addon.captcha-image {
    display: block;
    order: 1;
    flex: 0 0 122px;
    width: 122px;
    height: var(--wv-form-tinggi);
    padding: 0;
    background-color: var(--wv-surface);
    background-position: center center !important;
    background-repeat: no-repeat;
    border: 1px solid var(--wv-form-garis);
    border-right: 0;
    border-radius: var(--wv-radius-sm) 0 0 var(--wv-radius-sm) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group:has(> .captcha-image) > .input-group-btn {
    display: block;
    order: 2;
    width: auto;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group:has(> .captcha-image) > .input-group-btn > .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--wv-form-tinggi);
    margin: 0;
    padding: 0;
    color: var(--wv-muted) !important;
    background-color: var(--wv-surface) !important;
    border: 1px solid var(--wv-form-garis) !important;
    border-radius: 0 var(--wv-radius-sm) var(--wv-radius-sm) 0 !important;
    box-shadow: none !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group:has(> .captcha-image) > .input-group-btn > .btn .fa {
    color: inherit !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group:has(> .captcha-image) > .input-group-btn > .btn:hover {
    color: var(--wv-brand) !important;
    background-color: var(--wv-brand-soft) !important;
    border-color: var(--wv-brand) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group:has(> .captcha-image) > .input-group-btn > .btn:focus-visible {
    box-shadow: var(--wv-focus) !important;
}
/* Spesifisitas dinaikkan agar mengalahkan aturan sambungan sudut generik di §4. */
body.wv2.not-home :is(#page-outer, .modal) .input-group.input-group:has(> .captcha-image) > .form-control:not(:first-child):not([type="hidden"]) {
    order: 3;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin-left: 8px;
    border-radius: var(--wv-radius-sm) !important;
}

/* ------------------------------------------------------------------ */
/* 6. Chosen (chosen.css v1.4.2 + override style.css/web.css)          */
/* ------------------------------------------------------------------ */
body.wv2.not-home :is(#page-outer, .modal) .chosen-container:not(:where([class*="skssl"] *, .form-data-section *, #about-section *)) {
    font-family: inherit;
    font-size: 15px;
    color: var(--wv-ink);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single:not(:where([class*="skssl"] *, .form-data-section *, #about-section *)) .chosen-single {
    height: var(--wv-form-tinggi);
    padding: 0 0 0 12px !important;
    line-height: 41px;
    color: var(--wv-ink) !important;
    background: var(--wv-surface);
    border: 1px solid var(--wv-form-garis);
    border-radius: var(--wv-radius-sm);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-single span {
    margin-right: 36px;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-single-with-deselect span {
    margin-right: 54px;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-default,
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-default span {
    color: var(--wv-muted) !important;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-single div {
    width: 36px;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-single div b {
    background: var(--wv-form-panah) no-repeat center center / 12px 12px !important;
    transition: transform .15s ease;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-active.chosen-with-drop .chosen-single div b {
    transform: rotate(180deg);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-single abbr {
    top: 15px;
    right: 36px;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-single:hover,
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-multi .chosen-choices:hover {
    border-color: var(--wv-brand);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-active .chosen-single,
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-active.chosen-with-drop .chosen-single,
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-active .chosen-choices {
    background: var(--wv-surface);
    border: 1px solid var(--wv-brand);
    border-radius: var(--wv-radius-sm);
    box-shadow: var(--wv-focus);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-active.chosen-with-drop .chosen-single div {
    background: transparent;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-disabled {
    opacity: 1 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-disabled :is(.chosen-single, .chosen-choices) {
    color: var(--wv-muted) !important;
    background: var(--wv-sunken);
    border-color: var(--wv-border);
    cursor: not-allowed;
}

/* Panel pilihan. */
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-drop {
    margin-top: 4px;
    padding: 4px;
    background: var(--wv-surface);
    border: 1px solid var(--wv-border);
    border-radius: var(--wv-radius-sm);
    box-shadow: var(--wv-shadow-raised);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-search {
    padding: 0 0 4px;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-search input[type="text"] {
    margin: 0;
    height: 38px;
    padding: 7px 30px 7px 10px;
    font-family: inherit;
    font-size: 14px;
    color: var(--wv-ink);
    border: 1px solid var(--wv-form-garis);
    border-radius: 6px;
    background-position: right -20px !important;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-search input[type="text"]:focus {
    border-color: var(--wv-brand);
    box-shadow: var(--wv-focus) !important;
    outline: 0 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results {
    margin: 0;
    padding: 0;
    color: var(--wv-ink);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results li {
    padding: 8px 10px;
    line-height: 20px;
    border-radius: 6px;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results li.highlighted {
    color: var(--wv-heading);
    background: var(--wv-brand-soft);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-single .chosen-results li.result-selected {
    font-weight: 600;
    color: var(--wv-brand);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results li.disabled-result {
    color: var(--wv-muted) !important;
    opacity: .7;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results li.no-results {
    color: var(--wv-muted);
    background: var(--wv-sunken);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results li.group-result {
    padding-top: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--wv-muted);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-results li em {
    font-style: normal;
    font-weight: 600;
    text-decoration: none;
    background: transparent;
}

/* Chosen multi (style.css menumpuk pilihan sebagai blok). */
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-multi .chosen-choices {
    min-height: var(--wv-form-tinggi);
    padding: 3px 8px 6px;
    line-height: 30px;
    background: var(--wv-surface);
    border: 1px solid var(--wv-form-garis);
    border-radius: var(--wv-radius-sm);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    height: 30px;
    font-family: inherit;
    font-size: 15px;
    color: var(--wv-muted);
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-multi .chosen-choices li.search-choice {
    padding: 5px 26px 5px 10px;
    line-height: 18px;
    color: var(--wv-heading);
    background: var(--wv-brand-soft);
    border: 1px solid var(--wv-brand-lembut);
    border-radius: 6px;
    box-shadow: none;
}
body.wv2.not-home :is(#page-outer, .modal) .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: 8px;
    right: 7px;
}

/* Chosen di dalam input-group: sambung sudut dengan addon/tombol. */
body.wv2.not-home :is(#page-outer, .modal) .input-group > .chosen-container:not(:last-child) :is(.chosen-single, .chosen-choices) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > :is(.input-group-addon, .input-group-btn) ~ .chosen-container :is(.chosen-single, .chosen-choices) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > .chosen-container.chosen-container-active {
    position: relative;
    z-index: 3;
}
body.wv2.not-home :is(#page-outer, .modal) .input-group > .chosen-container.chosen-with-drop {
    z-index: 1010;
}

/* ------------------------------------------------------------------ */
/* 7. Flatpickr (flatpickr.min.css v4.6.13; kalender ditempel di body) */
/* ------------------------------------------------------------------ */
body.wv2.not-home .flatpickr-calendar {
    font-family: inherit;
    color: var(--wv-ink);
    background: var(--wv-surface);
    border: 1px solid var(--wv-border);
    border-radius: var(--wv-radius-md);
    box-shadow: var(--wv-shadow-raised);
}
body.wv2.not-home .flatpickr-calendar.open {
    margin-top: 4px;
}
body.wv2.not-home .flatpickr-calendar.open.arrowBottom {
    margin-top: -4px;
}
body.wv2.not-home .flatpickr-calendar.arrowTop::before {
    border-bottom-color: var(--wv-border);
}
body.wv2.not-home .flatpickr-calendar.arrowBottom::before {
    border-top-color: var(--wv-border);
}
body.wv2.not-home .flatpickr-months .flatpickr-month {
    color: var(--wv-heading);
    fill: var(--wv-heading);
}
body.wv2.not-home .flatpickr-current-month {
    font-size: 15px;
    font-weight: 600;
}
body.wv2.not-home .flatpickr-current-month :is(.flatpickr-monthDropdown-months, input.cur-year) {
    font-family: inherit;
    font-weight: 600;
    color: var(--wv-heading);
}
body.wv2.not-home .flatpickr-current-month .flatpickr-monthDropdown-months {
    border-radius: 6px;
}
body.wv2.not-home .flatpickr-current-month :is(.flatpickr-monthDropdown-months, .numInputWrapper):hover {
    background: var(--wv-brand-soft);
}
body.wv2.not-home .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month) {
    color: var(--wv-muted);
    fill: var(--wv-muted);
}
body.wv2.not-home .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):hover svg {
    fill: var(--wv-brand);
}
body.wv2.not-home span.flatpickr-weekday {
    font-size: 12px;
    font-weight: 600;
    color: var(--wv-muted);
}
/* flatpickr.min.css bagian akhir menggambar kisi bergaris; v2 memakai sel lepas bersudut. */
body.wv2.not-home .flatpickr-calendar .dayContainer {
    border: 0;
}
body.wv2.not-home span.flatpickr-day,
body.wv2.not-home span.flatpickr-day.prevMonthDay,
body.wv2.not-home span.flatpickr-day.nextMonthDay {
    color: var(--wv-ink);
    border: 1px solid transparent;
    border-radius: var(--wv-radius-sm) !important;
}
body.wv2.not-home .flatpickr-day:is(:hover, :focus),
body.wv2.not-home .flatpickr-day:is(.prevMonthDay, .nextMonthDay):is(:hover, :focus) {
    background: var(--wv-brand-soft);
    border-color: transparent;
}
body.wv2.not-home .flatpickr-day:focus-visible {
    outline: 2px solid var(--wv-brand);
    outline-offset: -2px;
}
body.wv2.not-home .flatpickr-day.today {
    border-color: var(--wv-brand);
}
body.wv2.not-home .flatpickr-day.today:is(:hover, :focus) {
    color: var(--wv-brand-gelap);
    background: var(--wv-brand-soft);
    border-color: var(--wv-brand);
}
body.wv2.not-home .flatpickr-day.inRange,
body.wv2.not-home .flatpickr-day:is(.prevMonthDay, .nextMonthDay, .today).inRange {
    background: var(--wv-brand-soft);
    border-color: transparent;
    box-shadow: -5px 0 0 var(--wv-brand-soft), 5px 0 0 var(--wv-brand-soft);
}
body.wv2.not-home .flatpickr-day:is(.selected, .startRange, .endRange),
body.wv2.not-home .flatpickr-day:is(.selected, .startRange, .endRange):is(.inRange, :focus, :hover, .prevMonthDay, .nextMonthDay) {
    font-weight: 600;
    color: #fff;
    background: var(--wv-brand);
    border-color: var(--wv-brand);
}
body.wv2.not-home .flatpickr-day:is(.selected, .startRange, .endRange).startRange + .endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 0 var(--wv-brand);
}
body.wv2.not-home .flatpickr-day:is(.prevMonthDay, .nextMonthDay) {
    color: var(--wv-muted);
    opacity: .6;
}
body.wv2.not-home .flatpickr-day:is(.flatpickr-disabled, .notAllowed),
body.wv2.not-home .flatpickr-day.flatpickr-disabled:hover {
    color: var(--wv-border-strong);
    background: transparent;
}
body.wv2.not-home .flatpickr-calendar.hasTime .flatpickr-time {
    border-top-color: var(--wv-border);
}
body.wv2.not-home .flatpickr-time :is(input, .flatpickr-am-pm, .flatpickr-time-separator) {
    font-family: inherit;
    color: var(--wv-ink);
}
body.wv2.not-home .flatpickr-time :is(input, .flatpickr-am-pm):is(:hover, :focus) {
    background: var(--wv-brand-soft);
    box-shadow: none !important;
}

/* ------------------------------------------------------------------ */
/* 8. Kotak cari sidebar blog & filter daftar paket (isian saja)       */
/* ------------------------------------------------------------------ */
body.wv2.not-home #page-outer .form-pencarian-paket .chosen-container {
    width: 100% !important;
}
body.wv2.not-home #page-outer .form-pencarian-paket .control-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* ------------------------------------------------------------------ */
/* 9. Ponsel: teks isian 16px agar iOS tidak memperbesar saat fokus.   */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
    body.wv2.not-home :is(#page-outer, .modal) .form-control:not(:where([class*="skssl"] *, .form-data-section *, #about-section *, .form-pencarian *, .dataTables_length *, .dataTables_filter *)),
    body.wv2.not-home :is(#page-outer, .modal) .chosen-container .chosen-search input[type="text"],
    body.wv2.not-home :is(#page-outer, .modal) .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
        font-size: 16px;
    }
    body.wv2.not-home :is(#page-outer, .modal) .input-group > .input-group-addon.captcha-image {
        flex-basis: 112px;
        width: 112px;
    }
}
}
