/* ============================================================
   TRANSISI ANTAR MENU MY ACCOUNT — 16 September 2026
   ============================================================
   Diminta admin: "bisakah kamu buat perpindahan dari menu ke menu lebih smooth".

   Cara kerjanya: browser memotret halaman lama, memuat halaman baru, lalu
   memudarkan yang lama ke yang baru. Tidak ada tampilan, data, atau tata letak
   yang berubah — hanya cara pergantiannya.

   🟢 CAKUPANNYA SENGAJA SEMPIT. Aturan ini hanya ada di berkas CSS halaman
   My Account, dan transisi lintas-halaman hanya aktif kalau halaman ASAL dan
   TUJUAN sama-sama memuatnya. Jadi ia berlaku antar menu My Account saja —
   bukan seluruh situs.

   🟢 AMAN DI BROWSER LAMA: yang belum mendukung mengabaikan seluruh blok ini,
   dan perpindahan kembali seperti biasa. Tidak ada jalur yang bisa rusak.

   ⚠️ INI MEMBUAT TERASA LEBIH HALUS, BUKAN LEBIH CEPAT. Waktu tunggu server
   tidak berubah sama sekali (LocalWP ±800 ms, live ±380 ms).

   🔴 SEBELUM NAIK KE LIVE: wajib dicoba di iPhone asli. Dukungan Safari untuk
   transisi lintas-halaman masih simpang siur — itu sudah tercatat sebagai
   §5 no.1 di antrean, dan alasannya sama. Kalau Safari tidak mendukung,
   akibatnya cuma "tidak ada transisi", bukan rusak.

   🔴 CARA MENCABUTNYA kalau admin tidak suka: hapus blok ini saja (sampai
   penanda AKHIR TRANSISI di bawah). Tidak ada bagian lain yang bergantung padanya.
   ============================================================ */
/* 16 September 2026 — DIHIDUPKAN LAGI setelah diuji.
   Transisi TIDAK terbukti jadi penyebab kedipan: kedipan berasal dari ikon
   akun header yang terlambat 49-75 ms DI LocalWP. Di live selisihnya 0-1 ms. */
@view-transition { navigation: auto; }

::view-transition-old(root) {
    animation: rune-akun-keluar .18s ease both;
}
::view-transition-new(root) {
    animation: rune-akun-masuk .22s ease both;
}
@keyframes rune-akun-keluar { to { opacity: 0; } }
@keyframes rune-akun-masuk  { from { opacity: 0; } }

/* Hormati pembeli yang mematikan animasi di setelan perangkatnya. */
@media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root),
    ::view-transition-new(root) { animation: none !important; }
}
/* ==================== AKHIR TRANSISI ==================== */

/* ============================================================
   🔴 16 September 2026 — TATA LETAK PINDAH DARI JAVASCRIPT KE SERVER
   ============================================================
   DULU: seluruh aturan di bawah digantungkan pada `.rune-account-grid`,
   sebuah pembungkus yang DIBUAT JAVASCRIPT saat halaman dirakit.
   Terukur 16 Sep: 62 dari 100 elemen berubah tampilannya begitu kelas itu
   muncul — sidebar dari transparan tanpa garis menjadi kartu #111 bergaris,
   lebar 261px menjadi 220px, dan seterusnya.
   Karena itu halaman WAJIB ditahan sampai JS selesai; kalau tidak, pembeli
   melihat versi bawaan WooCommerce dulu. Penahan itulah yang dirasakan admin
   sebagai "kosong dulu, lalu muncul sekaligus".

   SEKARANG: aturan menempel pada `.entry-content > .woocommerce` — elemen yang
   DIKIRIM SERVER sejak byte pertama, dan yang MEMANG sudah menjadi induk
   langsung dari nav + konten (diverifikasi di 5 halaman My Account: anaknya
   persis dua, tidak ada elemen lain yang bisa terselip ke dalam grid).

   Pembungkus buatan JS sudah dimatikan di rune-account.php.

   🔴 JANGAN kembalikan ke `.rune-account-grid`.
   🔴 Elemen yang MASIH dibuat JS dan belum dipindah: .rune-account-user
      (avatar), .rune-account-page-label, .rune-address-card, tombol aksi order.
      Itu sebabnya penahan anti-kedip BELUM dicabut.
   ============================================================ */

/* ============================================================
   RUNE — CSS HALAMAN MY ACCOUNT
   Dipindah dari rune-account.php (blok <style> baris 104-1121)
   pada 16 September 2026. ISINYA TIDAK DIUBAH SATU HURUF PUN —
   dipotong apa adanya supaya tidak ada risiko salah ketik ulang.

   Dimuat dari rune-account.php lewat <link> DI POSISI YANG SAMA
   (wp_head priority 99), supaya urutan cascade tidak bergeser.
   Angka ?ver= diambil dari filemtime — cache pecah sendiri tiap
   berkas ini berubah, jadi tidak ada versi yang perlu dinaikkan
   manual.
   ============================================================ */
    /* @import Lato/Roboto DIHAPUS 27 Agustus 2026 — font sekarang dimuat
       terpusat untuk seluruh website di rune-performance.php. Versi lama di
       sini hanya memuat Lato 700;900 (tanpa 400), yang bikin menu navigasi
       atas di halaman ini terlihat tebal sendiri dibanding halaman lain. */
    /* Latar halaman DICABUT 29 Agustus 2026. Dulu halaman ini dipaksa #111 dan
       kartunya #111111 — kebalikan standar §1. Sekarang latar halaman dipegang
       satu aturan global di rune-performance.php bagian 3k (#111111), dan kartu
       di file ini turun ke #111, kolom isian ke #0d0d0d. JANGAN pasang lagi. */
    body.woocommerce-account .entry-title,
    body.woocommerce-account .ast-archive-description { display: none !important; }
    body.woocommerce-account .woocommerce {
        max-width: 920px;
        margin: 0 auto;
        padding: 32px 24px;
        display: block !important;
        float: none !important;
    }
        .rune-account-page-label {
        font-family: 'Lato', sans-serif;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 3px;
        color:#F69B07;
        margin-bottom: 24px;
        text-transform: uppercase;
    }
    /* ============================================
       LOGIN / REGISTER — redesign selaras Register & Checkout
       ============================================ */
    body.woocommerce-account .u-columns.col2-set {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 24px !important;
        margin: 0 !important;
    }
    body.woocommerce-account form.woocommerce-form-login {
        max-width: 420px !important;   /* §13 tangga lebar: form tunggal 420px (dulu 460) */
        margin: 0 auto !important;
    }
    /* KARTU LOGIN (27 Agustus 2026) — saat registrasi DIMATIKAN, WooCommerce
       tidak membungkus form dengan kolom .u-column1, jadi form login sendirilah
       yang jadi kartunya. Tanpa aturan ini form memakai gaya bawaan WooCommerce
       (garis #333, sudut 5px, latar transparan) yang menyimpang dari kartu Rune.
       Selector pakai ">" (anak langsung .woocommerce) supaya TIDAK ikut berlaku
       kalau suatu saat registrasi diaktifkan lagi — di kondisi itu form berada
       di dalam .u-column1 yang sudah punya kartunya sendiri (hindari kartu dobel). */
    body.woocommerce-account .woocommerce > form.woocommerce-form-login {
        background: #111111 !important;
        border: 0.5px solid #2a2a2a !important;
        border-radius: 16px !important;
        padding: 32px !important;
    }
    /* Checkbox bawaan (mis. "Remember me").
       27 Agustus 2026: accent-color DIHAPUS dari sini. accent-color hanya
       mewarnai keadaan tercentang — saat belum dicentang browser tetap
       menggambar kotak PUTIH. Tampilan gelapnya sekarang diatur terpusat di
       rune-performance.php bagian 3f (appearance:none + kotak digambar
       sendiri), berlaku untuk seluruh website sekaligus. */
    body.woocommerce-account input[type="checkbox"] {
        width: 16px;
        height: 16px;
    }
    body.woocommerce-account .woocommerce > h2 {
        display: none !important;
    }
    /* .rune-form-heading dihapus 27 Agustus 2026 — digantikan .rune-card-title
       (rune-performance.php 3i) yang dipakai seragam di semua halaman form. */
    
    body.woocommerce-account .u-columns.col2-set::before,
    body.woocommerce-account .u-columns.col2-set::after {
        content: none !important;
        display: none !important;
    }
    
    body.woocommerce-account .u-column1.col-1,
    body.woocommerce-account .u-column2.col-2 {
        background:#111111 !important;
        border-radius:16px !important;
        border:0.5px solid #2a2a2a !important;
        padding: 32px !important;
        width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-account .u-column1 h2,
    body.woocommerce-account .u-column2 h2 {
        font-family: 'Lato', sans-serif !important;
        font-size: 18px !important;
        font-weight: 900 !important;
        color:#fff !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        margin: 0 0 24px !important;
    }
    body.woocommerce-account form.woocommerce-form-login .form-row,
    body.woocommerce-account form.woocommerce-form-register .form-row {
        margin: 0 0 18px !important;
        padding: 0 !important;
        float: none !important;
        width: 100% !important;
    }
    body.woocommerce-account form.woocommerce-form-login .form-row label,
    body.woocommerce-account form.woocommerce-form-register .form-row label {
        display: block !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        color:#8A8A8A !important;
        margin-bottom: 8px !important;
    }
    body.woocommerce-account form.woocommerce-form-login .form-row label .required,
    body.woocommerce-account form.woocommerce-form-register .form-row label .required {
        color:#F69B07 !important;
    }
    /* 27 Agustus 2026 — TAMPILAN KOLOM Login / Register / Lost Password.
       Aturan ini dulu hanya menyebut form Login & Register, sehingga kolom di
       /my-account/lost-password/ memakai gaya bawaan WooCommerce. Form reset
       password ditambahkan ke daftar selector di bawah. */
    body.woocommerce-account form.woocommerce-form-login input[type="text"],
    body.woocommerce-account form.woocommerce-form-login input[type="password"],
    body.woocommerce-account form.woocommerce-form-register input[type="text"],
    body.woocommerce-account form.woocommerce-form-register input[type="email"],
    body.woocommerce-account form.woocommerce-form-register input[type="password"],
    body.woocommerce-account form.woocommerce-ResetPassword input[type="text"],
    body.woocommerce-account form.woocommerce-ResetPassword input[type="email"],
    body.woocommerce-account form.lost_reset_password input[type="text"],
    body.woocommerce-account form.lost_reset_password input[type="email"] {
        width: 100% !important;
        background:#0d0d0d !important;
        border:1px solid #2a2a2a !important;
        border-radius:8px !important;
        color:#fff !important;
        /* ukuran huruf DICABUT 29 Agustus 2026 — satu pemilik: rune-performance.php 3h (16px). */
        font-family: 'Roboto', sans-serif !important;
        padding: 13px 14px !important;
        box-sizing: border-box !important;
        outline: none !important;
        transition: border-color 0.2s !important;
    }
    /* Penyebab kolom Lost Password sempit BUKAN input-nya (itu sudah 100%),
       tapi BARIS pembungkusnya: WooCommerce memberi kelas .form-row-first
       yang lebarnya cuma 47% (sistem 2 kolom). Form ini cuma punya satu
       kolom, jadi barisnya dibuat penuh.
       ATURAN INI TERPISAH dari aturan kolom di atas — jangan digabung, karena
       yang diatur adalah BARIS, bukan kolomnya. */
    body.woocommerce-account form.woocommerce-ResetPassword .form-row,
    body.woocommerce-account form.woocommerce-ResetPassword .form-row-first,
    body.woocommerce-account form.lost_reset_password .form-row,
    body.woocommerce-account form.lost_reset_password .form-row-first {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 0 18px !important;
    }
    body.woocommerce-account form.woocommerce-form-login input:focus,
    body.woocommerce-account form.woocommerce-form-register input:focus {
        border-color:#F69B07 !important;
    }
    body.woocommerce-account form.woocommerce-form-login input::placeholder,
    body.woocommerce-account form.woocommerce-form-register input::placeholder {
        color:#8A8A8A !important;
    }
    /* KOLOM SANDI — SELURUH ATURANNYA PINDAH KE LAPISAN GLOBAL 29 Agustus 2026.
       Ada di rune-performance.php bagian 3j. Dulu aturan ini cuma berlaku di
       halaman akun, sementara tombol mata bawaan WooCommerce dimatikan untuk
       SELURUH halaman akun — akibatnya Reset Password dan Account Details tidak
       punya ikon mata sama sekali. JANGAN tulis ulang aturan kolom sandi di sini. */
    body.woocommerce-account .rune-login-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin: 0 0 18px !important;
    }
    body.woocommerce-account .woocommerce-form-login__rememberme {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        color:#888 !important;
        font-size: 13px !important;
        font-family: 'Roboto', sans-serif !important;
        margin: 0 !important;
    }
    /* Kotak "Remember me". Warna & bentuknya diatur terpusat di
       rune-performance.php bagian 3f — di sini cukup ukuran & jarak.
       accent-color sengaja TIDAK dipakai lagi (lihat penjelasan di atas). */
    body.woocommerce-account .woocommerce-form-login__rememberme input {
        width: 16px !important;
        height: 16px !important;
        margin: 0 !important;
    }
    body.woocommerce-account .woocommerce-LostPassword {
        margin: 0 !important;
        /* Garis bawah harus dimatikan DI SINI (elemen induk). Kalau induk punya
           text-decoration, garisnya tergambar menembus teks anak dan TIDAK bisa
           dibatalkan dari elemen <a> di dalamnya, walau pakai !important. */
        text-decoration: none !important;
    }
    body.woocommerce-account .rune-login-row {
        text-decoration: none !important;
    }
    body.woocommerce-account .woocommerce-LostPassword a {
        font-size: 13px !important;
        color:#F69B07 !important;
        text-decoration: none !important;
        font-family: 'Roboto', sans-serif !important;
        transition: color .2s ease !important;
    }
    body.woocommerce-account .woocommerce-LostPassword a:hover {
        color:#ffffff !important;
        text-decoration: none !important;
    }
    /* Link "Register" di bawah form Login (dicetak oleh rune-register.php).
       Gaya dasarnya ditulis menempel di HTML sehingga butuh !important di sini. */
    body.woocommerce-account .rune-register-link {
        text-decoration: none !important;
        transition: color .2s ease !important;
    }
    body.woocommerce-account .rune-register-link:hover {
        color:#ffffff !important;
        text-decoration: none !important;
    }
    /* 27 Agustus 2026 — TOMBOL HALAMAN LOST PASSWORD BEDA SENDIRI.
       Aturan ini dulu hanya menyebut form Login & Register, sehingga tombol
       "Reset password" di /my-account/lost-password/ tidak pernah tersentuh
       dan memakai gaya bawaan Astra: teks putih, huruf kecil, tebal 500,
       ukuran 16px. Semua tombol utama Rune seharusnya oranye solid, teks
       #111, HURUF BESAR, tebal 900, 13px.
       Form reset password ikut ditambahkan ke daftar selector di bawah.
       Sudah disisir: halaman Account Details, Addresses, dan Orders tombolnya
       sudah benar (diatur lewat body.woocommerce-account .entry-content > .woocommerce), jadi tidak perlu diubah. */
    body.woocommerce-account form.woocommerce-form-login button[type="submit"],
    body.woocommerce-account form.woocommerce-form-register button[type="submit"],
    body.woocommerce-account form.woocommerce-ResetPassword button[type="submit"],
    body.woocommerce-account form.lost_reset_password button[type="submit"] {
        width: 100% !important;
        background:#F69B07 !important;
        color:#111 !important;
        border:none !important;
        border-radius:30px !important;
        padding: 14px !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        margin-top: 4px !important;
        transition: background .2s ease !important;
        /* 17 September 2026 — AREA SENTUH. Terukur 39px, di bawah anjuran 44px
           untuk sesuatu yang ditekan jari. Padding tidak dinaikkan supaya
           proporsi tulisan tidak berubah; tingginya yang dijamin. */
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body.woocommerce-account form.woocommerce-form-login button[type="submit"]:hover,
    body.woocommerce-account form.woocommerce-form-register button[type="submit"]:hover,
    body.woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:hover,
    body.woocommerce-account form.lost_reset_password button[type="submit"]:hover {
        background:#e08c06 !important;
    }
    body.woocommerce-account form.woocommerce-form-register p {
        font-size: 13px !important;
        color:#9A9A9A !important;
        line-height: 1.6 !important;
        font-family: 'Roboto', sans-serif !important;
    }
    body.woocommerce-account form.woocommerce-form-register p a {
        color:#F69B07 !important;
        text-decoration: none !important;
        transition: color .2s ease !important;
    }
    body.woocommerce-account form.woocommerce-form-register p a:hover {
        color:#ffffff !important;
        text-decoration: none !important;
    }
    @media (max-width: 921px) {
        body.woocommerce-account .u-columns.col2-set {
            grid-template-columns: 1fr !important;
        }
    }
    /* 🔴 PENJAGA `.logged-in` WAJIB — 20 September 2026. JANGAN DICABUT.
       Kelas `woocommerce-account` dipasang JUGA di halaman LOG IN dan RESET
       PASSWORD, yaitu saat pembeli BELUM login. Di keadaan itu menu samping
       tidak dicetak sama sekali, jadi kolom 220 px di bawah ini tidak ada
       isinya — dan formulirnyalah yang jatuh ke situ. Terukur di live 20 Sep
       sebelum diperbaiki: kartu Log In 220 px, 956 px di sebelahnya kosong,
       padahal formulir itu sudah punya `max-width:420px; margin:0 auto`
       (§13 tangga lebar) yang tidak pernah kebagian ruang.
       Dengan penjaga ini, grid hanya menyala kalau menu sampingnya memang ada.
       `logged-in` dicetak WordPress core sendiri (wp-includes/post-template.php
       baris 795); tidak ada filter body_class Rune yang mencabutnya.
       🔴 PASANGANNYA ADA DI MEDIA QUERY ~921 px DI BAWAH — kalau penjaga hanya
       dipasang di sini, bobot selektor naik jadi (0,4,1) sementara media query
       tetap (0,3,1). MEDIA QUERY TIDAK MENAMBAH BOBOT, jadi aturan desktop ini
       akan menang di SEMUA lebar dan bug 18 September kembali (menu samping
       tetap 220 px di HP). Dua-duanya berubah, atau tidak sama sekali. */
    body.logged-in.woocommerce-account .entry-content > .woocommerce {
        /* 🔴 !important WAJIB di sini — 16 September 2026.
           Baris ~48 di berkas ini memasang `display: block !important` pada
           `body.woocommerce-account .woocommerce` (dipasang dulu untuk
           menetralkan float WooCommerce, dan ia juga mengenai widget mini-cart
           sehingga TIDAK boleh diubah begitu saja).
           Selama tata letak masih di `.rune-account-grid` buatan JS, keduanya
           tidak pernah bertemu. Sekarang keduanya elemen yang SAMA.
           Tanpa !important, `block` menang dan sidebar melebar penuh (terukur:
           nav 872px, seharusnya 220px) — bahkan inline style pun kalah.
           Bobot selektor di sini (0,3,1) mengalahkan yang di baris 48 (0,2,0),
           jadi dengan !important di kedua sisi, yang ini yang berlaku. */
        display: grid !important;
        grid-template-columns: 220px 1fr !important;
        gap: 24px !important;
        align-items: start !important;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation {
        background:#111111;
        border-radius:12px;
        border:0.5px solid #2a2a2a;
        float: none !important;
        width: 100% !important;
        overflow: hidden;
    }
    .rune-account-user {
        padding: 20px 20px 16px;
        border-bottom:0.5px solid #2a2a2a;
    }
    .rune-account-avatar {
        width: 48px;
        height: 48px;
        border-radius:50%;
        background:#F69B07;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Lato', sans-serif;
        font-weight: 900;
        font-size: 18px;
        color:#111;
        margin-bottom: 10px;
        overflow: hidden; /* #13: foto bulat */
    }
    .rune-account-avatar img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
        display: block;
    }
    .rune-account-name {
        font-family: 'Lato', sans-serif;
        font-weight: 700;
        font-size: 15px;   /* 14px tidak ada di tangga §2 */
        color:#fff;
    }
    .rune-account-label {
        font-size: 12px;   /* batas bawah tangga §2, dulu 11px */
        color:#8A8A8A;
        margin-top: 2px;
        letter-spacing: 1px;
        text-transform: uppercase;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul {
        list-style: none;
        margin: 0;
        padding: 8px 0;
    }
    /* Netralkan garis kotak bawaan tema (Astra) di tiap item menu.
       Desain Rune: garis tepi HANYA di kotak besar pembungkus + garis oranye
       kiri untuk item aktif + 1 pemisah di atas Log out. Tanpa reset ini,
       gaya bawaan tema bikin tiap item menu kelihatan berkotak sendiri. */
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li {
        border:0;
        margin: 0;
        list-style: none;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li a {
        display: flex;
        align-items: center;
        padding: 11px 20px;
        font-size: 13px;
        color:#888;
        text-decoration: none;
        border:0;
        border-left:3px solid transparent;
        transition: all 0.2s;
        font-family: 'Roboto', sans-serif;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li a:hover {
        color:#fff;
        background:rgba(255,255,255,0.04);
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a {
        color:#F69B07;
        border-left:3px solid #F69B07;
        background:rgba(246,155,7,0.07);
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
        border-top:0.5px solid #2a2a2a;
        margin-top: 4px;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
        color:#cc1e1e;
        padding-top: 14px;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
        background:rgba(204,30,30,0.07);
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        min-width: 0;
    }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-content > p { display: none !important; }
    /* ============================================================
       KARTU SAMBUTAN DASHBOARD — DUA SISI (18 September 2026)
       Kiri sapaan, kanan pesanan terakhir (360 px).
       Di HP sapaan TIDAK ditampilkan: nama sudah tertulis di kartu
       profil tepat di bawahnya, dan mengulangnya membuat layar kecil
       sesak (tinggi sebelum menu turun dari ±470 px ke ±150 px).
       ============================================================ */
    .rune-welcome-card {
        background:#111111;
        border-radius:12px;
        border:0.5px solid #2a2a2a;
        margin-bottom: 20px;
        overflow: hidden;
        display: grid;
        grid-template-columns: 1fr 360px;
    }
    .rune-welcome-main { padding: 26px 28px; }
    .rune-welcome-title {
        font-family: 'Lato', sans-serif;
        font-size: 18px;
        font-weight: 900;
        color:#fff;
        margin-bottom: 6px;
    }
    .rune-welcome-sub {
        font-family: 'Roboto', sans-serif;
        font-size: 15px;      /* 14px tidak ada di tangga §2 */
        color:#9A9A9A;        /* tiga tingkat abu §1, dulu #666 */
        line-height: 1.618;   /* tangga phi 3t */
        margin: 0;
        max-width: 520px;
    }
    .rune-welcome-side {
        padding: 22px 26px;
        background:#0d0d0d;
        border-left:0.5px solid #2a2a2a;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .rune-welcome-side-label {
        font-family: 'Lato', sans-serif;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color:#888888;
        margin-bottom: 10px;
    }
    .rune-welcome-order {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 4px;
    }
    .rune-welcome-no {
        font-family: 'Lato', sans-serif;
        font-size: 17px;
        font-weight: 700;
        color:#ffffff;
    }
    .rune-welcome-pil {
        font-family: 'Lato', sans-serif;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 3px 10px;
        border-radius: 20px;
        border:1px solid #F69B07;
        color:#F69B07;
        white-space: nowrap;
    }
    .rune-welcome-tgl {
        font-family: 'Roboto', sans-serif;
        font-size: 12px;
        color:#8A8A8A;
        margin-bottom: 14px;
    }
    .rune-welcome-kosong {
        font-family: 'Roboto', sans-serif;
        font-size: 13px;
        color:#888888;
        line-height: 1.618;
        margin: 0 0 14px;
    }
    /* 🔴 border-radius DAN :hover dikunci sendiri — tombol baru di halaman
       Rune mewarisi radius 30 px + isian oranye saat hover (pelajaran 18 Sep).
       Di sini radius 30 px memang yang diinginkan, tapi ditulis eksplisit
       supaya tidak berubah kalau warisannya suatu saat dicabut. */
    .rune-welcome-card a.rune-welcome-cta {
        align-self: flex-start;
        display: inline-block;
        background: transparent;
        border:1px solid #F69B07;
        border-radius: 30px;
        color:#F69B07;
        font-family: 'Lato', sans-serif;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
        text-decoration: none !important;
        padding: 10px 22px;
        line-height: 1.272;
        transition: background .2s ease, color .2s ease;
    }
    .rune-welcome-card a.rune-welcome-cta:hover {
        background:#F69B07;
        color:#111111;
        text-decoration: none !important;
    }
    @media (max-width: 921px) {
        .rune-welcome-card { grid-template-columns: 1fr; }
        .rune-welcome-main { display: none; }
        .rune-welcome-side {
            border-left: 0;
            padding: 16px 18px;
        }
    }
    body.woocommerce-account .entry-content > .woocommerce table {
        width: 100%;
        border-collapse:collapse;
        background:#111111;
        border-radius:12px;
        border:0.5px solid #2a2a2a;
        overflow: hidden;
        font-family: 'Roboto', sans-serif;
        font-size: 13px;
    }
    /* Warna kepala tabel PINDAH ke rune-performance.php bagian 3m (29 Agustus
       2026). Aturan di sini ditulis tanpa !important sehingga kalah dari bawaan
       WooCommerce — <thead> tetap terukur rgb(251,251,251), hampir putih.
       Menata <th> saja tidak cukup: yang dicat WooCommerce adalah <thead>. */
    body.woocommerce-account .entry-content > .woocommerce table thead th {
        padding: 14px 16px;
        text-align: left;
        font-family: 'Lato', sans-serif;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color:#8A8A8A;
        border-bottom:0.5px solid #2a2a2a;
    }
    body.woocommerce-account .entry-content > .woocommerce table tbody td {
        padding: 14px 16px;
        color:#888;
        border-bottom:0.5px solid #232323;
        vertical-align: middle;
    }
    body.woocommerce-account .entry-content > .woocommerce table tbody tr:last-child td { border-bottom:none; }
    body.woocommerce-account .entry-content > .woocommerce table tbody tr:hover td { background:rgba(255,255,255,0.02); }
    /* FIX: view-order table override Astra white background */
    body.woocommerce-account .woocommerce-table--order-details,
    body.woocommerce-account .woocommerce-table--order-details tr,
    body.woocommerce-account .woocommerce-table--order-details td,
    body.woocommerce-account .woocommerce-table--order-details th {
        background:#111111 !important;
        color:#888 !important;
        border-color:#2a2a2a !important;
    }
    body.woocommerce-account .woocommerce-table--order-details thead,
    body.woocommerce-account .woocommerce-table--order-details thead tr,
    body.woocommerce-account .woocommerce-table--order-details thead th {
        background:#0d0d0d !important;
        color:#8A8A8A !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        border-bottom:0.5px solid #2a2a2a !important;
    }
    body.woocommerce-account .woocommerce-table--order-details tbody td {
        color:#888 !important;
        border-bottom:0.5px solid #232323 !important;
        font-family: 'Roboto', sans-serif !important;
        font-size: 13px !important;
    }
    body.woocommerce-account .woocommerce-table--order-details tfoot td,
    body.woocommerce-account .woocommerce-table--order-details tfoot th {
        color:#888 !important;
        background:#111111 !important;
        border-top:0.5px solid #2a2a2a !important;
        font-family: 'Roboto', sans-serif !important;
        font-size: 13px !important;
    }
    body.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td,
    body.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th {
        color:#fff !important;
        font-weight: 700 !important;
    }
    body.woocommerce-account .woocommerce-table--order-details .product-name a {
        color:#F69B07 !important;
        text-decoration: none !important;
        transition: color .2s ease !important;
    }
    body.woocommerce-account .woocommerce-table--order-details .product-name a:hover {
        color:#ffffff !important;
        text-decoration: none !important;
    }
    body.woocommerce-account .entry-content > .woocommerce mark.order-status { background:transparent; padding: 3px 10px; border-radius:20px; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
    body.woocommerce-account .entry-content > .woocommerce mark.order-status.status-processing { background:rgba(246,155,7,0.15) !important; color:#F69B07 !important; }
    body.woocommerce-account .entry-content > .woocommerce mark.order-status.status-completed { background:rgba(59,175,107,0.12) !important; color:#3baf6b !important; }
    body.woocommerce-account .entry-content > .woocommerce mark.order-status.status-pending,
    body.woocommerce-account .entry-content > .woocommerce mark.order-status.status-on-hold { background:rgba(204,30,30,0.12) !important; color:#cc1e1e !important; }
    body.woocommerce-account .entry-content > .woocommerce mark.order-status.status-cancelled { background:rgba(138,138,138,0.15) !important; color:#8A8A8A !important; }
    /* Tombol outline standar §6. 29 Agustus 2026 — sebelumnya tombol
       "ORDER AGAIN" memakai nilai lama dari sebelum standar dikunci:
       radius 20px (sudah dipensiunkan), padding 6px 16px, 12px/700, dan
       tinggi kotaknya cuma 26px sehingga terlihat gepeng & tidak bisa
       ditekan dengan nyaman di HP. Sekarang sama persis dengan tombol
       outline di seluruh website. */
    body.woocommerce-account .entry-content > .woocommerce .button,
    body.woocommerce-account .entry-content > .woocommerce a.button {
        display: inline-block !important;
        background:transparent !important;
        border:1px solid #F69B07 !important;
        color:#F69B07 !important;
        border-radius:30px !important;
        padding: 10px 22px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.272 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        font-family: 'Lato', sans-serif !important;
        transition: background .2s ease, color .2s ease !important;
    }
    body.woocommerce-account .entry-content > .woocommerce .button:hover,
    body.woocommerce-account .entry-content > .woocommerce a.button:hover { background:#F69B07 !important; color:#111 !important; }
    /* 🔴 TANDA TEKAN — 11 Oktober 2026. Ditulis DI SINI, bukan di blok tombol
       baris 321, karena blok itu MATI TOTAL: selektornya
       `form.woocommerce-ResetPassword button[type=submit]` kalah bobot dari
       `.entry-content > .woocommerce .button` di atas (4 kelas lawan 3), dan
       keduanya memakai !important — jadi yang di atas ini yang benar-benar
       menggambar tombol Log In, Register, Reset Password, dan Order Again.
       Menaruh :active di blok 321 akan membuatnya ikut mati, diam-diam.

       Warnanya MENGIKUTI :hover persis (isi penuh #F69B07, teks #111) —
       HOVER TAXONOMY Rune no.1: "Outline CTA: hover fill solid".

       🔴 transition:none WAJIB — aturan di atas memberi transition .2s untuk
       background DAN color; pada ketukan cepat itu terbaca sebagai kedipan.
       🔴 :active TIDAK MENYALA SENDIRI DI iOS. Penangan sentuh kosongnya
       dipasang di rune-account.php. Kalau dihapus, aturan ini mati di iPhone
       dan tetap hidup di Android. */
    body.woocommerce-account .entry-content > .woocommerce .button:active,
    body.woocommerce-account .entry-content > .woocommerce a.button:active {
        background:#F69B07 !important;
        color:#111 !important;
        transition: none !important;
    }
    /* Tombol "Order Again" berdiri sendiri di bawah kartu Order Details.
       Tanpa ini dia menempel ke tepi kartu, tidak sejajar dengan isi kartu
       yang punya ruang 20px. */
    body.woocommerce-account .entry-content > .woocommerce .order-again { padding: 4px 20px 20px !important; margin: 0 !important; }
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-EditAccountForm,
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-address-fields,
    body.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-content form {
        background:#111111;
        border-radius:12px;
        border:0.5px solid #2a2a2a;
        padding: 24px;
    }
    body.woocommerce-account .entry-content > .woocommerce input[type="text"],
    body.woocommerce-account .entry-content > .woocommerce input[type="email"],
    body.woocommerce-account .entry-content > .woocommerce input[type="password"],
    body.woocommerce-account .entry-content > .woocommerce input[type="tel"],
    body.woocommerce-account .entry-content > .woocommerce select,
    body.woocommerce-account .entry-content > .woocommerce textarea {
        background:#0d0d0d !important;
        border:1px solid #2a2a2a !important;
        color:#fff !important;
        border-radius:8px !important;
        padding: 10px 14px !important;
        font-family: 'Roboto', sans-serif !important;
        /* 27 Agustus 2026: 13px -> 14px. Seluruh form lain di website sudah
           14px (Register, Complete Profile, Set Password, Verify Email,
           Track Order); halaman My Account satu-satunya yang 13px. */
        /* ukuran huruf DICABUT 29 Agustus 2026 — satu pemilik: rune-performance.php 3h (16px). */
        width: 100%;
        box-shadow: none !important;
    }
    body.woocommerce-account .entry-content > .woocommerce input:focus,
    body.woocommerce-account .entry-content > .woocommerce select:focus,
    body.woocommerce-account .entry-content > .woocommerce textarea:focus { border-color:#F69B07 !important; outline: none !important; }
    body.woocommerce-account .entry-content > .woocommerce input::placeholder,
    body.woocommerce-account .entry-content > .woocommerce textarea::placeholder {
        color:#8A8A8A !important;
        opacity: 1 !important;
        font-family: 'Roboto', sans-serif !important;
        /* Ukuran SENGAJA tidak dikunci di sini — ikut ukuran kotaknya sendiri.
           Kalau dikunci ke angka tetap sementara kotaknya beda ukuran, huruf
           akan mengecil/membesar tepat saat pembeli mulai mengetik. */
        font-size: inherit !important;
        font-weight: 400 !important;
    }
    body.woocommerce-account .select2-container .select2-selection--single {
        background:#0d0d0d !important;
        border:1px solid #2a2a2a !important;
        border-radius:8px !important;
        height: 44px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
    }
    body.woocommerce-account .select2-container .select2-selection__rendered {
        color:#fff !important;
        line-height: normal !important;
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        padding-left: 14px !important;
        padding-right: 30px !important;
        font-family: 'Roboto', sans-serif !important;
        /* ukuran huruf DICABUT 29 Agustus 2026 — satu pemilik: rune-performance.php 3h (16px). */
        font-weight: 400 !important;
        box-sizing: border-box !important;
    }
    /* ============================================================
       AUTOFILL — aturan khusus My Account DIHAPUS 27 Agustus 2026.

       KENAPA DIHAPUS:
       Aturan lama di sini memakai cara "hilangkan garis tepi asli
       (border:0), lalu gambar ulang garisnya sebagai bayangan-dalam 1px,
       dan tambah padding 1px sebagai pengganti tebal garis".
       Cara itu benar, TAPI hanya berlaku di halaman My Account saja.

       Ketika perbaikan yang sama dinaikkan jadi aturan GLOBAL di
       rune-performance.php bagian 3d, dua aturan itu bertabrakan:
       aturan global menimpa box-shadow dengan versi SATU lapis, sehingga
       garis tepi tiruan 1px milik aturan ini ikut terhapus — kolom jadi
       kehilangan garis tepinya, dan padding 1px yang tersisa menggeser
       posisi ikon mata.

       Sekarang penanganan autofill CUKUP SATU TEMPAT: rune-performance.php
       bagian 3d. Cara barunya lebih sederhana dan tidak perlu mengutak-atik
       garis tepi maupun padding sama sekali — garis tepi asli dibiarkan utuh,
       lalu latar paksaan Chrome dihentikan di batas dalam garis tepi memakai
       background-clip:padding-box, dan area dalamnya ditutup bayangan gelap.

       JANGAN tambahkan lagi aturan autofill khusus per halaman di sini.
       Kalau ada halaman yang warnanya beda, daftarkan pengecualiannya di
       rune-performance.php bagian 3d supaya tetap satu sumber kebenaran.
       ============================================================ */
    body.woocommerce-account .select2-container .select2-selection__placeholder {
        color:#8A8A8A !important;
        /* margin-left:-14px DIHAPUS 29 Agustus 2026. Itu tambalan 26 Agustus untuk
           kotak yang waktu itu BELUM punya padding-left:14px. Paddingnya ditambahkan
           belakangan, tambalannya lupa dicabut — jadi justru dia yang bikin teks
           placeholder meleset 14px ke kiri. Terukur: 41px vs 55px. */
    }
    body.woocommerce-account .select2-container .select2-selection__arrow {
        height: 42px !important;
        right: 8px !important;
    }
    body.woocommerce-account .select2-container .select2-selection__arrow b {
        border-color:#666 transparent transparent transparent !important;
    }
    body.woocommerce-account .select2-container--open .select2-selection__arrow b {
        border-color:transparent transparent #666 transparent !important;
    }
    body.woocommerce-account .select2-container--focus .select2-selection--single,
    body.woocommerce-account .select2-container--open .select2-selection--single {
        border-color:#F69B07 !important;
    }
    body.woocommerce-account .select2-dropdown {
        background:#111111 !important;
        border:1px solid #2a2a2a !important;
        border-radius:8px !important;
        overflow: hidden !important;
    }
    body.woocommerce-account .select2-search--dropdown {
        background:#111111 !important;
        padding: 8px !important;
    }
    body.woocommerce-account .select2-search--dropdown .select2-search__field {
        background:#0d0d0d !important;
        border:1px solid #2a2a2a !important;
        border-radius:6px !important;
        color:#fff !important;
        padding: 8px 10px !important;
        font-family: 'Roboto', sans-serif !important;
        font-size: 13px !important;
        outline: none !important;
    }
    body.woocommerce-account .select2-results__options {
        background:#111111 !important;
    }
    body.woocommerce-account .select2-results__option {
        color:#888 !important;
        font-family: 'Roboto', sans-serif !important;
        font-size: 13px !important;
        padding: 8px 14px !important;
    }
    body.woocommerce-account .select2-results__option--highlighted {
        background:rgba(246,155,7,0.12) !important;
        color:#fff !important;
    }
    /* 🔴 DUA PENANDA — BARIS YANG SEDANG TERPILIH DI DAFTAR NEGARA
       Diperbaiki 18 September 2026.

       Dulu aturan ini menyasar [aria-selected="true"]. Selama daftar baru
       dibuka itu terlihat benar, tapi BEGITU MOUSE BERGERAK select2 memindahkan
       aria-selected ke baris yang disorot, dan baris terpilih tinggal punya
       data-selected="true" — penanda yang tidak disasar. Warna bawaan select2
       lalu menang. Terukur di live dengan gerakan mouse ditiru:
           Aland (terpilih)  aria false  data true   latar rgb(221,221,221)
           Algeria (disorot) aria true   data false  latar rgba(246,155,7,0.2)
       rgb(221,221,221) = #ddd, kotak putih terang di tengah daftar gelap.

       🔴 [aria-selected="true"] SENGAJA TIDAK DIPAKAI DI SINI. Diukur sesudah
       percobaan pertama: di select2 versi ini aria-selected menandai baris yang
       sedang DISOROT, bukan yang terpilih. Memasukkannya membuat baris sorot
       ikut oranye 0,2 — persis sama dengan baris terpilih, jadi pembeli tidak
       bisa membedakan mana yang ditunjuk mouse.

       🔴 Pengukuran pertama memberi hasil BENAR karena daftar dibuka tanpa
       menggerakkan mouse. Alat ukur yang tidak meniru gerakan admin, buta. */
    body.woocommerce-account .select2-results__option[data-selected="true"],
    body.woocommerce-account .select2-results__option--selected {
        background:rgba(246,155,7,0.2) !important;
        color:#F69B07 !important;
    }
    
    
    
    /* 29 Agustus 2026 — 11px -> 12px dan #666 -> #8A8A8A.
       Aturan ini memakai !important, jadi dia MENANG atas setiap aturan label
       lain di dalam kartu akun — termasuk .rune-problem-form label yang ditulis
       12px. Ketahuan waktu penggaris dijalankan di kartu komplain yang baru
       dibuat: labelnya terukur 11px padahal kodenya jelas menulis 12px.
       11px tidak ada di tangga §2 (dasarnya 12px) dan #666 bukan warna palet §1. */
    body.woocommerce-account .entry-content > .woocommerce label {
        display: block !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        color:#8A8A8A !important;
        margin-bottom: 8px !important;
    }
    body.woocommerce-account .entry-content > .woocommerce label .required,
    body.woocommerce-account .entry-content > .woocommerce label abbr {
        color:#F69B07 !important;
        text-decoration: none !important;
    }
    body.woocommerce-account .entry-content > .woocommerce legend {
        display: block !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        color:#8A8A8A !important;
        margin-bottom: 8px !important;
        padding: 0 !important;
    }
    /* LOST PASSWORD PAGE */
    body.woocommerce-account .woocommerce-ResetPassword {
        background:#111111 !important;
        border-radius:16px !important;
        border:0.5px solid #2a2a2a !important;
        padding: 32px !important;
        max-width: 420px !important;   /* §13: dulu 620px — tiga halaman bersaudara punya tiga lebar berbeda */
        margin: 24px auto 0 !important;
    }
    /* 11 Oktober 2026 — sisa <p></p> kosong sesudah teks bawaan WooCommerce
       dimatikan (filter woocommerce_lost_password_message di rune-account.php).
       Tanpa aturan ini tingginya 0 tapi margin 20px di bawah ini tetap terpakai. */
    body.woocommerce-account .woocommerce-ResetPassword p:empty { display: none !important; }
    body.woocommerce-account .woocommerce-ResetPassword p:not(.form-row) {
        color:#888 !important;
        font-size: 15px !important;   /* 6 Sep 2026: 14px tidak ada di tangga §2 (temuan penggaris) */
        font-family: 'Roboto', sans-serif !important;
        line-height: 1.6 !important;
        margin: 0 0 20px !important;
    }
    /* 6 Sep 2026 — keadaan "email reset sudah dikirim" (template child theme
       lost-password-confirmation.php) memakai kartu yang sama + tombol outline CTA. */
    body.woocommerce-account .woocommerce-ResetPassword .woocommerce-notices-wrapper,
    body.woocommerce-account form.woocommerce-form-login .woocommerce-notices-wrapper { margin: 0 0 16px !important; }
    body.woocommerce-account form.woocommerce-form-login .woocommerce-error,
    body.woocommerce-account form.woocommerce-form-login .woocommerce-info,
    body.woocommerce-account form.woocommerce-form-login .woocommerce-message { background:#1D1D1D !important; margin:0 !important; }
    /* di dalam kartu #111, kotak notice perlu latar sedikit beda supaya terlihat sebagai kotak */
    body.woocommerce-account .woocommerce-ResetPassword .woocommerce-error,
    body.woocommerce-account .woocommerce-ResetPassword .woocommerce-info,
    body.woocommerce-account .woocommerce-ResetPassword .woocommerce-message { background:#1D1D1D !important; margin:0 !important; }
    /* tautan di dalam kotak pesan (mis. "Create an account" saat akun tidak ditemukan) — Kategori 3 di atas latar merah: putih bergaris */
    body.woocommerce-account .woocommerce-ResetPassword .woocommerce-error a,
    body.woocommerce-account form.woocommerce-form-login .woocommerce-error a { color:#ffffff !important; text-decoration:underline !important; }
    body.woocommerce-account .woocommerce-ResetPassword .woocommerce-error a:hover,
    body.woocommerce-account form.woocommerce-form-login .woocommerce-error a:hover { color:#F69B07 !important; }
    body.woocommerce-account .rune-reset-sent a.rune-reset-back {
        display:block; text-align:center; background:transparent; color:#F69B07;
        border:1px solid #F69B07; border-radius:30px; padding:10px 22px;
        font-family:'Lato',sans-serif; font-size:13px; font-weight:900; letter-spacing:1px;   /* = .rune-btn-global */
        text-transform:uppercase; text-decoration:none !important;
        transition:background .2s ease, color .2s ease;
    }
    body.woocommerce-account .rune-reset-sent a.rune-reset-back:hover { background:#F69B07; color:#111; text-decoration:none !important; }
    body.woocommerce-account .woocommerce-ResetPassword .form-row label {
        display: block !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        color:#8A8A8A !important;
        margin-bottom: 8px !important;
    }
    body.woocommerce-account .woocommerce-ResetPassword input[type="text"],
    body.woocommerce-account .woocommerce-ResetPassword input[type="password"] {
        width: 100% !important;
        background:#0d0d0d !important;
        border:1px solid #2a2a2a !important;
        border-radius:8px !important;
        color:#fff !important;
        /* ukuran huruf DICABUT 29 Agustus 2026 — satu pemilik: rune-performance.php 3h (16px). */
        font-family: 'Roboto', sans-serif !important;
        padding: 13px 14px !important;
        box-sizing: border-box !important;
        outline: none !important;
    }
    body.woocommerce-account .woocommerce-ResetPassword input:focus {
        border-color:#F69B07 !important;
    }
    /* KOTAK NOTIFIKASI PINDAH KE LAPISAN GLOBAL 29 Agustus 2026 (§15).
       Aturan lama di sini punya DUA cacat sekaligus:
       1. Dibungkus body.woocommerce-account .entry-content > .woocommerce — pembungkus yang dibuat JavaScript dan
          HANYA ada kalau pembeli sudah login. Di halaman Lost/Reset Password
          pembungkus itu tidak pernah ada, jadi notifikasinya memakai gaya
          bawaan WooCommerce: kotak PUTIH menyala di tengah tema gelap.
       2. Ditulis tanpa satu pun !important, jadi kalah dari gaya bawaan
          walaupun pembungkusnya ada. Itu sebabnya kotak putih tetap muncul di
          /my-account/orders/ padahal aturannya kelihatan cocok.
       Sekarang di rune-performance.php bagian 3l. JANGAN tulis ulang di sini. */
    .rune-address-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        width: 100%;
    }
    .rune-address-card {
        background:#111111;
        border-radius:12px;
        border:0.5px solid #2a2a2a;
        padding: 20px;
    }
    .rune-address-card-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12px;
        padding-bottom: 12px;
        border-bottom:0.5px solid #2a2a2a;
    }
    .rune-address-card-title {
        font-family: 'Lato', sans-serif;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color:#8A8A8A;
        margin: 0;
    }
    .rune-address-card-edit {
        color:#F69B07 !important;
        font-size: 12px !important;
        text-decoration: none !important;
        font-family: 'Roboto', sans-serif !important;
        transition: color .2s ease !important;
    }
    .rune-address-card-edit:hover {
        color:#ffffff !important;
        text-decoration: none !important;
    }
    .rune-address-card address {
        color:#888;
        font-size: 13px;
        font-style: normal;
        line-height: 1.6;
    }
    /* ORDER ACTIONS */
    .rune-order-actions { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; }
    /* 29 Agustus 2026 — kartu-kartu ini DULU cuma dirender kalau status persis
       "shipped", jadi penggaris tidak pernah sempat mengukurnya (pelajaran
       kelima di claude/Penggaris Standar Rune.md: keadaan yang jarang tampil
       lolos dari alat ukur). Sekarang tampil di hampir semua keadaan order,
       jadi warnanya diseragamkan ke palet §1 dan ukurannya ke tangga §2:
         hijau #27c864 -> #3baf6b (hijau resmi Rune, dipakai juga di lencana email)
         judul 14px    -> 15px
         abu #666/#888 -> #9A9A9A / #8A8A8A
         tinggi baris 1.5 -> 1.618 */
    .rune-order-received-card {
        background:rgba(59,175,107,0.08);
        border:0.5px solid rgba(59,175,107,0.3);
        border-radius:12px;
        padding: 20px;
    }
    .rune-order-received-card .rune-oa-title {
        font-family: 'Lato', sans-serif;
        font-size: 15px;
        font-weight: 700;
        color:#3baf6b;
        margin-bottom: 4px;
    }
    .rune-order-received-card .rune-oa-sub {
        font-family: 'Roboto', sans-serif;
        font-size: 12px;
        color:rgba(59,175,107,0.75);
        line-height: 1.618;
        margin-bottom: 14px;
    }
    .rune-order-received-card .rune-oa-sub b { color:#3baf6b; font-weight:500; }
    .rune-btn-received {
        width: 100%;
        background:#3baf6b;
        color:#111;
        border:none;
        border-radius:8px;
        padding: 12px;
        font-family: 'Lato', sans-serif;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        letter-spacing: 0.5px;
        transition: background .2s ease;
    }
    .rune-btn-received:hover { background:#329a5d; }
    /* 🔴 11 Okt 2026 — tanda tekan. Mengikuti :hover.
       :not(:disabled) WAJIB — tombol ini dimatikan selama permintaannya dikirim;
       kalau masih berubah warna saat ditekan, pembeli mengira tekanan keduanya
       diterima. Aturan :disabled di bawah sudah memakai penjaga yang sama. */
    .rune-btn-received:not(:disabled):active { background:#329a5d; transition:none; }
    .rune-btn-received:disabled { opacity: 0.6; cursor: not-allowed; }
    .rune-order-problem-card {
        background:#111111;
        border:0.5px solid #2a2a2a;
        border-radius:12px;
        padding: 20px;
    }
    .rune-order-problem-card .rune-oa-title {
        font-family: 'Lato', sans-serif;
        font-size: 15px;
        font-weight: 700;
        color:#fff;
        margin-bottom: 4px;
    }
    .rune-order-problem-card .rune-oa-sub {
        font-family: 'Roboto', sans-serif;
        font-size: 12px;
        color:#9A9A9A;
        line-height: 1.618;
        margin-bottom: 14px;
    }
    .rune-order-problem-card .rune-oa-sub b { color:#ffffff; font-weight:500; }
    /* Tautan di dalam kartu = tautan teks sebaris (Kategori 3 taksonomi hover) */
    .rune-order-problem-card .rune-oa-sub a {
        color:#F69B07;
        text-decoration:none;
        transition: color .2s ease;
    }
    .rune-order-problem-card .rune-oa-sub a:hover {
        color:#ffffff;
        text-decoration:underline;
    }
    .rune-btn-problem {
        width: 100%;
        background:transparent;
        color:#cc1e1e;
        border:0.5px solid #cc1e1e;
        border-radius:8px;
        padding: 12px;
        font-family: 'Lato', sans-serif;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        letter-spacing: 0.5px;
    }
    .rune-btn-problem:hover { background:rgba(204,30,30,0.08); }
    .rune-btn-problem:active { background:rgba(204,30,30,0.08); transition:none; }
    .rune-problem-form { display: none; margin-top: 16px; border-top:0.5px solid #2a2a2a; padding-top: 16px; }
    .rune-problem-form.open { display: block; }
    .rune-problem-form label { color:#8A8A8A; font-size: 12px; font-family: 'Roboto', sans-serif; margin-bottom: 6px; display: block; }
    .rune-problem-form select,
    .rune-problem-form textarea {
        width: 100%;
        background:#0d0d0d !important;
        border:1px solid #2a2a2a !important;
        color:#fff !important;
        border-radius:8px !important;
        padding: 10px 14px !important;
        font-family: 'Roboto', sans-serif !important;
        /* ukuran huruf DICABUT 29 Agustus 2026 — satu pemilik: rune-performance.php 3h (16px). */
        box-sizing: border-box;
        margin-bottom: 12px;
    }
    .rune-problem-form select:focus,
    .rune-problem-form textarea:focus { border-color:#F69B07 !important; outline: none !important; }
    .rune-problem-form-actions { display: flex; gap: 8px; }
    .rune-btn-cancel {
        flex: 1;
        background:transparent;
        color:#9A9A9A;
        border:0.5px solid #2a2a2a;
        border-radius:8px;
        padding: 10px;
        font-family: 'Roboto', sans-serif;
        font-size: 13px;
        cursor: pointer;
    }
    .rune-btn-cancel:hover { color:#fff; border-color:#555; }
    /* 🔵 border-color #555 di atas adalah SISA UTANG MIGRASI §1 (lihat
       Standar Desain Rune v1.0). Garis tidak diatur WCAG, jadi dibiarkan —
       tapi kalau suatu hari garis ikut diseragamkan, baris ini ikut. */
    .rune-btn-cancel:active { color:#fff; border-color:#555; transition:none; }
    .rune-btn-submit {
        flex: 2;
        background:#cc1e1e;
        color:#fff;
        border:none;
        border-radius:8px;
        padding: 10px;
        font-family: 'Lato', sans-serif;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
    }
    .rune-btn-submit:hover { background:#a81818; }
    .rune-btn-submit:active { background:#a81818; transition:none; }
    .rune-btn-submit:disabled { opacity: 0.6; cursor: not-allowed; }
    .rune-order-completed-badge {
        background:rgba(59,175,107,0.08);
        border:0.5px solid rgba(59,175,107,0.3);
        border-radius:12px;
        padding: 16px 20px;
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .rune-order-completed-badge span {
        font-family: 'Lato', sans-serif;
        font-size: 13px;
        font-weight: 700;
        color:#3baf6b;
    }
    .rune-oa-notice {
        background:#111111;
        border:0.5px solid #2a2a2a;
        border-radius:8px;
        padding: 12px 16px;
        font-family: 'Roboto', sans-serif;
        font-size: 12px;
        color:#8A8A8A;
        line-height: 1.618;
        text-align: center;
        margin-top: 8px;
    }
    /* JUDUL KARTU ORDER DETAILS / BILLING / SHIPPING
       29 Agustus 2026 — dua blok aturan di sini DIHAPUS. Isinya menambal
       judul kartu yang sama dengan yang digarap di halaman Thank You, tapi
       dengan nilai berbeda (11px vs 12px, padding 24px vs 20px) — persis
       Sistemik #10: satu potongan, dua pemilik, dan yang satu ketinggalan.
       Sekarang pemiliknya CUMA rune-performance.php bagian 3v.
       🔴 Jangan tulis ulang di sini. */
    body.woocommerce-account .ast-mobile-header-content,
    body.woocommerce-account .site-below-footer-wrap {
        background:#111 !important;
    }
    /* MENU HEADER — 14 September 2026.
       Dulu di sini ada aturan yang memaksa .menu-link putih dengan !important
       tanpa pasangan :hover, sehingga hover Astra terbungkam khusus di halaman
       ini (bug ditemukan admin). Diuji tanpa aturan itu: menu tetap putih, hover
       sama persis dengan halaman lain → aturannya usang dan DIHAPUS.
       🔴 Menu header adalah wilayah Astra (Customizer) + rune-performance.php.
       Berkas halaman mana pun JANGAN menyentuh .menu-link / .main-header-menu. */
    @media (max-width: 921px) {
        /* 🔴 18 September 2026 — !important WAJIB di baris berikut.
           Selektornya SAMA PERSIS dengan aturan desktop di baris ~386
           (`grid-template-columns: 220px 1fr !important`). Bobot selektor sama,
           dan MEDIA QUERY TIDAK MENAMBAH BOBOT — jadi tanpa !important, aturan
           desktop menang di SEMUA lebar dan kerangka ini tidak pernah jadi satu
           kolom. Terukur di live sebelum diperbaiki: pada layar 430 px, menu
           samping tetap 220 px dan kolom isi tinggal 83 px — di Dashboard,
           Orders, Addresses, dan Account details. Diuji juga tepat di 921 dan
           922 px: tidak ada yang berubah, jadi bukan salah angka breakpoint.
           🔴 Baris `.rune-address-grid` di bawah SENGAJA dibiarkan tanpa
           !important — pasangan desktopnya (baris ~887) juga tanpa, jadi yang
           belakangan sudah menang. Menambahkan !important di situ tidak perlu. */
        /* 🔴 `.logged-in` di baris berikut WAJIB — 20 September 2026.
           Bobotnya harus SAMA PERSIS dengan aturan desktop (0,4,1). Kalau
           penjaga itu hanya ada di aturan desktop, yang desktop menang di semua
           lebar karena media query tidak menambah bobot. Lihat catatan panjang
           di aturan desktop (~baris 388). */
        body.logged-in.woocommerce-account .entry-content > .woocommerce { grid-template-columns: 1fr !important; }
        .rune-address-grid { grid-template-columns: 1fr; }
        body.woocommerce-account .entry-content > .woocommerce table { font-size: 12px; }
        body.woocommerce-account .entry-content > .woocommerce table thead th,
        body.woocommerce-account .entry-content > .woocommerce table tbody td { padding: 10px 12px; }
    }


/* 🔴 16 September 2026 — label "MY ACCOUNT" dan kotak pesan WooCommerce.
   Sebelum perubahan di atas, keduanya berada di LUAR pembungkus grid sehingga
   mengalir normal. Sekarang mereka anak langsung dari wadah yang ber-display:grid,
   jadi tanpa aturan ini mereka akan menempati satu sel kolom dan mendorong
   sidebar/konten. `1 / -1` = membentang dari kolom pertama sampai terakhir. */
body.woocommerce-account .entry-content > .woocommerce > .rune-account-page-label,
body.woocommerce-account .entry-content > .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-account .entry-content > .woocommerce > .woocommerce-message,
body.woocommerce-account .entry-content > .woocommerce > .woocommerce-error,
body.woocommerce-account .entry-content > .woocommerce > .woocommerce-info {
    grid-column: 1 / -1 !important;
}


/* ============================================================
   🔴 KARTU ALAMAT DITATA DARI SERVER — 16 September 2026
   ============================================================
   RIWAYAT SINGKAT, supaya tidak diulang:
     1. Admin melihat KOTAK PUTIH sekejap saat refresh halaman Addresses.
        Terukur: latar `.woocommerce-Address-title` = rgb(251,251,251) dan
        warna teksnya rgb(255,255,255) — putih di atas putih.
     2. Latarnya ditambal jadi transparan. Kotak putih hilang, TAPI judulnya
        lalu tampil RAKSASA (h2 bawaan 30px) sampai JavaScript mengecilkannya.
        🔴 Menambal satu properti sekali jalan hanya MEMINDAHKAN gejala.
     3. Sekarang: SELURUH tampilan kartu ditata langsung pada elemen yang
        dikirim server, meniru `.rune-address-card`. Perakitan kartu di
        JavaScript DIMATIKAN (rune-account.php), jadi hanya ada SATU versi
        tampilan — tidak ada lagi yang bisa berbeda di antara keduanya.

   Struktur server memang sejajar dengan kartu Rune:
     .woocommerce-Addresses            ->  .rune-address-grid
     .woocommerce-Address              ->  .rune-address-card
     header.woocommerce-Address-title  ->  .rune-address-card-header
       h2                              ->  .rune-address-card-title
       a                               ->  .rune-address-card-edit
     address                           ->  address

   🔴 JANGAN menghidupkan lagi perakitan kartu di JS — hasilnya akan dobel.
   🔴 Angka di bawah MENIRU aturan .rune-address-card di berkas ini (baris
      ~829-874). Kalau salah satunya diubah, ubah dua-duanya.
   ============================================================ */
body.woocommerce-account .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    width: 100% !important;
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    background:#111111 !important;
    border-radius:12px !important;
    border:0.5px solid #2a2a2a !important;
    padding: 20px !important;
    width: auto !important;
    float: none !important;
}
body.woocommerce-account .woocommerce-Address-title,
body.woocommerce-account .woocommerce-Addresses header.title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    padding: 0 0 12px !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0.5px solid #2a2a2a !important;
}
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3 {
    font-family: 'Lato', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color:#8A8A8A !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
body.woocommerce-account .woocommerce-Address-title a {
    color:#F69B07 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    font-family: 'Roboto', sans-serif !important;
    transition: color .2s ease !important;
}
body.woocommerce-account .woocommerce-Address-title a:hover {
    color:#ffffff !important;
    text-decoration: none !important;
}

/* ============================================================
   18 September 2026 — JUDUL & TAUTAN EDIT RATA DENGAN TEPI KARTU
   ============================================================
   Dipasang siang hari, ikut terbuang saat berkas dipulihkan dari cadangan
   malam harinya, lalu dipasang kembali. Jangan dibuang lagi.

   Terukur sebelum diperbaiki: judul "BILLING ADDRESS" mulai di 359 dan tautan
   "Edit Billing address" berakhir di 662, sementara kotak alamat tepat di
   bawahnya 299–723 — keduanya menjorok ±60 px ke dalam.

   🔴 `justify-content: space-between` SUDAH dipasang di aturan di atas dan
   TIDAK CUKUP: hasilnya tetap terbagi rata seperti space-evenly karena baris
   itu berisi lebih dari dua elemen. Yang menentukan adalah MARGIN AUTO di
   masing-masing ujung — tidak bergantung pada jumlah elemen di dalam baris.
   Padding 12 px bawaan tautan ikut dinolkan supaya yang rata kanan adalah
   HURUFNYA, bukan kotak tak terlihat di sekelilingnya.
   Terukur sesudah: judul 299, tautan berakhir 723 — sejajar dengan kotak alamat. */
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3 {
    margin-right: auto !important;
}
body.woocommerce-account .woocommerce-Address-title a {
    margin-left: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.woocommerce-account .woocommerce-Address address {
    color:#888 !important;
    font-size: 13px !important;
    font-style: normal !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
@media (max-width: 921px) {
    body.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr !important; }
}

/* RUNE — MY ACCOUNT FULL WIDTH (18 September 2026) */
/* Permintaan admin 18 Sep: "full width pada semua ukuran layar, seperti kalau
   saya memilih Full Width di Elementor saat edit Home."

   Yang dilepas ada DUA lapis, dan keduanya wajib — melepas satu saja tidak
   mengubah apa pun karena lapis yang lain tetap mengurung:
     1. .ast-container  — wadah Astra, max-width 1240 px + padding 20 px
     2. .woocommerce    — pembungkus My Account, max-width 920 px + padding 24 px

   🔴 HANYA berlaku di halaman My Account (body.woocommerce-account).
   Halaman lain tidak tersentuh sama sekali.

   🔴 AKIBAT YANG DISADARI & DITERIMA ADMIN: header dan footer tetap berhenti di
   1240 px (wadah Astra dipakai seluruh situs), jadi di layar lebih lebar dari
   1240 px tepi kartu TIDAK sejajar dengan tepi logo & menu di atasnya.

   Kolom isian formulir DIBATASI 520 px supaya tidak ikut melebar — tanpa ini,
   di layar 1920 px satu kolom "First name" jadi selebar ±900 px. */
/* 🔴 KESALAHAN 18 Sep, DIPERBAIKI SEKARANG: selektor semula
   `body.woocommerce-account .ast-container` — dan Astra memakai kelas
   .ast-container YANG SAMA untuk HEADER, FOOTER, dan isi halaman. Akibatnya
   header ikut melebar dan logo menempel keluar tepi kiri layar (dilaporkan
   admin lewat tangkapan layar). Sekarang dibatasi ke wadah isi saja lewat
   .site-content — header (.site-header) dan footer (.site-footer) tidak
   pernah berada di dalamnya.
   🔴 JANGAN kembalikan ke selektor tanpa .site-content. */
body.woocommerce-account .entry-content > .woocommerce {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ============================================================
   LEBAR KOLOM ISIAN DI PANEL AKUN — 18 September 2026 (malam)
   ============================================================
   Batas 520 px yang lama dibuat waktu My Account masih dikurung 920 px; di situ
   angkanya pas. Sesudah halaman ini mengikuti lebar header (1200 px), batas yang
   sama membuat kotak isian berhenti di tengah dan sisi kanannya menganga —
   admin melihatnya sebagai "kotak isian jadi pendek".

   🔴 ELEMEN <select> MENTAH SENGAJA TIDAK DISEBUT DI SINI, dan ini bukan
   kelalaian. select2 menyembunyikan <select> aslinya dengan position:absolute
   dan lebar 1 px. Percobaan sebelumnya memaksanya `width:100% !important` —
   akibatnya elemen melayang itu melebar mengikuti LAYAR (terukur 1252 px,
   menembus keluar kartu yang berakhir di 1226) dan sempat terlihat sekejap
   sebelum select2 menggantinya. Itulah kedipan di baris Country & Province yang
   dilaporkan admin. Yang boleh diatur adalah PEMBUNGKUSNYA (.select2-container),
   bukan <select>-nya.

   Tombol & kotak centang juga sengaja tidak disebut — keduanya punya ukuran
   sendiri dan tidak boleh melar mengikuti wadah. */
body.woocommerce-account .woocommerce-MyAccount-content form input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content form textarea,
body.woocommerce-account .woocommerce-MyAccount-content form .select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* ============================================================
   KEDIPAN BARIS COUNTRY & STATE — 18 September 2026 (malam)
   ============================================================
   Dilaporkan admin: dua baris itu berkedip saat halaman dimuat ulang.

   Sebabnya bukan lebar. Halaman datang dengan KOTAK PILIHAN BAWAAN, lalu
   select2 menggantinya dengan kotak buatannya sendiri beberapa saat kemudian.
   Selama bentuk keduanya berbeda, pergantian itu terlihat sebagai kedipan.

   Obatnya: kotak bawaan dibuat SAMA PERSIS dengan kotak select2, jadi tidak
   ada yang berubah saat ditukar. Angkanya DISALIN dari hasil ukur kotak
   select2 di halaman ini, bukan ditebak:
       tinggi 44 px · latar #0d0d0d · garis 1px #2a2a2a · sudut 8 px
       Roboto 16 px · teks putih
   (kotak isian biasa di formulir yang sama juga persis angka ini).

   🔴 `:not(.select2-hidden-accessible)` WAJIB. Sesudah select2 jalan, <select>
   aslinya disembunyikan dengan position:absolute selebar 1 px. Percobaan
   sebelumnya menata SEMUA <select> tanpa pengecualian ini — elemen melayang itu
   ikut dipaksa selebar 100% dan melebar mengikuti LAYAR (terukur 1252 px,
   menembus keluar kartu). Itu justru menambah kedipan, bukan menghilangkannya. */
body.woocommerce-account .woocommerce-MyAccount-content form select:not(.select2-hidden-accessible) {
    -webkit-appearance: none;
    appearance: none;
    /* 🔴 display:block WAJIB, dan ini yang tersisa sesudah tingginya disamakan.
       Kotak pilihan bawaan adalah elemen SEBARIS: browser menyisakan ±4 px di
       bawahnya untuk ekor huruf. Kotak select2 tidak. Terekam di LocalWP dengan
       perekam 16 ms: baris Country 73 px pada 1.217 ms lalu 69 px pada 2.295 ms
       (saat select2 menggantinya), dan SELURUH baris di bawahnya ikut naik —
       Phone 834 -> 826, Email 913 -> 905, tinggi halaman 1.807 -> 1.799.
       Admin melihatnya sebagai "sedikit pergerakan". */
    display: block;
    width: 100%;
    height: 44px;
    background-color: #0d0d0d;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    padding: 0 14px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: #ffffff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
}
/* ------------------------------------------------------------------
   WARNA TEKS PENUNTUN — KOTAK YANG BELUM DIPILIH
   18 September 2026 · dilaporkan admin, terukur sebelum dipasang
   ------------------------------------------------------------------
   GEJALA: kotak State (dan Country pada akun baru) yang belum dipilih —
   teksnya "Select an option…" — muncul PUTIH saat halaman tampil, lalu
   berubah ABU-ABU sekitar sedetik kemudian.

   TERUKUR di LocalWP dengan perekam 16 ms:
       1106 ms  kotak bawaan  "Select an option…"  rgb(255,255,255)
       1958 ms  kotak select2 "Select an option…"  rgb(85,85,85)

   SEBABNYA: kotak bawaan mencetak pilihan kosong dengan warna teks biasa
   (putih), sedangkan select2 mencetaknya sebagai PENUNTUN dengan #555.
   Jadi yang berkedip bukan posisi dan bukan huruf — hanya warnanya.

   🔴 Kotak yang SUDAH terisi (mis. Country = Germany) tidak pernah berkedip:
   putih di kedua keadaan. Itu sebabnya gejalanya cuma di kotak kosong.

   🔴 DIPERBARUI 11 Oktober 2026 — paragraf ini DULU menulis bahwa warnanya
   #555 karena "itu warna yang dipakai select2 sendiri (terukur rgb(85,85,85))".
   Itu sudah TIDAK BERLAKU: placeholder select2 di halaman ini sekarang dipaksa
   #8A8A8A oleh aturan Rune sendiri (baris .select2-selection__placeholder di
   atas), jadi #555 di sini justru membuat keduanya BEDA LAGI.
   Sekarang dua-duanya #8A8A8A — warna Placeholder resmi §1 Standar Desain Rune
   v1.0 (28 Agu 2026), kontras 4,88:1. #555 gagal di 2,26:1.
   🔴 JANGAN kembalikan ke #555 "supaya cocok dengan select2" — select2 di
   halaman ini tidak lagi memakai #555.

   :has() dipakai karena tidak ada cara lain mengenali "pilihan kosong sedang
   terpilih" dari CSS. Di browser yang belum mendukungnya aturan ini diam
   saja — tampilannya kembali seperti sebelum perbaikan, tidak rusak. */
body.woocommerce-account .woocommerce-MyAccount-content form
    select:not(.select2-hidden-accessible):has(option[value=""]:checked) {
    /* 🔴 !important WAJIB di sini. Terukur: aturan lama
       `body.woocommerce-account .entry-content > .woocommerce input[type="text"], …`
       memberi warna putih dengan !important dan ikut mengenai <select> ini.
       Tanpa !important aturan di bawah kalah walau bobot selektornya lebih tinggi —
       !important menentukan LAPISAN, dan lapisan selalu menang lebih dulu. */
    color: #8A8A8A !important;
}
/* 🔴 DAN INI YANG MENENTUKAN. Terekam per 16 ms di LocalWP:
       sebelum select2 — kotak pilihan 44 px, tinggi baris 73 px
       sesudah select2 — pembungkus .select2-container cuma 40 px, baris 69 px
   Selisih 4 px itu membuat SELURUH baris di bawahnya naik (Phone 834 -> 826,
   Email 913 -> 905, tinggi halaman 1.807 -> 1.799). Itulah "sedikit pergerakan"
   yang dilaporkan admin.
   Pembungkusnya yang dinaikkan ke 44 px — bukan kotak bawaannya yang
   diturunkan ke 40 px — supaya yang terlihat pembeli tidak ikut mengecil. */
body.woocommerce-account .woocommerce-MyAccount-content form .select2-container {
    height: 44px !important;
}

/* ------------------------------------------------------------------
   KOTAK PILIHAN TIDAK BOLEH DIANIMASIKAN
   18 September 2026 · sebab sebenarnya dari "teks naik-turun perlahan"
   ------------------------------------------------------------------
   Astra memasang `transition: .2s all` pada input/select. Saat select2
   mengambil alih, kotak bawaan disembunyikan — dan karena ada transisi itu,
   ia tidak hilang seketika melainkan MENGEMPIS PERLAHAN sambil hurufnya
   mengecil. Terekam per bingkai di jendela admin:

       1002 ms  tinggi 44    huruf 16 px
       1025 ms  tinggi 29,8  huruf 15,0 px
       1053 ms  tinggi 22,4  huruf 14,5 px
       1085 ms  tinggi 22    huruf 14,0 px
       1190 ms  tinggi 22    huruf 13,3 px
       1236 ms  tinggi 22    huruf 13 px

   ±0,23 detik, dan sebagian besarnya jatuh SESUDAH halaman tergambar
   (1048 ms). Itulah gerakan yang dilaporkan admin, dan itu sebabnya hanya
   dua kotak ini yang mengalaminya — hanya keduanya yang dipegang select2.

   🔴 Kotak ketik biasa TIDAK ikut dimatikan transisinya: warna garisnya saat
   disentuh memang sengaja beranimasi. Yang dimatikan hanya kotak pilihan,
   yang tidak punya keadaan sentuh apa pun untuk dianimasikan. */
body.woocommerce-account .woocommerce-MyAccount-content form select {
    transition: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form .select2-container .select2-selection--single {
    height: 44px !important;
}

/* ============================================================
   FORMULIR ACCOUNT DETAILS — DUA KOLOM (18 September 2026)
   ============================================================
   Dipasang siang hari, sempat ikut terbuang saat berkas dipulihkan dari
   cadangan malam harinya, lalu dipasang kembali. Jangan dibuang lagi.

   Sebelumnya tiap baris punya lebarnya sendiri: nama depan/belakang setengah
   lebar sementara e-mail, telepon, dan tiga kolom sandi berhenti di tengah —
   tepi kanannya tidak pernah segaris.

   🔴 SEBAB "BERANTAKAN" YANG SEBENARNYA — DAN INI YANG PALING MUDAH TERLUPA:
   WooCommerce menyelipkan <div class="clear"> di antara baris untuk mematikan
   float. Di dalam grid, div itu IKUT MENGAMBIL SATU PETAK — E-mail terdorong ke
   kolom kanan dan petak kirinya kosong. Terukur: tinggi div itu 79 px,
   menempati petak kiri baris kedua. Memakai grid saja TIDAK cukup.

   🔴 HANYA formulir Account details. Formulir ALAMAT punya tata letaknya
   sendiri (float bawaan: form-row-first / form-row-last / form-row-wide) dan
   TIDAK BOLEH disentuh dari sini — pernah dicoba dan hasilnya berantakan. */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
}
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > p,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset > p {
    float: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* padding 3 px bawaan .form-row dinolkan — baris di dalam <fieldset> tidak
   kebagian padding yang sama, jadi tepinya meleset 3 px (terukur 272 vs 269) */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm p.form-row {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* 🔴 div "clear" bawaan WooCommerce — floatnya sudah dinolkan di atas, jadi div
   ini tidak punya tugas lagi dan hanya mencuri petak grid. */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > .clear,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset > .clear {
    display: none !important;
}
/* baris yang sengaja memakai dua kolom sekaligus */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > .rune-avatar-panel,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > p:last-of-type {
    grid-column: 1 / -1;
}
/* bagian sandi: "current password" selebar dua kolom, dua kolom sandi baru
   berdampingan — urutannya sama dengan cara orang mengisinya */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    border: 0;
    padding: 0;
    margin: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset > legend,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset > p:first-of-type {
    grid-column: 1 / -1;
}
@media (max-width: 921px) {
    body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
    body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------------------------------------------
   TAUTAN "BACK TO ADDRESSES" — halaman edit alamat saja
   18 September 2026 · persetujuan admin (pilihan B)
   ------------------------------------------------------------------
   Dicetak server oleh rune_edit_address_tautan_kembali() di rune-account.php,
   tepat di atas judul "Billing address" / "Shipping address".

   🔴 WARNANYA DIAMBIL DARI YANG SUDAH BERJALAN DI SITUS, bukan dari tebakan.
   Terukur di halaman ini: menu samping My Account #888 · tautan kolom footer
   #888 dengan hover #F69B07 tanpa garis bawah · tautan kontak footer #F69B07
   dengan hover putih. Pola untuk tautan NAVIGASI yang berdiri sendiri adalah
   yang pertama, jadi itu yang dipakai.

   🔴 HOVER TAXONOMY nomor 3 ("hover putih + garis bawah") SENGAJA TIDAK
   dipakai di sini: aturan itu untuk tautan yang duduk di TENGAH KALIMAT.
   "Back to addresses" adalah tautan navigasi berdiri sendiri, sekelas dengan
   menu samping dan tautan footer. Percobaan pertama memakai nomor 3 dan
   hasilnya terlihat asing di tema Rune — admin menegurnya.

   Bukan tombol, jadi TIDAK memakai radius 30 px dan TIDAK memakai isian
   oranye saat hover.

   🔴 display:inline-flex supaya panah dan teks duduk sebaris rata tengah —
   panah "←" punya tinggi baris sendiri dan tanpa flex akan naik sedikit. */
body.woocommerce-account .woocommerce-MyAccount-content .rune-addr-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #888888;
    text-decoration: none;
    transition: color .2s;
}
body.woocommerce-account .woocommerce-MyAccount-content .rune-addr-back:hover,
body.woocommerce-account .woocommerce-MyAccount-content .rune-addr-back:focus {
    color: #F69B07;
    text-decoration: none;
}
body.woocommerce-account .woocommerce-MyAccount-content .rune-addr-back-panah {
    font-size: 15px;
    line-height: 1;
}

/* ------------------------------------------------------------------
   JUDUL HALAMAN EDIT ALAMAT — DISAMAKAN DENGAN JUDUL KARTU DI HALAMAN DAFTAR
   18 September 2026 · permintaan admin
   ------------------------------------------------------------------
   Admin: judul "Billing address" di halaman edit terasa janggal karena besar
   sendiri. Diminta disamakan dengan judul di /my-account/edit-address/.

   ANGKANYA DIUKUR DARI HALAMAN DAFTAR ITU SENDIRI, bukan disalin dari CSS lain:
       judul kartu  : Lato 11px · berat 700 · jarak huruf 1,5px · uppercase · #555
       jarak ke isi : 12 px (margin bawah header .woocommerce-Address-title)
   Sebelum diubah, judul halaman edit terukur Lato 30px · putih · margin bawah 21px.

   🔴 SELEKTORNYA `form > h2` — INI YANG MENENTUKAN, DAN SUDAH DIBUKTIKAN.
   Percobaan lama menyasar `.woocommerce-MyAccount-content h2` dan ikut mengubah
   judul kartu alamat di halaman DAFTAR, yang tidak diminta diubah (admin
   mencabutnya, 18 Sep). Sebelum aturan ini dipasang, enam halaman My Account
   dihitung satu per satu:
       /my-account/                      form > h2 : 0
       /my-account/orders/               form > h2 : 0
       /my-account/edit-account/         form > h2 : 0
       /my-account/edit-address/         form > h2 : 0
       /my-account/edit-address/billing/ form > h2 : 1
       /my-account/edit-address/shipping/form > h2 : 1
   Jadi aturan ini TIDAK MUNGKIN menyentuh halaman lain.

   🔴 margin-bottom DIKUNCI. Bawaannya `.woocommerce h2{margin-bottom:.7em}` —
   dihitung dari ukuran huruf, jadi begitu hurufnya 11px jaraknya ikut menyusut
   jadi ±8px. Dikunci 12px supaya sama dengan halaman daftar. */
body.woocommerce-account .woocommerce-MyAccount-content form > h2 {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8A8A8A;
    margin: 0 0 12px;
}

/* ============================================================
   🔴 SUDAH DICOBA & GAGAL — JANGAN DIULANG (11 Oktober 2026)
   ============================================================
   Keluhan admin dari iPhone: ruang kosong besar di atas DAN di bawah kartu
   Reset Password. Terukur bersama admin: kartunya dipusatkan, tapi kotak
   tempat ia dipusatkan lebih tinggi daripada layar, karena
     Astra            #page { min-height: 100vh }
     rune-bottom-nav  body  { padding-bottom: 65px }
   bertambah jadi 100vh + 65px.

   DUA PERCOBAAN, KEDUANYA DITOLAK ADMIN SESUDAH DIUJI DI IPHONE ASLI:
     1. min-height: calc(100dvh - 65px)  -> guliran PATAH-PATAH. dvh berubah
        nilainya saat bilah alamat Safari menyusut, jadi tinggi halaman
        dihitung ulang terus-menerus di tengah guliran.
     2. min-height: calc(100svh - 65px)  -> MASIH patah. svh memang tidak
        berubah, tapi halamannya jadi hanya bisa digulir beberapa piksel
        sebelum mentok; di Safari iOS itu terasa seperti tersendat & memantul.

   Dicabut 11 Okt atas keputusan admin ("cabut"): guliran mulus lebih berharga
   daripada ruang kosong yang rapi. Ruang kosongnya DITERIMA untuk sekarang.

   🔴 KALAU SUATU HARI DIKERJAKAN LAGI: jangan menyetel min-height #page.
   Akar masalahnya 65px padding-bottom <body> yang ditambahkan untuk bar nav —
   di situ, bukan di sini. Dan ujilah di iPhone ASLI; tidak ada browser desktop
   yang bisa menirukan bilah alamat Safari yang menyusut saat menggulir.
   ============================================================ */
