/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 1.0
*/


/* Prevent horizontal scrolling globally */
html,
body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.splide__slide {
    position: relative;
    overflow: hidden;
}

/* =========================================================
   1. APLIKASI FONT KHUSUS
   ========================================================= */

/* Jost untuk Global Body & Teks */
body,
body p,
body div,
body span,
body a,
body li,
body input,
body select,
body textarea,
body button,
.is-layout-constrained {
    font-family: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Jost untuk Megamenu & Navigasi */
.aigner-desktop-navigation,
.aigner-desktop-navigation *,
.mega-menu-wrap,
.mega-menu-wrap *,
.mega-menu,
.mega-menu *,
.aigner-mobile-menu,
.aigner-mobile-menu * {
    font-family: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Crimson Pro Custom HANYA untuk elemen bertipe aksen .font-crimson-italic */
body .font-crimson-italic,
body .font-crimson-italic * {
    font-family: 'Crimson Pro Custom', Georgia, serif !important;
    font-style: italic !important;
}





/* =========================================================
   YOUTUBE HERO BANNER - FULLWIDTH (HEIGHT: 500PX)
   ========================================================= */

.youtube-hero-banner {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 500px !important;
    /* Diubah dari 300px ke 500px */
    max-height: 500px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden !important;
    background-color: #000;
}

.youtube-hero-banner iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100vw !important;
    height: 56.25vw !important;
    /* Menjaga aspect ratio 16:9 utuh */
    min-height: 500px !important;
    /* Diubah menyesuaikan tinggi banner */
    min-width: 889px !important;
    /* Kalkulasi rasio 16:9 -> (500px * 16 / 9) */
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
    border: 0 !important;
}

/* Lapisan Gelap & Penataan Teks ke Tengah */
.youtube-hero-banner .banner-overlay {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Gradasi hitam halus di bagian bawah agar tulisan jelas terbaca */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.75) 100%);
    display: flex !important;
    justify-content: center !important;
    /* Posisi horizontal tepat di tengah */
    align-items: flex-end !important;
    /* Posisi vertikal di paling bawah */
    z-index: 2;
    pointer-events: auto !important;
    padding: 0 !important;
    /* Hapus padding agar tidak bentrok */
}

.banner-content {
    text-align: center !important;
    /* Memastikan semua teks & tombol terpusat di tengah */
    margin: 0 auto 40px auto !important;
    /* Angka 40px ini adalah jarak dari batas bawah video */
    max-width: 800px;
    width: 100%;
    padding: 0 20px;
}

.banner-content h2 {
    color: #ffffff !important;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 2px;
    margin: 0 auto 8px auto !important;
    /* text-transform: uppercase; */
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
    /* Shadow agar tulisan kontras di atas video */
}

.banner-content p {
    color: #f1f1f1 !important;
    font-size: 1rem;
    margin: 0 auto 18px auto !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
}

.banner-btn {
    display: inline-block;
    padding: 5px 20px;
    /* background-color: #ffffff; */
    color: #ffffff !important;
    /* font-weight: 100; */
    text-decoration: underline !important;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    font-size: 0.85rem !important;
    /* Atau gunakan ukuran px, misal: 13px */
}

.banner-btn:hover {
    /* background-color: #000000; */
    color: #ffffff !important;
}

/* =========================================
   CUSTOM AIGNER HEADER
========================================= */

.aigner-header {
    position: relative;
    width: 100%;
    background: #fff;
    z-index: 9999;
}

/* Top header */

.aigner-header-top {
    height: 105px;

    display: grid;
    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    padding: 0 30px;
}

.aigner-header-left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}



/* Search */

.aigner-search {
    display: flex;
    align-items: center;
    gap: 10px;

    font-size: 15px;
}

.aigner-search-icon {
    font-size: 24px;
}

.aigner-search a {
    color: #222;
    text-decoration: none;
}

/* Logo */

.aigner-logo {
    text-align: center;
}

.aigner-logo img {
    max-width: 110px;
    height: auto;
}

.aigner-logo-text {
    font-size: 25px;
    letter-spacing: 4px;
}

/* Right icons */

.aigner-header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 22px;
}


.aigner-header-actions a {
    color: #222;
    text-decoration: none;

    font-size: 20px;
}

/* Desktop navigation */

.aigner-desktop-navigation {
    display: flex;
    justify-content: center;

    /* padding: 12px 20px 25px; */
}

.aigner-desktop-navigation ul {
    display: flex;

    align-items: center;

    gap: 35px;

    list-style: none;

    padding: 0;
    margin: 0;
}

.aigner-desktop-navigation li {
    position: relative;
}

.aigner-desktop-navigation a {
    color: #222;

    font-size: 15px;

    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 6px;
    text-decoration-thickness: 1px;

    white-space: nowrap;

    transition: text-decoration-color 0.25s ease;
}

.aigner-desktop-navigation a:hover {
    text-decoration-color: #c3a373;
}

/* Max Mega Menu handles submenus naturally */

/* =========================================
   MOBILE
========================================= */

.aigner-mobile-trigger {
    display: none;
}

.aigner-mobile-menu {
    position: fixed;

    inset: 0;

    z-index: 999999;

    background: #fff;

    overflow: hidden;

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transition:
        opacity .25s ease,
        visibility .25s ease;
}

.aigner-mobile-menu.is-open {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;
}

/* Mobile header */

.aigner-mobile-header {
    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;
}

.aigner-mobile-logo {
    text-align: center;
}

.aigner-mobile-logo img {
    width: 90px;
}

.aigner-mobile-close {
    position: absolute;

    right: 18px;
    top: 18px;

    width: 48px;
    height: 48px;

    border: 0;

    border-radius: 50%;

    background: #f7f7f7;

    font-size: 30px;

    cursor: pointer;
}

/* Mobile menu */

.aigner-mobile-content {
    height: calc(100vh - 90px);

    overflow-y: auto;

    padding: 20px 35px 50px;
}

.aigner-mobile-list {
    list-style: none;

    padding: 0;
    margin: 0;
}

.aigner-mobile-list li {
    margin: 0;
}

.aigner-mobile-list a,
.aigner-mobile-parent {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 21px 0;

    border: 0;

    background: transparent;

    color: #111;

    font-family: inherit;

    font-size: 20px;

    text-decoration: none;

    cursor: pointer;

    text-align: left;
}

.aigner-arrow {
    font-size: 32px;
}

/* Submenu */

.aigner-mobile-submenu {
    position: absolute;

    inset: 0;

    background: #fff;

    padding: 90px 35px 40px;

    overflow-y: auto;

    transform: translateX(100%);

    transition: transform .35s ease;
}

.aigner-mobile-submenu.is-active {
    transform: translateX(0);
}

.aigner-mobile-back {
    border: 0;

    background: transparent;

    font-family: inherit;

    font-size: 20px;

    padding: 0 0 25px;

    cursor: pointer;
}

/* 100% Native Max Mega Menu */

/* Region */

.aigner-region {
    margin-top: 50px;

    padding-top: 25px;

    border-top: 1px solid #eee;

    font-size: 18px;
}

/* =========================================
   MOBILE BREAKPOINT
========================================= */

/* Hide mobile search trigger on desktop */
.aigner-mobile-search-trigger {
    display: none;
}

@media (max-width: 781px) {

    .aigner-search {
        display: none;
    }

    /* Pada mobile, navigasi desktop Max Mega Menu disembunyikan */
    .aigner-desktop-navigation {
        display: none !important;
    }

    /* Styling Max Mega Menu di dalam Mobile Drawer Kustom */
    .aigner-mobile-content .mega-menu-toggle {
        display: none !important;
    }

    .aigner-mobile-content .mega-menu-wrap,
    .aigner-mobile-content #mega-menu-wrap-primary {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    .aigner-mobile-content ul.mega-menu {
        display: block !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .aigner-mobile-content ul.mega-menu>li.mega-menu-item {
        display: block !important;
        width: 100% !important;
        float: none !important;
        border: 0 !important;
        margin: 0 0 10px 0 !important;
        /* Jarak/spacing antar item menu */
    }

    .aigner-mobile-content ul.mega-menu>li.mega-menu-item>a.mega-menu-link {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        color: #111 !important;
        font-size: 15px !important;
        /* Font menu lebih kecil & elegan */
        padding: 12px 0 !important;
        /* Spacing/padding menu */
        background: transparent !important;
        text-transform: uppercase !important;
        font-weight: 500 !important;
        letter-spacing: 0.5px !important;
        text-decoration: none !important;
        border: 0 !important;
    }

    /* Panah Kanan (›) tunggal untuk item yang memiliki submenu */
    .aigner-mobile-content .aigner-arrow {
        font-size: 24px !important;
        color: #111 !important;
        font-weight: 300 !important;
        margin-left: auto !important;
        line-height: 1 !important;
        display: inline-block !important;
        transition: transform 0.25s ease !important;
    }

    /* Rotasi Panah tunggal menjadi mengarah ke bawah (˅) saat submenu terbuka */
    .aigner-mobile-content ul.mega-menu>li.mega-toggle-on>a.mega-menu-link .aigner-arrow,
    .aigner-mobile-content ul.mega-menu>li.mega-menu-open>a.mega-menu-link .aigner-arrow,
    .aigner-mobile-content ul.mega-menu>li.mega-toggle-on .aigner-arrow,
    .aigner-mobile-content ul.mega-menu>li.mega-menu-open .aigner-arrow {
        transform: rotate(90deg) !important;
    }

    /* Submenu container (Accordion Expandable) */
    .aigner-mobile-content ul.mega-menu li.mega-menu-item>ul.mega-sub-menu,
    .aigner-mobile-content ul.mega-menu li.mega-menu-item>div.mega-sub-menu {
        background: #fafafa !important;
        padding: 12px 20px !important;
        margin: 5px 0 12px 0 !important;
        border-left: 2px solid #c3a373 !important;
        box-shadow: none !important;
    }

    .aigner-mobile-content ul.mega-menu li.mega-menu-item>ul.mega-sub-menu a.mega-menu-link,
    .aigner-mobile-content ul.mega-menu li.mega-menu-item>div.mega-sub-menu a {
        color: #444 !important;
        font-size: 13px !important;
        /* Font submenu lebih kecil */
        padding: 8px 0 !important;
        display: block !important;
    }

    /* Tampilkan tombol hamburger ☰ kustom di pojok kiri atas sebelah search */
    .aigner-mobile-trigger {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: 0;
        font-size: 24px;
        cursor: pointer;
        padding: 0;
        color: #111;
        line-height: 1;
    }

    .aigner-mobile-search-trigger {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        background: transparent;
        border: 0;
        font-size: 25px;
        cursor: pointer;
        padding: 0;
        color: #222;
        margin-left: 10px;
    }

    /* Reduce logo size slightly on mobile */
    .aigner-logo img {
        max-width: 90px;
    }

    /* 1. Mengubah tinggi slide menjadi Square (Lebar = Tinggi) */
    .slide-content.video-slide {
        height: 100vw !important;
        /* Tinggi dipaksa sama dengan lebar layar hp */
        min-height: 100vw !important;
    }

    /* 2. Menyesuaikan kontainer video agar memenuhi area square */
    .video-background-container {
        width: 177.77vh !important;
        /* Memaksa video 16:9 tetap melebar keluar */
        height: 100% !important;
        min-height: 100% !important;
        min-width: 177.77% !important;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) scale(1.2);
        /* Sedikit zoom agar area square tertutup penuh oleh video */
    }


    /* 3. Menyesuaikan ukuran teks di mobile agar tidak terlalu besar */
    .slide-overlay h2 {
        font-size: 2rem !important;
        /* Ukuran font judul lebih kecil di HP */
        margin-bottom: 15px;
        letter-spacing: 2px;
    }

    .slide-btn {
        padding: 10px 25px !important;
        font-size: 0.8rem !important;
    }

}

/* =========================================
   DESKTOP
========================================= */

@media (min-width: 782px) {

    .aigner-mobile-menu {
        display: none !important;
    }

    .aigner-mobile-trigger {
        display: none !important;
    }

}

/* ==========================================================================
   Menyembunyikan Judul Halaman di Twenty Twenty-Five Child Theme
   ========================================================================== */

/* Menyembunyikan judul pada semua halaman statis */
/* .page .wp-block-post-title {
    display: none !important;
} */

/* Opsional: Jika Anda juga ingin menghilangkan jarak/margin kosong 
   bekas tempat judul tadi agar konten naik ke atas */
.page .wp-block-post-title+* {
    margin-top: 0 !important;
}

/* Menghapus jarak bawaan (padding/margin) dari template Block Theme 
   agar area konten langsung menempel dengan Header navigasi */
.page .wp-site-blocks,
.page main,
.page .entry-content,
.page .wp-block-group {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Styling Slider Banner Image & Video */
/* Styling Kontainer Slide Utama */
.slide-content.video-slide {
    height: 70vh;
    /* Sesuaikan tinggi banner, misal 70% dari tinggi layar */
    position: relative;
    overflow: hidden;
    /* Sembunyikan bagian video yang meluap */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Membuat Pembungkus Video Responsif (Aspek Rasio 16:9) */
.video-background-container {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 56.25vw;
    /* 100 * 9 / 16 (Rasio 16:9) */
    min-height: 70vh;
    /* Harus sama dengan tinggi .slide-content */
    min-width: 124.44vh;
    /* 70 * 16 / 9 */
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
    /* Mencegah user mengklik video (play/pause manual) */
}


/* Memaksa Iframe Mengisi Kontainer */
.video-background-container iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.slide-content {
    height: 60vh;
    /* Tinggi banner (60% dari tinggi layar) */
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide-overlay {
    text-align: center;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.2);
    /* Gelapkan sedikit background agar teks terbaca */
    padding: 40px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.slide-overlay h2 {
    font-size: 3rem;
    margin-bottom: 20px;
    font-weight: 300;
    letter-spacing: 2px;
}

.slide-btn {
    display: inline-block;
    padding: 12px 30px;
    background: #ffffff;
    color: #000000;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.slide-btn:hover {
    background: #000000;
    color: #ffffff;
}

/* ==========================================================================
   Aigner Footer Styling
   ========================================================================== */

footer.wp-block-group h4.wp-block-heading {
    color: #111111;
    font-family: inherit;
}

footer.wp-block-group p {
    color: #767676;
}

footer.wp-block-group p a {
    color: #767676;
    text-decoration: none;
    transition: color 0.25s ease;
    display: inline-block;
    padding: 3px 0;
}

footer.wp-block-group p a:hover {
    color: #c3a373;
    /* Aigner gold color */
}

/* Make sure footer columns stack correctly and neatly on mobile */
@media (max-width: 781px) {
    footer.wp-block-group .wp-block-columns {
        gap: 30px;
    }

    footer.wp-block-group .wp-block-column {
        margin-bottom: 20px;
    }

    footer.wp-block-group .wp-block-column:last-child {
        margin-bottom: 0;
    }
}

/* ==========================================================================
   Custom Spacing for Footer Elements
   ========================================================================== */

/* Jarak dari garis tipis footer ke tulisan navigasi di bawahnya */
.aigner-footer {
    border-top: 1px solid #eeeeee !important;
    padding-top: 100px !important;
    /* Jarak atas ke tulisan navigasi */
}

/* Blok abu-abu di bagian bawah footer */
.aigner-footer-bottom {
    margin-top: 80px !important;
    /* Jarak antara kolom navigasi atas ke blok abu-abu */
    padding-top: 65px !important;
    /* Jarak dari batas atas blok abu-abu ke tulisan di dalamnya */
    padding-bottom: 65px !important;
    /* Jarak ke batas bawah blok abu-abu */
}

/* Tombol WhatsApp Sticky Floating */
.aigner-wa-sticky {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    z-index: 99999 !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    padding: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.aigner-wa-sticky:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.aigner-wa-sticky img {
    width: 45px !important;
    height: 45px !important;
    margin: 0 !important;
}

/* ADDITIONAL CSS PRODUCT-CATALOG TEMPLATE GUTENBERG */
/* =========================================================
   1. WOOCOMMERCE PRODUCT CATEGORIES LIST (GLOBAL / DESKTOP)
   ========================================================= */

/* Menghilangkan bullet pada WooCommerce Product Categories List */
.wp-block-woocommerce-product-categories,
.wp-block-woocommerce-product-categories ul {
    list-style: none !important;
    list-style-type: none !important;
}

/* Mengatur indentasi sub-kategori */
.wp-block-woocommerce-product-categories ul ul {
    padding-left: 18px !important;
}

/* Sembunyikan Uncategorized secara paksa */
.wp-block-woocommerce-product-categories li:has(a[href*="uncategorized"]) {
    display: none !important;
}


/* Mengatur jarak antar item list kategori */
.wp-block-woocommerce-product-categories li,
.wp-block-categories-list li {
    margin-bottom: 20px !important;
}


/* =========================================================
   2. CUSTOM FILTER BAR (DESKTOP & MOBILE)
   ========================================================= */

/* The actual layout logic is handled below in the Perfect Alignment section */
/* Base Style Box Dropdown & Header */
.custom-select-filter,
.filter-header {
    width: 100% !important;
    padding: 10px 16px !important;
    border: 1px solid #767676 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    font-size: 14px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    outline: none !important;
}

/* Merapikan posisi Arrow di Price ke UJUNG KANAN */
.filter-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    list-style: none !important;
}

.filter-header::-webkit-details-marker {
    display: none !important;
    /* Sembunyikan panah bawaan browser */
}

.filter-header .arrow {
    margin-left: auto !important;
    /* Dorong panah ke paling kanan */
    font-size: 12px !important;
    color: #333333 !important;
}

/* Popover Floating Input Harga */
.filter-popover {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 240px !important;
    background: #ffffff !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 6px !important;
    padding: 15px !important;
    margin-top: 8px !important;
    box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.12) !important;
    z-index: 999 !important;
}

.price-inputs-wrapper {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.price-inputs-wrapper .input-box {
    flex: 1 !important;
}

.price-inputs-wrapper label {
    font-size: 11px !important;
    color: #666666 !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.price-inputs-wrapper input {
    width: 100% !important;
    padding: 8px !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

.apply-filter-btn {
    width: 100% !important;
    background: #111111 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 8px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-weight: 500 !important;
}


/* =========================================================
   3. MOBILE STYLES (< 782px)
   ========================================================= */
@media screen and (max-width: 781px) {

    /* Hide Product Categories List & Pembungkusnya di Mobile */
    .hide-on-mobile,
    .wp-block-woocommerce-product-categories,
    .wc-block-product-categories,
    ul.wc-block-product-categories-list {
        display: none !important;
    }

    /* Filter bar jadi kebawah */
    .custom-fse-filter-bar,
    .custom-fse-filter-bar form {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        row-gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 400px !important;
    }

    .custom-fse-filter-bar .custom-filter-item,
    .custom-fse-filter-bar details,
    .custom-fse-filter-bar details[open] {
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        width: 100% !important;
        height: auto !important;
    }

    .custom-fse-filter-bar select,
    .custom-fse-filter-bar summary,
    .custom-fse-filter-bar input,
    .custom-fse-filter-bar p,
    .custom-fse-filter-bar div {
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .custom-select-filter,
    .filter-header {
        width: 100% !important;
        height: 38px !important;
        line-height: 1.2 !important;
        padding: 6px 10px !important;
    }

    /* Grid 2 Produk Per Baris di Mobile */
    .wp-block-woocommerce-product-collection .wc-block-product-template,
    .wp-block-query .wp-block-post-template {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .wp-block-woocommerce-product-collection .wc-block-product-template>li,
    .wp-block-query .wp-block-post-template>li {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* Perkecil Tombol Add to Cart di Mobile */
    .wp-block-woocommerce-product-collection .add_to_cart_button,
    .wp-block-woocommerce-product-collection .single_add_to_cart_button,
    .wc-block-components-product-button .wc-block-components-product-button__button {
        font-size: 11px !important;
        padding: 6px 10px !important;
        height: auto !important;
        min-height: unset !important;
        line-height: 1.2 !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 4px auto 0 !important;
        display: inline-block !important;
    }

    .wc-block-components-product-button,
    .wp-block-button {
        text-align: center !important;
        width: 100% !important;
    }

    /* =========================================================
   OVERLAY TEKS DI ATAS VIDEO YOUTUBE (MOBILE VERSION)
   ========================================================= */
    .youtube-hero-banner .banner-overlay {
        padding-bottom: 20px;
    }

    .banner-content h2 {
        font-size: 1.4rem;
    }

    .banner-content p {
        font-size: 0.85rem;
        margin-bottom: 12px !important;
    }

}

/* =========================================================
   HIDE PRODUCT TAG / OPTION "HOMEDISPLAY"
   ========================================================= */

/* 1. Sembunyikan jika berbentuk option di dalam dropdown <select> */
.custom-fse-filter-bar select option[value*="homedisplay"],
.custom-fse-filter-bar select option[value*="home-display"] {
    display: none !important;
}

/* 2. Sembunyikan jika berbentuk list/checkbox/link tag */
.custom-fse-filter-bar li:has(a[href*="homedisplay"]),
.custom-fse-filter-bar li:has(input[value*="homedisplay"]),
.wc-block-product-tag-list li:has(a[href*="homedisplay"]) {
    display: none !important;
}

/* =========================================================
   CUSTOM 4-COLUMN PRODUCT FILTER BAR STYLING (PERFECT ALIGNMENT)
   ========================================================= */

/* Ensure parent shortcode wrapper doesn't restrict layout */
.wp-block-shortcode,
.wp-block-shortcode:has(.custom-fse-filter-bar) {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
}

.custom-fse-filter-bar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 15px !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    align-items: flex-start !important;
    box-sizing: border-box !important;
}

.custom-fse-filter-bar .custom-filter-item {
    position: relative !important;
    flex: 1 1 0 !important;
    /* Force equal width */
    width: 100% !important;
    min-width: 0 !important;
    /* Allow shrinking below content size if necessary */
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Reset details tag */
.custom-fse-filter-bar details {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide webkit details arrow marker */
.custom-fse-filter-bar summary::-webkit-details-marker {
    display: none !important;
}

.custom-fse-filter-bar summary {
    list-style: none !important;
}

/* Equal Height & Perfect Alignment for both Select and Summary */
.custom-fse-filter-bar select.custom-select-filter,
.custom-fse-filter-bar summary.filter-header {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    line-height: 42px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: #222222 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Custom background dropdown arrow for Select elements */
.custom-fse-filter-bar select.custom-select-filter {
    background: #ffffff 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='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 15px center !important;
    padding-right: 35px !important;
}

.custom-fse-filter-bar select.custom-select-filter:hover,
.custom-fse-filter-bar summary.filter-header:hover {
    border-color: #888888 !important;
}

.custom-fse-filter-bar details[open] summary.filter-header {
    border-color: #222222 !important;
}

/* Arrow inside summary */
.custom-fse-filter-bar summary.filter-header .arrow {
    font-size: 10px !important;
    color: #555555 !important;
    transition: transform 0.2s ease !important;
}

.custom-fse-filter-bar details[open] summary.filter-header .arrow {
    transform: rotate(180deg) !important;
}

/* Popover Dropdown for Price */
.custom-fse-filter-bar .filter-popover {
    position: absolute !important;
    top: calc(100% + 5px) !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 220px !important;
    background: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
    padding: 16px !important;
    z-index: 9999 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

.custom-fse-filter-bar .price-inputs-wrapper {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.custom-fse-filter-bar .input-box {
    flex: 1 !important;
}

.custom-fse-filter-bar .input-box label {
    font-size: 11px !important;
    display: block !important;
    margin-bottom: 4px !important;
    color: #666666 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.custom-fse-filter-bar .input-box input {
    width: 100% !important;
    height: 36px !important;
    padding: 6px 10px !important;
    border: 1px solid #cccccc !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.custom-fse-filter-bar .apply-filter-btn {
    width: 100% !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 !important;
    background: #222222 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: background-color 0.2s ease !important;
}

.custom-fse-filter-bar .apply-filter-btn:hover {
    background: #000000 !important;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
    .custom-fse-filter-bar {
        flex-wrap: wrap !important;
    }

    .custom-fse-filter-bar .custom-filter-item {
        flex: 1 1 calc(50% - 15px) !important;
    }
}

@media (max-width: 781px) {
    .custom-fse-filter-bar {
        flex-direction: column !important;
    }

    .custom-fse-filter-bar .custom-filter-item {
        flex: 1 1 100% !important;
    }
}

/* END ADDITIONAL CSS PRODUCT-CATALOG TEMPLATE GUTENBERG */

/* =========================================================
   AIGNER MUNICH - MODERN LUXURY AUTHENTICATION & MY ACCOUNT
   ========================================================= */

.woocommerce-account .woocommerce {
    width: 100% !important;
}

.aigner-auth-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 20px 80px 20px !important;
    background: #fdfcfb !important;
    min-height: calc(100vh - 350px) !important;
    box-sizing: border-box !important;
}

.aigner-auth-card {
    width: 100% !important;
    max-width: 480px !important;
    background: #ffffff !important;
    padding: 50px 42px 45px 42px !important;
    border: 1px solid #ebe7df !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.04) !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* Brand Header */
.aigner-auth-header {
    text-align: center !important;
    margin-bottom: 32px !important;
}

.aigner-auth-pretitle {
    display: block !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}

.aigner-auth-title {
    font-size: 26px !important;
    font-weight: 400 !important;
    letter-spacing: 5px !important;
    color: #111111 !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.aigner-auth-subtitle {
    font-size: 11px !important;
    letter-spacing: 3px !important;
    color: #999999 !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    display: block !important;
}

.aigner-auth-divider {
    width: 36px !important;
    height: 1px !important;
    background: #c5a880 !important;
    margin: 18px auto 0 auto !important;
}

/* Tabs */
.aigner-auth-tabs {
    display: flex !important;
    border-bottom: 1px solid #ebe7df !important;
    margin-bottom: 30px !important;
}

.aigner-tab-btn {
    flex: 1 !important;
    padding: 14px 10px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    margin-bottom: -1px !important;
    font-family: 'Jost', sans-serif !important;
}

.aigner-tab-btn:hover {
    color: #111111 !important;
}

.aigner-tab-btn.active {
    color: #111111 !important;
    border-bottom: 2px solid #111111 !important;
}

/* Form Panels */
.aigner-auth-panel {
    display: none;
}

.aigner-auth-panel.active {
    display: block !important;
    animation: aignerAuthFade 0.3s ease-out !important;
}

@keyframes aignerAuthFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.aigner-auth-form {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Field Groups & Inputs */
.aigner-field-group {
    margin-bottom: 20px !important;
    text-align: left !important;
}

.aigner-field-group label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #333333 !important;
    margin-bottom: 8px !important;
}

.aigner-field-group label span.required {
    color: #b38f58 !important;
}

.aigner-label-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 8px !important;
}

.aigner-label-row label {
    margin-bottom: 0 !important;
}

.aigner-forgot-link {
    font-size: 12px !important;
    color: #777777 !important;
    text-decoration: none !important;
    letter-spacing: 0.3px !important;
    transition: color 0.2s ease !important;
}

.aigner-forgot-link:hover {
    color: #111111 !important;
    text-decoration: underline !important;
}

.aigner-input-wrapper input,
.aigner-auth-card input.input-text {
    width: 100% !important;
    height: 48px !important;
    padding: 10px 16px !important;
    background: #ffffff !important;
    border: 1px solid #dcd7ce !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    color: #111111 !important;
    box-sizing: border-box !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    font-family: 'Jost', sans-serif !important;
}

.aigner-input-wrapper input:focus,
.aigner-auth-card input.input-text:focus {
    border-color: #111111 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #111111 !important;
    background: #ffffff !important;
}

.aigner-input-wrapper input::placeholder {
    color: #aaaaaa !important;
    font-size: 13px !important;
}

/* Remember Me Checkbox */
.aigner-remember-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 24px !important;
}

.aigner-checkbox-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: #555555 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.aigner-checkbox-label input[type="checkbox"] {
    accent-color: #111111 !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* Luxury Buttons */
.aigner-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 48px !important;
    line-height: 46px !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    font-family: 'Jost', sans-serif !important;
    text-decoration: none !important;
}

.aigner-btn-primary {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
}

.aigner-btn-primary:hover {
    background: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #2a2a2a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
}

.aigner-btn-outline {
    background: transparent !important;
    color: #111111 !important;
    border: 1px solid #111111 !important;
}

.aigner-btn-outline:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

.aigner-btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Prompt Switchers */
.aigner-switch-prompt {
    text-align: center !important;
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid #f0ece5 !important;
    font-size: 13px !important;
    color: #777777 !important;
}

.aigner-switch-link,
.aigner-back-link {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #111111 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    font-size: 13px !important;
    margin-left: 5px !important;
    letter-spacing: 0.3px !important;
    transition: color 0.2s ease !important;
    font-family: inherit !important;
}

.aigner-switch-link:hover,
.aigner-back-link:hover {
    color: #b38f58 !important;
}

.aigner-auth-desc {
    font-size: 13px !important;
    color: #666666 !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin-bottom: 24px !important;
}

/* Status OTP messages */
.wa-otp-message,
.wa-lost-otp-message {
    display: block !important;
    margin-top: 8px !important;
    font-size: 12px !important;
    letter-spacing: 0.3px !important;
    color: #2e7d32 !important;
}

/* WooCommerce Notices Styling on Auth pages */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    max-width: 480px !important;
    margin: 0 auto 20px auto !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    padding: 14px 20px !important;
    list-style: none !important;
}

@media (max-width: 580px) {
    .aigner-auth-wrapper {
        padding: 30px 15px 50px 15px !important;
    }

    .aigner-auth-card {
        padding: 35px 22px 30px 22px !important;
    }

    .aigner-auth-title {
        font-size: 22px !important;
    }
}

/* =========================================================
   AIGNER MUNICH - LOGGED IN MY ACCOUNT LUXURY DASHBOARD
   ========================================================= */

.aigner-account-wrapper {
    background: #fbfaf8 !important;
    min-height: calc(100vh - 350px) !important;
    padding: 40px 20px 80px 20px !important;
    box-sizing: border-box !important;
}

.aigner-account-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* 1. Hero Welcome Banner */
.aigner-account-hero {
    background: #ffffff !important;
    border: 1px solid #ebe6de !important;
    padding: 32px 36px 28px 36px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
    position: relative !important;
}

.aigner-account-hero-content {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

.aigner-account-badge {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: #b38f58 !important;
    background: #fbf7ef !important;
    padding: 4px 10px !important;
    margin-bottom: 8px !important;
    border: 1px solid #ede3d2 !important;
}

.aigner-account-greeting {
    font-size: 26px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    color: #111111 !important;
    margin: 0 0 4px 0 !important;
    font-family: 'Jost', sans-serif !important;
}

.aigner-account-meta {
    font-size: 13px !important;
    color: #777777 !important;
    letter-spacing: 0.5px !important;
    display: block !important;
}

.aigner-account-logout-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    text-decoration: none !important;
    border: 1px solid #111111 !important;
    padding: 10px 18px !important;
    transition: all 0.25s ease !important;
    font-family: 'Jost', sans-serif !important;
}

.aigner-account-logout-btn:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

.aigner-account-hero-divider {
    width: 100% !important;
    height: 1px !important;
    background: linear-gradient(to right, #b38f58 0%, #ebe6de 50%, transparent 100%) !important;
    margin-top: 24px !important;
    opacity: 0.6 !important;
}

/* 2. Layout Grid (Sidebar + Content) */
.aigner-account-layout {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 30px !important;
    align-items: start !important;
    width: 100% !important;
}

/* 3. Sidebar Navigation - Override WooCommerce Core Floats & 30% Width */
.woocommerce-account .woocommerce-MyAccount-navigation,
.aigner-account-sidebar .woocommerce-MyAccount-navigation,
.aigner-account-nav {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.aigner-account-content .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.aigner-account-sidebar {
    background: #ffffff !important;
    border: 1px solid #ebe6de !important;
    padding: 0 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul,
.aigner-account-nav-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li,
.aigner-account-nav-list li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    display: block !important;
    border-bottom: 1px solid #f5f2ed !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child,
.aigner-account-nav-list li:last-child {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
.aigner-nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 16px 22px !important;
    color: #444444 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    transition: all 0.25s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

.aigner-nav-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 14px !important;
    color: #888888 !important;
    transition: color 0.25s ease !important;
    flex-shrink: 0 !important;
}

.aigner-nav-text {
    flex: 1 1 auto !important;
    white-space: normal !important;
    line-height: 1.4 !important;
}

.aigner-nav-arrow {
    font-size: 16px !important;
    color: #cccccc !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
    margin-left: 10px !important;
    flex-shrink: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover a,
.aigner-nav-link:hover {
    background: #faf8f5 !important;
    color: #111111 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover .aigner-nav-icon,
.aigner-nav-link:hover .aigner-nav-icon {
    color: #111111 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover .aigner-nav-arrow,
.aigner-nav-link:hover .aigner-nav-arrow {
    transform: translateX(3px) !important;
    color: #111111 !important;
}

/* Full Black Selected/Active State */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active,
.aigner-account-nav-list li.is-active {
    background: #111111 !important;
    width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.aigner-account-nav-list li.is-active .aigner-nav-link {
    background: #111111 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a *,
.aigner-account-nav-list li.is-active .aigner-nav-icon,
.aigner-account-nav-list li.is-active .aigner-nav-text,
.aigner-account-nav-list li.is-active .aigner-nav-arrow {
    color: #ffffff !important;
}

/* 4. Main Content Area */
.aigner-account-content {
    background: #ffffff !important;
    border: 1px solid #ebe6de !important;
    padding: 38px 40px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
    min-height: 480px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* 5. Dashboard Overview & Quick Cards */
.aigner-dashboard-intro {
    margin-bottom: 30px !important;
}

.aigner-dashboard-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    color: #111111 !important;
    margin: 30px 0 8px 0 !important;
    text-transform: uppercase !important;
}

.aigner-dashboard-subtitle {
    font-size: 14px !important;
    color: #666666 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.aigner-dashboard-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 20px !important;
    margin-top: 25px !important;
}

.aigner-dash-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 26px 22px !important;
    background: #fdfcfb !important;
    border: 1px solid #eee9e0 !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.aigner-dash-card-icon {
    width: 44px !important;
    height: 44px !important;
    background: #ffffff !important;
    border: 1px solid #ebe5dc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111111 !important;
    margin-bottom: 16px !important;
    transition: all 0.25s ease !important;
}

.aigner-dash-card-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 6px 0 !important;
}

.aigner-dash-card-desc {
    font-size: 13px !important;
    color: #777777 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.aigner-dash-card-arrow {
    margin-top: 18px !important;
    font-size: 18px !important;
    color: #111111 !important;
    transition: transform 0.25s ease !important;
}

.aigner-dash-card:hover {
    background: #ffffff !important;
    border-color: #111111 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06) !important;
}

.aigner-dash-card:hover .aigner-dash-card-icon {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
}

.aigner-dash-card:hover .aigner-dash-card-arrow {
    transform: translateX(4px) !important;
}

.aigner-dash-card--highlight {
    background: #fbf7ef !important;
    border-color: #e5dac7 !important;
}

.aigner-dash-card--highlight .aigner-dash-card-icon {
    border-color: #b38f58 !important;
    color: #b38f58 !important;
}

/* 6. Section Headers */
.aigner-section-header {
    margin-bottom: 28px !important;
    margin-top: 30px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #f0ebe2 !important;
}

.aigner-section-title {
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 6px 0 !important;
}

.aigner-section-desc {
    font-size: 13px !important;
    color: #777777 !important;
    margin: 0 !important;
}

/* 7. Address Grid & Cards */
.aigner-address-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 24px !important;
}

.aigner-address-card {
    background: #fdfcfb !important;
    border: 1px solid #ede7dd !important;
    padding: 24px !important;
}

.aigner-address-card-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #ede7dd !important;
}

.aigner-address-type {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
}

.aigner-address-edit-link {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    color: #b38f58 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: color 0.2s ease !important;
}

.aigner-address-edit-link:hover {
    color: #111111 !important;
    text-decoration: underline !important;
}

.aigner-formatted-address {
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #555555 !important;
}

.aigner-no-address {
    color: #999999 !important;
    font-style: italic !important;
    font-size: 13px !important;
}

/* 8. Edit Account Form */
.aigner-form-row-group {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.aigner-form-divider {
    position: relative !important;
    text-align: center !important;
    margin: 34px 0 24px 0 !important;
}

.aigner-form-divider::before {
    content: '' !important;
    position: absolute !important;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #ede7dd;
    z-index: 1;
}

.aigner-form-divider span {
    position: relative !important;
    background: #ffffff !important;
    padding: 0 16px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    color: #888888 !important;
    text-transform: uppercase !important;
    z-index: 2;
}

.aigner-field-hint {
    display: block !important;
    font-size: 12px !important;
    color: #888888 !important;
    margin-top: 6px !important;
    font-style: italic !important;
}

/* 9. Orders Table Styling */
.woocommerce-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 10px !important;
}

.woocommerce-orders-table th {
    background: #faf8f5 !important;
    padding: 14px 16px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #333333 !important;
    border-bottom: 1px solid #ebe5dc !important;
    text-align: left !important;
}

.woocommerce-orders-table td {
    padding: 16px !important;
    font-size: 13px !important;
    color: #444444 !important;
    border-bottom: 1px solid #f2eee8 !important;
    vertical-align: middle !important;
}

.woocommerce-orders-table tr:hover td {
    background: #fdfcfb !important;
}

.woocommerce-orders-table__cell-order-actions .button {
    background: transparent !important;
    color: #111111 !important;
    border: 1px solid #111111 !important;
    padding: 8px 14px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    transition: all 0.25s ease !important;
}

.woocommerce-orders-table__cell-order-actions .button:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

/* Responsive My Account */
@media (max-width: 900px) {
    .aigner-account-layout {
        grid-template-columns: 1fr !important;
    }

    .aigner-account-content {
        padding: 26px 20px !important;
    }

    .aigner-account-hero {
        padding: 24px 20px !important;
    }

    .aigner-form-row-group {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
}


/* 1. Sembunyikan HANYA tombol Add to Cart dan Input Kuantitas jika belum login */
body:not(.logged-in) .single_add_to_cart_button,
body:not(.logged-in) .quantity,
body:not(.logged-in) .woocommerce-variation-add-to-cart .button {
    display: none !important;
}

/* 2. Pastikan area pilihan Variasi (Color/Size) tetap tampil sempurna */
body:not(.logged-in) .variations_form,
body:not(.logged-in) table.variations,
body:not(.logged-in) .single_variation_wrap {
    display: block !important;
}

/* 3. Styling tombol CHAT & SHOP agar rapi di bawah variasi */
.custom-chat-shop-btn {
    display: inline-block !important;
    /* background-color: #7d7d7d !important; */
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 12px 30px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: center !important;
    border-radius: 0px !important;
    transition: background-color 0.3s ease !important;
}

.custom-chat-shop-btn:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Styling Teks Promo Bank Mega di PDP */
.bank-mega-promo-pdp {
    font-size: 14px !important;
    color: #000000 !important;
    margin-top: 8px !important;
    margin-bottom: 15px !important;
    line-height: 1.4 !important;
}

.bank-mega-promo-pdp b,
.bank-mega-promo-pdp strong {
    font-weight: 700 !important;
}

.bank-mega-promo-pdp a {
    color: #0066cc !important;
    /* Warna biru link Learn More */
    text-decoration: underline !important;
    font-weight: 500 !important;
    margin-left: 3px !important;
}

.bank-mega-promo-pdp a:hover {
    color: #004080 !important;
}

/* =========================================================
   STYLING TEMPLATE WOOCOMMERCE CART & CHECKOUT (NATIVE LOOK)
   ========================================================= */

/* Promo Banner Bank Mega di Cart */
.bankmega-cart-promo-banner {
    background: #fdfaf3;
    border: 1px solid #e7d8b5;
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.bankmega-promo-tag {
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.bankmega-promo-text {
    margin: 0 !important;
    font-size: 13.5px !important;
    color: #444 !important;
    line-height: 1.4 !important;
}

/* Pastikan Halaman Cart & Checkout memiliki lebar luas (Full Width Container 1240px) */
body.woocommerce-cart .wp-site-blocks>*,
body.woocommerce-cart main.wp-block-group,
body.woocommerce-cart .wp-block-group.alignfull,
body.woocommerce-cart .wp-block-post-content,
body.woocommerce-cart .wp-block-post-content.is-layout-constrained,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart :where(.wp-block-post-content.is-layout-constrained)> :not(.alignleft):not(.alignright):not(.alignfull),
body.woocommerce-cart :where(.wp-block-group.is-layout-constrained)> :not(.alignleft):not(.alignright):not(.alignfull),
body.woocommerce-checkout .wp-site-blocks>*,
body.woocommerce-checkout main.wp-block-group,
body.woocommerce-checkout .wp-block-group.alignfull,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-checkout .wp-block-post-content.is-layout-constrained,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout :where(.wp-block-post-content.is-layout-constrained)> :not(.alignleft):not(.alignright):not(.alignfull),
body.woocommerce-checkout :where(.wp-block-group.is-layout-constrained)> :not(.alignleft):not(.alignright):not(.alignfull) {
    max-width: 1240px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


body.woocommerce-cart h1.wp-block-post-title,
body.woocommerce-checkout h1.wp-block-post-title {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 24px !important;
    color: #111 !important;
}

/* =========================================================
   STYLING CART 2 BARIS (ROW 1: TABLE, ROW 2: CART TOTALS)
   ========================================================= */

/* Baris 1: Tabel Produk Keranjang (Full Width Row 1) */
.woocommerce-cart-row-table {
    width: 100% !important;
    margin-bottom: 35px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.woocommerce-cart-form table.shop_table,
.woocommerce table.cart {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;
    background: #fff !important;
    margin-bottom: 0 !important;
}

/* Header Tabel Cart */
.woocommerce table.shop_table thead tr th,
.woocommerce table.cart thead tr th,
.woocommerce-cart-form table.shop_table thead tr th {
    display: table-cell !important;
    background-color: #f8f8f8 !important;
    background: #f8f8f8 !important;
    border-top: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding: 14px 16px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #111 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* Lebar Kolom Header & Body Tabel */
.woocommerce-cart-form table.shop_table th.product-remove,
.woocommerce-cart-form table.shop_table td.product-remove {
    width: 50px !important;
    text-align: center !important;
    padding: 14px 8px !important;
}

.woocommerce-cart-form table.shop_table th.product-thumbnail,
.woocommerce-cart-form table.shop_table td.product-thumbnail {
    width: 90px !important;
    text-align: center !important;
}

.woocommerce-cart-form table.shop_table th.product-name,
.woocommerce-cart-form table.shop_table td.product-name {
    text-align: left !important;
    padding-left: 14px !important;
}

.woocommerce-cart-form table.shop_table th.product-price,
.woocommerce-cart-form table.shop_table td.product-price {
    width: 130px !important;
    text-align: center !important;
}

.woocommerce-cart-form table.shop_table th.product-quantity,
.woocommerce-cart-form table.shop_table td.product-quantity {
    width: 130px !important;
    text-align: center !important;
}

.woocommerce-cart-form table.shop_table th.product-subtotal,
.woocommerce-cart-form table.shop_table td.product-subtotal {
    width: 140px !important;
    text-align: right !important;
    padding-right: 22px !important;
}

/* Isi Baris Tabel Cart (tbody) */
.woocommerce table.shop_table tbody td,
.woocommerce table.cart tbody td,
.woocommerce-cart-form table.shop_table tbody td {
    padding: 18px 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    vertical-align: middle !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

/* Tombol Hapus Produk (Clean Minimalist Circle) */
.woocommerce a.remove,
.woocommerce table.cart a.remove,
.woocommerce-cart-form table.shop_table tbody td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    color: #888 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    border: 1px solid #d5d5d5 !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
    margin: 0 auto !important;
}

.woocommerce a.remove:hover,
.woocommerce table.cart a.remove:hover,
.woocommerce-cart-form table.shop_table tbody td.product-remove a.remove:hover {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}

/* Thumbnail Produk */
.woocommerce-cart-form table.shop_table tbody td.product-thumbnail img,
.woocommerce table.cart tbody td.product-thumbnail img {
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    border: 1px solid #eee !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Nama Produk & Tautan */
.woocommerce table.cart td.product-name a,
.woocommerce-cart-form table.shop_table tbody td.product-name a {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111 !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    display: inline-block !important;
    transition: color 0.2s ease !important;
}

.woocommerce table.cart td.product-name a:hover,
.woocommerce-cart-form table.shop_table tbody td.product-name a:hover {
    color: #555 !important;
    text-decoration: underline !important;
}

.woocommerce-cart-form table.shop_table tbody td.product-name dl.variation,
.woocommerce table.cart tbody td.product-name dl.variation {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 10px !important;
    margin: 5px 0 0 !important;
    font-size: 13px !important;
    color: #666 !important;
    line-height: 1.3 !important;
}

.woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dt,
.woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dd {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kolom Harga */
.woocommerce-cart-form table.shop_table tbody td.product-price,
.woocommerce table.cart tbody td.product-price {
    font-size: 14.5px !important;
    color: #222 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Kolom Kuantitas */
.woocommerce-cart-form table.shop_table tbody td.product-quantity,
.woocommerce table.cart tbody td.product-quantity {
    text-align: center !important;
}

.woocommerce-cart-form table.shop_table tbody td.product-quantity .quantity input.qty,
.woocommerce table.cart tbody td.product-quantity .quantity input.qty {
    width: 52px !important;
    height: 40px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
    margin: 0 auto !important;
    display: inline-block !important;
}

/* Kolom Subtotal */
.woocommerce-cart-form table.shop_table tbody td.product-subtotal,
.woocommerce table.cart tbody td.product-subtotal {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111 !important;
    text-align: right !important;
    padding-right: 22px !important;
    white-space: nowrap !important;
}

/* Form Kupon & Tombol Update Cart (Actions Bar) */
.woocommerce-cart-form td.actions,
.woocommerce table.cart td.actions {
    padding: 16px 20px !important;
    background: #fafafa !important;
    border-bottom: none !important;
    border-top: 1px solid #eee !important;
}

.woocommerce-cart-form .actions .coupon,
.woocommerce table.cart .actions .coupon {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    float: left !important;
}

.woocommerce-cart-form .actions .coupon input.input-text,
.woocommerce table.cart .actions .coupon input.input-text {
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    font-size: 13.5px !important;
    width: 170px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

.woocommerce-cart-form .actions .coupon button.button,
.woocommerce table.cart .actions .coupon button.button {
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 22px !important;
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

.woocommerce-cart-form .actions .coupon button.button:hover,
.woocommerce table.cart .actions .coupon button.button:hover {
    background: #333 !important;
}

.woocommerce-cart-form .actions button[name="update_cart"],
.woocommerce table.cart .actions button[name="update_cart"] {
    float: right !important;
    height: 42px !important;
    line-height: 40px !important;
    padding: 0 22px !important;
    background: #fff !important;
    color: #111 !important;
    border: 1.5px solid #111 !important;
    border-radius: 4px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart-form .actions button[name="update_cart"]:hover,
.woocommerce table.cart .actions button[name="update_cart"]:hover {
    background: #111 !important;
    color: #fff !important;
}

/* =========================================================
   Baris 2: Cart Totals (Row 2 - Right-Aligned at Desktop)
   ========================================================= */
.woocommerce-cart-row-totals {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 30px !important;
    box-sizing: border-box !important;
}

.woocommerce-cart-row-totals .cart-collaterals,
.cart-collaterals {
    width: 480px !important;
    max-width: 100% !important;
    background: #fafafa !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 26px 24px !important;
    box-sizing: border-box !important;
}

.cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cart_totals h2 {
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #111 !important;
    color: #111 !important;
}

.cart_totals table.shop_table,
.cart_totals table.shop_table_cart_totals {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin-bottom: 20px !important;
    table-layout: auto !important;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table_cart_totals th {
    width: 38% !important;
    padding: 13px 10px 13px 0 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #444 !important;
    text-align: left !important;
    border-bottom: 1px solid #ebebeb !important;
    border-top: none !important;
    vertical-align: top !important;
    line-height: 1.4 !important;
}

.cart_totals table.shop_table td,
.cart_totals table.shop_table_cart_totals td {
    width: 62% !important;
    padding: 13px 0 13px 10px !important;
    font-size: 14px !important;
    color: #111 !important;
    text-align: right !important;
    border-bottom: 1px solid #ebebeb !important;
    border-top: none !important;
    vertical-align: top !important;
    line-height: 1.4 !important;
}

.cart_totals table.shop_table tr.shipping td,
.cart_totals table.shop_table_cart_totals tr.shipping td {
    line-height: 1.5 !important;
    font-size: 13px !important;
}

.cart_totals table.shop_table .woocommerce-shipping-destination,
.cart_totals table.shop_table_cart_totals .woocommerce-shipping-destination {
    font-size: 12.5px !important;
    color: #666 !important;
    margin: 6px 0 4px !important;
    line-height: 1.45 !important;
}

.cart_totals table.shop_table a.shipping-calculator-button,
.cart_totals table.shop_table_cart_totals a.shipping-calculator-button {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111 !important;
    text-decoration: underline !important;
    display: inline-block !important;
    margin-top: 4px !important;
}

/* Fee Diskon Bank Mega di Cart Totals */
.cart_totals table.shop_table tr.fee.bankmega-discount-fee th,
.cart_totals table.shop_table_cart_totals tr.fee.bankmega-discount-fee th {
    color: #107c41 !important;
    font-weight: 700 !important;
}

.cart_totals table.shop_table tr.fee.bankmega-discount-fee td,
.cart_totals table.shop_table_cart_totals tr.fee.bankmega-discount-fee td {
    color: #107c41 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td,
.cart_totals table.shop_table_cart_totals tr.order-total th,
.cart_totals table.shop_table_cart_totals tr.order-total td {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #111 !important;
    border-top: 2px solid #111 !important;
    border-bottom: none !important;
    padding-top: 18px !important;
}

.wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    line-height: 50px !important;
    padding: 0 !important;
    text-align: center !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease !important;
    margin-top: 15px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

.wc-proceed-to-checkout a.checkout-button:hover {
    background: #000 !important;
    color: #fff !important;
}


/* =========================================================
   STYLING CHECKOUT 2-KOLOM (NATIVE AIGNER LOOK)
   ========================================================= */

.aigner-checkout-form {
    margin-top: 20px;
}

.aigner-checkout-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 35px;
    align-items: flex-start;
}

/* Kolom Kiri: Form Data Pembeli */
.aigner-checkout-col-left {
    flex: 1 1 56%;
    min-width: 0;
}

.aigner-checkout-col-left h3 {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1.5px solid #111;
    color: #111;
}

.aigner-checkout-col-left .form-row {
    margin-bottom: 14px;
}

.aigner-checkout-col-left label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    margin-bottom: 5px;
}

.aigner-checkout-col-left input.input-text,
.aigner-checkout-col-left textarea,
.aigner-checkout-col-left select {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
    box-sizing: border-box;
    background: #fff;
    transition: border-color 0.2s ease;
}

.aigner-checkout-col-left input.input-text:focus,
.aigner-checkout-col-left textarea:focus,
.aigner-checkout-col-left select:focus {
    border-color: #111;
    outline: none;
}

/* Kolom Kanan: Rincian Pesanan & Pembayaran */
.aigner-checkout-col-right {
    flex: 1 1 38%;
    min-width: 320px;
}

.aigner-order-review-card {
    background: #fbfbfb;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 24px;
}

.aigner-checkout-heading {
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px solid #111 !important;
    color: #111 !important;
}

/* Tabel Review Order */
table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
    padding: 10px 0;
    font-size: 13.5px;
    border-bottom: 1px solid #eee;
}

table.woocommerce-checkout-review-order-table thead th {
    font-size: 12.5px;
    font-weight: 600;
    text-transform: uppercase;
    color: #777;
}

table.woocommerce-checkout-review-order-table td.product-total,
table.woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    color: #111;
}

table.woocommerce-checkout-review-order-table tr.order-total th,
table.woocommerce-checkout-review-order-table tr.order-total td {
    font-size: 16px;
    font-weight: 700;
    border-top: 1.5px solid #111;
    border-bottom: none;
    padding-top: 14px;
}

/* Badge Diskon Bank Mega di Checkout */
.bankmega-fee-badge {
    background: #107c41;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 12px;
    margin-left: 6px;
    letter-spacing: 0.5px;
    display: inline-block;
}

/* Area Pilihan Metode Pembayaran */
.aigner-checkout-payment {
    margin-top: 0px;
    border-top: 1px solid #eee;
    padding-top: 0px;
}

.wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
}

.wc_payment_methods li.wc_payment_method {
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.wc_payment_methods li.wc_payment_method>label {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    cursor: pointer;
    margin-left: 6px;
}

.wc_payment_methods .payment_box {
    margin-top: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    font-size: 13px;
    color: #555;
}

/* Tombol Buat Pesanan (Place Order) */
button#place_order.aigner-place-order-btn,
button#place_order {
    width: 100% !important;
    background: #111 !important;
    color: #fff !important;
    padding: 16px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

button#place_order:hover {
    background: #000 !important;
}

/* Responsif Mobile & Tablet untuk Halaman Cart & Checkout */
@media (max-width: 991px) {
    .aigner-checkout-layout {
        flex-direction: column !important;
        gap: 25px !important;
    }

    .aigner-checkout-col-left,
    .aigner-checkout-col-right {
        width: 100% !important;
        min-width: 100% !important;
        flex: 1 1 100% !important;
    }

    .woocommerce-cart-row-totals {
        justify-content: stretch !important;
    }

    .woocommerce-cart-row-totals .cart-collaterals,
    .cart-collaterals {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {

    /* Hilangkan Scroll Horizontal pada Container */
    .woocommerce-cart-row-table {
        margin-bottom: 25px !important;
        overflow-x: visible !important;
    }

    /* Ubah Tabel Cart Menjadi Struktur Kartu di Mobile */
    .woocommerce-cart-form table.shop_table,
    .woocommerce table.cart {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    /* Sembunyikan Header Kolom Tabel di Mobile */
    .woocommerce-cart-form table.shop_table thead,
    .woocommerce table.cart thead {
        display: none !important;
    }

    .woocommerce-cart-form table.shop_table tbody,
    .woocommerce table.cart tbody {
        display: block !important;
        width: 100% !important;
    }

    /* Setiap Baris Produk Menjadi Sebuah Kartu (Mobile Card Item) */
    .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item,
    .woocommerce table.cart tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 85px 1fr !important;
        grid-template-areas:
            "thumb name"
            "thumb price"
            "thumb qty"
            "thumb subtotal" !important;
        column-gap: 14px !important;
        row-gap: 6px !important;
        position: relative !important;
        background: #fff !important;
        border: 1px solid #e8e8e8 !important;
        border-radius: 8px !important;
        padding: 14px !important;
        margin-bottom: 14px !important;
        box-sizing: border-box !important;
    }

    /* Tombol Hapus Produk (Pojok Kanan Atas Kartu) */
    .woocommerce-cart-form table.shop_table tbody td.product-remove,
    .woocommerce table.cart tbody td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        z-index: 2 !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-remove a.remove,
    .woocommerce table.cart tbody td.product-remove a.remove {
        width: 24px !important;
        height: 24px !important;
        font-size: 15px !important;
        border-color: #ddd !important;
    }

    /* Thumbnail Gambar Produk (Tampil Jelas di Kiri Kartu) */
    .woocommerce-cart-form table.shop_table tbody td.product-thumbnail,
    .woocommerce table.cart tbody td.product-thumbnail {
        grid-area: thumb !important;
        display: block !important;
        width: 85px !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img,
    .woocommerce table.cart tbody td.product-thumbnail img {
        width: 85px !important;
        height: 85px !important;
        object-fit: cover !important;
        border-radius: 6px !important;
        border: 1px solid #eee !important;
        display: block !important;
        margin: 0 !important;
    }

    /* Nama Produk & Variasi */
    .woocommerce-cart-form table.shop_table tbody td.product-name,
    .woocommerce table.cart tbody td.product-name {
        grid-area: name !important;
        display: block !important;
        padding: 0 28px 0 0 !important;
        border: none !important;
        background: transparent !important;
        text-align: left !important;
    }

    .woocommerce table.cart td.product-name a,
    .woocommerce-cart-form table.shop_table tbody td.product-name a {
        font-size: 14.5px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation,
    .woocommerce table.cart tbody td.product-name dl.variation {
        margin: 3px 0 0 !important;
        font-size: 12px !important;
        gap: 3px 6px !important;
    }

    /* Harga Produk */
    .woocommerce-cart-form table.shop_table tbody td.product-price,
    .woocommerce table.cart tbody td.product-price {
        grid-area: price !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        font-size: 13.5px !important;
        color: #444 !important;
        text-align: left !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-price::before,
    .woocommerce table.cart tbody td.product-price::before {
        content: "Price: " !important;
        font-weight: 500 !important;
        color: #777 !important;
        margin-right: 4px !important;
        font-size: 12.5px !important;
    }

    /* Kuantitas Produk */
    .woocommerce-cart-form table.shop_table tbody td.product-quantity,
    .woocommerce table.cart tbody td.product-quantity {
        grid-area: qty !important;
        display: flex !important;
        align-items: center !important;
        padding: 2px 0 !important;
        border: none !important;
        background: transparent !important;
        text-align: left !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-quantity::before,
    .woocommerce table.cart tbody td.product-quantity::before {
        content: "Qty: " !important;
        font-weight: 500 !important;
        color: #777 !important;
        margin-right: 6px !important;
        font-size: 12.5px !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-quantity .quantity input.qty,
    .woocommerce table.cart tbody td.product-quantity .quantity input.qty {
        width: 48px !important;
        height: 34px !important;
        font-size: 13.5px !important;
        margin: 0 !important;
    }

    /* Subtotal Baris Produk */
    .woocommerce-cart-form table.shop_table tbody td.product-subtotal,
    .woocommerce table.cart tbody td.product-subtotal {
        grid-area: subtotal !important;
        display: flex !important;
        align-items: center !important;
        padding: 6px 0 0 !important;
        border: none !important;
        border-top: 1px dashed #eee !important;
        background: transparent !important;
        font-size: 14.5px !important;
        font-weight: 700 !important;
        color: #111 !important;
        text-align: left !important;
    }

    .woocommerce-cart-form table.shop_table tbody td.product-subtotal::before,
    .woocommerce table.cart tbody td.product-subtotal::before {
        content: "Subtotal: " !important;
        font-weight: 600 !important;
        color: #555 !important;
        margin-right: 6px !important;
        font-size: 13px !important;
    }

    /* Baris Form Kupon & Tombol Update Cart di Mobile */
    .woocommerce-cart-form table.shop_table tbody tr:has(td.actions),
    .woocommerce-cart-form table.shop_table tbody tr:last-child {
        display: block !important;
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin-top: 10px !important;
    }

    .woocommerce-cart-form td.actions,
    .woocommerce table.cart td.actions {
        display: block !important;
        width: 100% !important;
        padding: 16px !important;
        background: #fafafa !important;
        border: 1px solid #e8e8e8 !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart-form .actions .coupon,
    .woocommerce table.cart .actions .coupon {
        width: 100% !important;
        margin-bottom: 12px !important;
        float: none !important;
        display: flex !important;
        gap: 8px !important;
    }

    .woocommerce-cart-form .actions .coupon input.input-text,
    .woocommerce table.cart .actions .coupon input.input-text {
        flex: 1 !important;
        width: 100% !important;
        height: 42px !important;
        font-size: 13px !important;
    }

    .woocommerce-cart-form .actions .coupon button.button,
    .woocommerce table.cart .actions .coupon button.button {
        height: 42px !important;
        padding: 0 16px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart-form .actions button[name="update_cart"],
    .woocommerce table.cart .actions button[name="update_cart"] {
        width: 100% !important;
        float: none !important;
        height: 42px !important;
        display: block !important;
    }

    /* Cart Totals di Mobile */
    .woocommerce-cart-row-totals {
        margin-top: 20px !important;
    }

    .woocommerce-cart-row-totals .cart-collaterals,
    .cart-collaterals {
        padding: 20px 16px !important;
        border-radius: 8px !important;
    }
}

/* =========================================================================
   LUXURY AIGNER VIEW ORDER STYLES
   - Refined typography & smaller font size
   - Mobile responsive cards & flexible layout
   - Elegant luxury minimalist aesthetic
   ========================================================================= */

.aigner-vo-wrapper {
    font-family: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    width: 100% !important;
    box-sizing: border-box !important;
    color: #333333 !important;
}

/* 1. Top Navigation & Action Bar */
.aigner-vo-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
    margin-top: 22px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #f0ebe2 !important;
}

.aigner-vo-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #666666 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.aigner-vo-back-btn:hover {
    color: #111111 !important;
    transform: translateX(-3px) !important;
}

.aigner-vo-topbar-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aigner-vo-print-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #666666 !important;
    background: #faf8f5 !important;
    border: 1px solid #e8e2d8 !important;
    padding: 7px 14px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1 !important;
}

.aigner-vo-print-btn:hover {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
}

/* 2. Order Header & Status Badge */
.aigner-vo-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 22px !important;
}

.aigner-vo-eyebrow {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #b38f58 !important;
    margin-bottom: 4px !important;
}

.aigner-vo-title {
    font-size: 20px !important;
    font-weight: 500 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.25 !important;
}

.aigner-vo-subtitle {
    font-size: 12px !important;
    color: #777777 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.aigner-vo-status-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    background: #f4f1ea !important;
    color: #444444 !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.aigner-vo-status-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    display: inline-block !important;
    background: currentColor !important;
}

.aigner-vo-status-badge--completed {
    background: #edf7ee !important;
    color: #1e7e34 !important;
    border-color: #c3e6cb !important;
}

.aigner-vo-status-badge--processing {
    background: #fdf8eb !important;
    color: #9d7328 !important;
    border-color: #f7e6be !important;
}

.aigner-vo-status-badge--on-hold {
    background: #eef4fc !important;
    color: #1f579c !important;
    border-color: #c9ddf7 !important;
}

.aigner-vo-status-badge--pending {
    background: #fff9e6 !important;
    color: #856404 !important;
    border-color: #ffeeba !important;
}

.aigner-vo-status-badge--failed,
.aigner-vo-status-badge--cancelled {
    background: #fdf2f2 !important;
    color: #a71d2a !important;
    border-color: #f8d7da !important;
}

/* 3. Four-Column Quick Metric Summary */
.aigner-vo-stats {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 14px !important;
    margin-bottom: 22px !important;
}

.aigner-vo-stat-card {
    background: #fdfcfb !important;
    border: 1px solid #ebe5dc !important;
    padding: 14px 16px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.aigner-vo-stat-card:hover {
    border-color: #111111 !important;
    transform: translateY(-1px) !important;
}

.aigner-vo-stat-label {
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    margin-bottom: 5px !important;
}

.aigner-vo-stat-value {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

.aigner-vo-stat-value--total {
    color: #111111 !important;
}

.aigner-vo-stat-value .woocommerce-Price-amount {
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* 4. Order Status Notice Box */
.aigner-vo-notice {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #faf8f5 !important;
    border: 1px solid #e8e2d8 !important;
    border-left: 3px solid #111111 !important;
    margin-bottom: 26px !important;
    font-size: 12.5px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
}

.aigner-vo-notice-icon {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111111 !important;
}

.aigner-vo-order-tag,
.aigner-vo-date-tag,
.aigner-vo-status-tag {
    font-weight: 600 !important;
    color: #111111 !important;
}

.aigner-vo-notice--failed,
.aigner-vo-notice--cancelled {
    border-left-color: #a71d2a !important;
}

.aigner-vo-notice--completed {
    border-left-color: #1e7e34 !important;
}

/* 5. Sections General Styling */
.aigner-vo-section {
    margin-bottom: 28px !important;
}

.aigner-vo-section-header {
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0ebe2 !important;
}

.aigner-vo-section-title {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aigner-vo-section-title svg {
    color: #888888 !important;
}

.aigner-vo-count-tag {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #888888 !important;
}

/* 6. Desktop Items Table */
.aigner-vo-table-container {
    width: 100% !important;
    overflow-x: auto !important;
    border: 1px solid #ebe5dc !important;
    background: #ffffff !important;
}

.aigner-vo-items-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    font-size: 12.5px !important;
}

.aigner-vo-items-table thead tr th {
    background: #faf8f5 !important;
    color: #777777 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 11px 16px !important;
    border-bottom: 1px solid #ebe5dc !important;
    border-top: none !important;
    text-align: left !important;
}

.aigner-vo-items-table tbody tr td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #f0ebe2 !important;
    border-top: none !important;
    vertical-align: middle !important;
    color: #444444 !important;
    background: #ffffff !important;
}

.aigner-vo-items-table tbody tr:last-child td {
    border-bottom: none !important;
}

.aigner-vo-items-table th.col-price,
.aigner-vo-items-table td.col-price,
.aigner-vo-items-table th.col-qty,
.aigner-vo-items-table td.col-qty,
.aigner-vo-items-table th.col-total,
.aigner-vo-items-table td.col-total {
    text-align: right !important;
    white-space: nowrap !important;
}

.aigner-vo-product-cell {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.aigner-vo-thumb {
    width: 56px !important;
    height: 56px !important;
    border: 1px solid #ede7dd !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.aigner-vo-thumb a,
.aigner-vo-thumb-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.aigner-vo-product-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.aigner-vo-item-title {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.35 !important;
}

.aigner-vo-item-title a {
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.aigner-vo-item-title a:hover {
    color: #b38f58 !important;
}

.aigner-vo-item-sku {
    display: block !important;
    font-size: 11px !important;
    color: #888888 !important;
    margin-bottom: 2px !important;
}

.aigner-vo-item-meta {
    font-size: 11.5px !important;
    color: #666666 !important;
    margin-top: 4px !important;
}

.aigner-vo-item-meta p,
.aigner-vo-item-meta ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.aigner-vo-unit-price,
.aigner-vo-line-total {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
}

.aigner-vo-qty-val {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

.aigner-vo-qty-refunded {
    display: block !important;
    font-size: 10.5px !important;
    color: #a71d2a !important;
}

/* 7. Mobile Items Cards (< 768px) */
.aigner-vo-mobile-items {
    display: none !important;
}

.aigner-vo-mobile-card {
    background: #fdfcfb !important;
    border: 1px solid #ebe5dc !important;
    padding: 14px !important;
    box-sizing: border-box !important;
}

.aigner-vo-mobile-card-top {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    margin-bottom: 12px !important;
}

.aigner-vo-mobile-thumb {
    width: 64px !important;
    height: 64px !important;
    border: 1px solid #ede7dd !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.aigner-vo-mobile-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.aigner-vo-mobile-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.aigner-vo-mobile-name {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.35 !important;
}

.aigner-vo-mobile-name a {
    color: #111111 !important;
    text-decoration: none !important;
}

.aigner-vo-mobile-meta {
    font-size: 11.5px !important;
    color: #777777 !important;
    margin-bottom: 6px !important;
}

.aigner-vo-mobile-pricing {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: #666666 !important;
}

.aigner-vo-mobile-qty {
    font-weight: 600 !important;
    color: #111111 !important;
}

.aigner-vo-mobile-card-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 10px !important;
    border-top: 1px dashed #eae5dc !important;
}

.aigner-vo-mobile-subtotal-label {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #777777 !important;
}

.aigner-vo-mobile-subtotal-val {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

/* 8. Summary Grid: Left (Notes/Actions) + Right (Totals) */
.aigner-vo-summary-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px !important;
    margin-bottom: 28px !important;
    align-items: start !important;
}

.aigner-vo-summary-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.aigner-vo-card-header-mini {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #ebe5dc !important;
}

.aigner-vo-card-header-mini svg {
    color: #888888 !important;
}

.aigner-vo-customer-note-card,
.aigner-vo-actions-card {
    background: #fdfcfb !important;
    border: 1px solid #ebe5dc !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
}

.aigner-vo-customer-note-body {
    font-size: 12.5px !important;
    color: #555555 !important;
    line-height: 1.5 !important;
}

.aigner-vo-actions-list {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.aigner-vo-concierge-card {
    background: #faf8f5 !important;
    border: 1px solid #e8e2d8 !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
}

.aigner-vo-concierge-inner {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

.aigner-vo-concierge-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #e2dbcf !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111111 !important;
    flex-shrink: 0 !important;
}

.aigner-vo-concierge-body {
    flex: 1 1 auto !important;
}

.aigner-vo-concierge-title {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin-bottom: 4px !important;
}

.aigner-vo-concierge-desc {
    font-size: 11.5px !important;
    color: #666666 !important;
    line-height: 1.4 !important;
    margin: 0 0 8px 0 !important;
}

.aigner-vo-concierge-link {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #b38f58 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.aigner-vo-concierge-link:hover {
    color: #111111 !important;
    text-decoration: underline !important;
}

/* 9. Payment Summary & Totals */
.aigner-vo-totals-card {
    background: #fdfcfb !important;
    border: 1px solid #ebe5dc !important;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
}

.aigner-vo-totals-header {
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #ebe5dc !important;
}

.aigner-vo-totals-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 !important;
}

.aigner-vo-totals-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
}

.aigner-vo-total-row th.total-label {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #666666 !important;
    padding: 7px 0 !important;
    border: none !important;
    text-align: left !important;
    background: transparent !important;
}

.aigner-vo-total-row td.total-val {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    padding: 7px 0 !important;
    border: none !important;
    text-align: right !important;
    background: transparent !important;
}

.aigner-vo-total-row.is-discount td.total-val,
.aigner-vo-total-row.is-discount td.total-val * {
    color: #1e7e34 !important;
    font-weight: 600 !important;
}

.aigner-vo-total-row.is-grand-total {
    border-top: 1px solid #111111 !important;
}

.aigner-vo-total-row.is-grand-total th.total-label {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding-top: 14px !important;
}

.aigner-vo-total-row.is-grand-total td.total-val,
.aigner-vo-total-row.is-grand-total td.total-val .woocommerce-Price-amount {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    padding-top: 14px !important;
}

/* 10. Addresses Section */
.aigner-vo-addresses-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}

.aigner-vo-addresses-grid.no-shipping {
    grid-template-columns: 1fr !important;
    max-width: 500px !important;
}

.aigner-vo-address-card {
    background: #fdfcfb !important;
    border: 1px solid #ebe5dc !important;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
}

.aigner-vo-address-header {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #ebe5dc !important;
}

.aigner-vo-address-badge {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
}

.aigner-vo-address-text {
    font-style: normal !important;
    font-size: 12.5px !important;
    line-height: 1.6 !important;
    color: #555555 !important;
    margin: 0 !important;
}

.aigner-vo-address-contact {
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px dashed #eae5dc !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.aigner-vo-contact-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: #555555 !important;
}

.aigner-vo-contact-row svg {
    color: #888888 !important;
    flex-shrink: 0 !important;
}

/* 11. Timeline / Notes Section */
.aigner-vo-timeline {
    position: relative !important;
    padding-left: 20px !important;
    margin-top: 14px !important;
}

.aigner-vo-timeline::before {
    content: '' !important;
    position: absolute !important;
    left: 4px !important;
    top: 6px !important;
    bottom: 6px !important;
    width: 1px !important;
    background: #ebe5dc !important;
}

.aigner-vo-timeline-item {
    position: relative !important;
    margin-bottom: 16px !important;
}

.aigner-vo-timeline-item:last-child {
    margin-bottom: 0 !important;
}

.aigner-vo-timeline-dot {
    position: absolute !important;
    left: -20px !important;
    top: 5px !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #111111 !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 0 0 1px #ebe5dc !important;
}

.aigner-vo-timeline-date {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    margin-bottom: 4px !important;
}

.aigner-vo-timeline-content {
    font-size: 12px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
    background: #faf8f5 !important;
    border: 1px solid #ebe5dc !important;
    padding: 10px 14px !important;
}

/* 12. Button Utilities */
.aigner-vo-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 10px 18px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
}

.aigner-vo-btn--primary {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
}

.aigner-vo-btn--primary:hover {
    background: #333333 !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

.aigner-vo-btn--outline {
    background: transparent !important;
    color: #111111 !important;
    border: 1px solid #111111 !important;
}

.aigner-vo-btn--outline:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

.aigner-vo-btn--sm {
    padding: 6px 12px !important;
    font-size: 10.5px !important;
}

/* 13. Empty State */
.aigner-vo-empty {
    text-align: center !important;
    padding: 50px 20px !important;
}

.aigner-vo-empty-icon {
    margin-bottom: 16px !important;
    color: #888888 !important;
}

.aigner-vo-empty-title {
    font-size: 18px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
}

.aigner-vo-empty-desc {
    font-size: 13px !important;
    color: #666666 !important;
    max-width: 420px !important;
    margin: 0 auto 20px auto !important;
    line-height: 1.5 !important;
}

/* =========================================================================
   RESPONSIVE ADAPTATIONS
   ========================================================================= */

@media (max-width: 991px) {
    .aigner-vo-stats {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .aigner-vo-summary-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
}

@media (max-width: 767px) {
    .aigner-account-content {
        padding: 22px 18px !important;
    }

    .aigner-vo-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .aigner-vo-title {
        font-size: 18px !important;
    }

    /* Switch desktop table to mobile card list */
    .aigner-vo-table-container {
        display: none !important;
    }

    .aigner-vo-mobile-items {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .aigner-vo-addresses-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .aigner-vo-actions-list {
        flex-direction: column !important;
    }

    .aigner-vo-actions-list .aigner-vo-btn {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .aigner-vo-stats {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .aigner-vo-stat-card {
        padding: 12px 14px !important;
    }

    .aigner-vo-topbar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .aigner-vo-topbar-actions {
        width: 100% !important;
    }

    .aigner-vo-print-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

@media print {

    .aigner-account-sidebar,
    .aigner-vo-topbar,
    .aigner-vo-concierge-card,
    .aigner-vo-actions-card {
        display: none !important;
    }

    .aigner-account-content {
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .aigner-vo-wrapper {
        color: #000000 !important;
    }
}

/* =========================================================================
   LUXURY AIGNER ORDER PAY (FORM-PAY) STYLES
   - Refined typography & smaller font sizes
   - Payment failure notice & elegant card layout
   - Mobile responsive cards & flexible columns
   ========================================================================= */

.aigner-pay-wrapper {
    font-family: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    width: 100% !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 24px 20px 60px 20px !important;
    box-sizing: border-box !important;
    color: #333333 !important;
}

/* 1. Top Navigation Bar */
.aigner-pay-topbar {
    margin-bottom: 20px !important;
}

.aigner-pay-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #666666 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.aigner-pay-back-btn:hover {
    color: #111111 !important;
    transform: translateX(-3px) !important;
}

/* 2. Payment Failure Alert Banner */
.aigner-pay-alert-banner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    background: #fffdfd !important;
    border: 1px solid #f3d4d6 !important;
    border-left: 4px solid #b82835 !important;
    padding: 14px 18px !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

.aigner-pay-alert-icon {
    color: #b82835 !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.aigner-pay-alert-content {
    flex: 1 1 auto !important;
}

.aigner-pay-alert-title {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #a71d2a !important;
    margin-bottom: 3px !important;
}

.aigner-pay-alert-message {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #333333 !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

/* 3. Header & Total Due Badge */
.aigner-pay-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-bottom: 26px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #f0ebe2 !important;
}

.aigner-pay-eyebrow {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #b38f58 !important;
    margin-bottom: 4px !important;
}

.aigner-pay-title {
    font-size: 22px !important;
    font-weight: 500 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.25 !important;
}

.aigner-pay-subtitle {
    font-size: 12px !important;
    color: #777777 !important;
    margin: 0 !important;
}

.aigner-pay-total-badge {
    background: #fdfcfb !important;
    border: 1px solid #ebe5dc !important;
    padding: 10px 18px !important;
    text-align: right !important;
    display: block !important;
}

.aigner-pay-total-badge .label {
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    margin-bottom: 2px !important;
}

.aigner-pay-total-badge .value,
.aigner-pay-total-badge .value .woocommerce-Price-amount {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

/* 4. Two-Column Layout */
.aigner-pay-layout {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr !important;
    gap: 28px !important;
    align-items: start !important;
}

/* 5. Left Column Cards */
.aigner-pay-card {
    background: #ffffff !important;
    border: 1px solid #ebe5dc !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

.aigner-pay-card-header {
    padding: 12px 18px !important;
    border-bottom: 1px solid #f0ebe2 !important;
    background: #faf8f5 !important;
}

.aigner-pay-card-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aigner-pay-card-title svg {
    color: #888888 !important;
}

.aigner-pay-card-title .count {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #888888 !important;
}

.aigner-pay-card-body {
    padding: 16px 18px !important;
}

/* 6. Items Table */
.aigner-pay-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
}

.aigner-pay-items-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
}

.aigner-pay-items-table thead tr th {
    background: #faf8f5 !important;
    color: #777777 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #ebe5dc !important;
    border-top: none !important;
    text-align: left !important;
}

.aigner-pay-items-table tbody tr td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #f0ebe2 !important;
    border-top: none !important;
    vertical-align: middle !important;
    font-size: 12.5px !important;
    color: #444444 !important;
}

.aigner-pay-items-table tbody tr:last-child td {
    border-bottom: none !important;
}

.aigner-pay-items-table th.col-qty,
.aigner-pay-items-table td.col-qty,
.aigner-pay-items-table th.col-total,
.aigner-pay-items-table td.col-total {
    text-align: right !important;
    white-space: nowrap !important;
}

.aigner-pay-product-cell {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.aigner-pay-thumb {
    width: 52px !important;
    height: 52px !important;
    border: 1px solid #ede7dd !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.aigner-pay-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.aigner-pay-product-name {
    display: block !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    line-height: 1.35 !important;
}

.aigner-pay-product-meta {
    font-size: 11px !important;
    color: #777777 !important;
    margin-top: 3px !important;
}

.aigner-pay-product-meta p,
.aigner-pay-product-meta ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.aigner-pay-qty {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

.aigner-pay-line-total,
.aigner-pay-line-total .woocommerce-Price-amount {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

/* 7. Mobile Items (< 768px) */
.aigner-pay-mobile-items {
    display: none !important;
}

.aigner-pay-mobile-item-card {
    display: flex !important;
    gap: 12px !important;
    padding: 12px !important;
    border-bottom: 1px solid #f0ebe2 !important;
}

.aigner-pay-mobile-item-card:last-child {
    border-bottom: none !important;
}

.aigner-pay-mobile-thumb {
    width: 56px !important;
    height: 56px !important;
    border: 1px solid #ede7dd !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
}

.aigner-pay-mobile-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.aigner-pay-mobile-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.aigner-pay-mobile-name {
    display: block !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin-bottom: 4px !important;
}

.aigner-pay-mobile-meta {
    font-size: 11px !important;
    color: #777777 !important;
    margin-bottom: 6px !important;
}

.aigner-pay-mobile-pricing {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 12px !important;
}

.aigner-pay-mobile-pricing .qty {
    font-weight: 600 !important;
    color: #777777 !important;
}

.aigner-pay-mobile-pricing .total {
    font-weight: 600 !important;
    color: #111111 !important;
}

/* 8. Totals Breakdown */
.aigner-pay-totals-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
}

.aigner-pay-total-row th.total-label {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #666666 !important;
    padding: 6px 0 !important;
    border: none !important;
    text-align: left !important;
    background: transparent !important;
}

.aigner-pay-total-row td.total-val {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    padding: 6px 0 !important;
    border: none !important;
    text-align: right !important;
    background: transparent !important;
}

.aigner-pay-total-row.is-discount td.total-val,
.aigner-pay-total-row.is-discount td.total-val * {
    color: #1e7e34 !important;
    font-weight: 600 !important;
}

.aigner-pay-total-row.is-grand-total {
    border-top: 1px solid #111111 !important;
}

.aigner-pay-total-row.is-grand-total th.total-label {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding-top: 12px !important;
}

.aigner-pay-total-row.is-grand-total td.total-val,
.aigner-pay-total-row.is-grand-total td.total-val .woocommerce-Price-amount {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    padding-top: 12px !important;
}

/* 9. Addresses Card */
.aigner-pay-addresses-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    padding: 16px 18px !important;
}

.aigner-pay-address-heading {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin-bottom: 6px !important;
}

.aigner-pay-address-text {
    font-style: normal !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    color: #666666 !important;
    margin: 0 !important;
}

/* 10. Right Column: Payment Box */
.aigner-pay-payment-box {
    background: #ffffff !important;
    border: 1px solid #ebe5dc !important;
    padding: 22px 24px !important;
    box-sizing: border-box !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.03) !important;
}

.aigner-pay-payment-header {
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #f0ebe2 !important;
}

.aigner-pay-payment-eyebrow {
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #b38f58 !important;
    margin-bottom: 4px !important;
}

.aigner-pay-payment-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 6px 0 !important;
}

.aigner-pay-payment-desc {
    font-size: 11.5px !important;
    color: #777777 !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

.aigner-pay-wrapper #payment ul.wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 18px 0 !important;
}

.aigner-pay-wrapper #payment ul.wc_payment_methods li.wc_payment_method {
    border: 1px solid #ebe5dc !important;
    background: #fdfcfb !important;
    margin-bottom: 10px !important;
    padding: 12px 14px !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
}

.aigner-pay-wrapper #payment ul.wc_payment_methods li.wc_payment_method:hover {
    border-color: #111111 !important;
}

.aigner-pay-wrapper #payment ul.wc_payment_methods li.wc_payment_method>label {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aigner-pay-wrapper #payment ul.wc_payment_methods li.wc_payment_method>label img {
    max-height: 22px !important;
    width: auto !important;
}

.aigner-pay-wrapper #payment .payment_box {
    background: #faf8f5 !important;
    border: 1px solid #e8e2d8 !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    font-size: 11.5px !important;
    color: #555555 !important;
    line-height: 1.5 !important;
}

.aigner-pay-submit-row {
    margin-top: 16px !important;
    padding: 0 !important;
}

.aigner-pay-actions-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

.aigner-pay-submit-btn,
button#place_order.aigner-pay-submit-btn {
    width: 100% !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 14px 20px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.aigner-pay-submit-btn:hover,
button#place_order.aigner-pay-submit-btn:hover {
    background: #333333 !important;
}

.aigner-pay-cancel-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    text-decoration: none !important;
    padding: 6px 0 !important;
    transition: color 0.2s ease !important;
}

.aigner-pay-cancel-btn:hover {
    color: #111111 !important;
    text-decoration: underline !important;
}

.aigner-pay-trust-strip {
    margin-top: 22px !important;
    padding-top: 16px !important;
    border-top: 1px solid #f0ebe2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.aigner-pay-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 11px !important;
    color: #777777 !important;
}

.aigner-pay-trust-item svg {
    color: #b38f58 !important;
    flex-shrink: 0 !important;
}

/* =========================================================================
   FORM-PAY RESPONSIVE RULES
   ========================================================================= */

@media (max-width: 991px) {
    .aigner-pay-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

@media (max-width: 767px) {
    .aigner-pay-wrapper {
        padding: 18px 14px 40px 14px !important;
    }

    .aigner-pay-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .aigner-pay-title {
        font-size: 18px !important;
    }

    .aigner-pay-total-badge {
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Switch desktop table to mobile card list */
    .aigner-pay-table-wrap {
        display: none !important;
    }

    .aigner-pay-mobile-items {
        display: block !important;
    }

    .aigner-pay-addresses-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .aigner-pay-payment-box {
        padding: 18px 16px !important;
    }
}