/* PRIMEMIX brand polish - Batch 24 SAFE */
:root {
    --pmx-black: #080808;
    --pmx-ink: #111111;
    --pmx-gold: #d8a93a;
    --pmx-gold-soft: #f4d77b;
    --pmx-white: #ffffff;
    --pmx-broken-white: #fbfaf7;
    --pmx-muted: #6f6a60;
}

html { scroll-behavior: smooth; }
body { text-rendering: geometricPrecision; -webkit-font-smoothing: antialiased; }
.pmx-final-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.pmx-legal-strip { border-top: 1px solid rgba(216, 169, 58, .24); background: linear-gradient(135deg, #0a0a0a, #17120a); color: rgba(255,255,255,.78); padding: 18px 0; font-size: 13px; line-height: 1.65; }
.pmx-legal-strip strong { color: var(--pmx-gold-soft); }
.pmx-floating-wa { position: fixed; right: 18px; bottom: 18px; z-index: 60; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 13px 18px; background: linear-gradient(135deg, var(--pmx-gold-soft), var(--pmx-gold)); color: #0a0a0a; font-weight: 950; text-decoration: none; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.pmx-floating-wa:hover { transform: translateY(-2px); }
.pmx-back-top { position: fixed; right: 18px; bottom: 76px; z-index: 60; width: 42px; height: 42px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(216,169,58,.38); background: rgba(255,255,255,.92); color: #111111; font-weight: 950; text-decoration: none; box-shadow: 0 14px 34px rgba(0,0,0,.10); }

/* Checkout polish: presentation only. Shipping/payment logic stays untouched. */
#pmCheckoutForm {
    padding: 26px;
}

#pmCheckoutForm + aside.card {
    position: sticky;
    top: 104px;
    align-self: start;
}

/* Do not expose environment/testing copy to customers. */
#pmPaymentChoice + small.muted {
    display: none !important;
}

#pmShippingStatus {
    margin: 10px 2px 4px;
    font-size: .86rem;
    line-height: 1.45;
}

/* Once valid shipping groups are visible, the raw provider/count sentence is redundant. */
#pmShippingStatus:has(+ #pmShippingCategoryShell:not([hidden])) {
    display: none;
}

#pmShippingCategoryTabs {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
}

#pmShippingCategoryTabs .pm-category-tab {
    min-width: 0;
    min-height: 78px;
    padding: 12px 10px;
    border-radius: 16px;
}

#pmShippingCategoryTabs .pm-category-tab strong {
    font-size: .86rem;
    line-height: 1.2;
}

#pmShippingCategoryTabs .pm-category-tab small {
    margin-top: 5px;
    font-size: .74rem;
    line-height: 1.2;
}

/* Keep the tab secondary copy useful without exposing raw provider option counts. */
#pmShippingCategoryTabs .pm-category-tab[aria-disabled="false"] small {
    font-size: 0;
}

#pmShippingCategoryTabs .pm-category-tab[aria-disabled="false"] small::after {
    content: "Lihat opsi";
    font-size: .74rem;
}

/* Shorter customer-facing label so five shipping groups fit cleanly. */
#pmShippingCategoryTabs .pm-category-tab[data-category="next_day"] strong {
    font-size: 0;
}

#pmShippingCategoryTabs .pm-category-tab[data-category="next_day"] strong::after {
    content: "Next Day";
    font-size: .86rem;
}

#pmShippingCategoryDescription {
    margin: 8px 2px 2px;
    line-height: 1.45;
}

#pmShippingOptions {
    gap: 8px;
}

#pmShippingOptions .pm-rate-option {
    padding: 12px 14px;
    border-radius: 15px;
}

#pmShippingOptions .pm-rate-main {
    align-items: flex-start;
}

#pmShippingOptions .pm-rate-title-row {
    gap: 6px;
}

#pmShippingOptions .pm-rate-title-row strong {
    line-height: 1.3;
}

#pmShippingOptions .pm-rate-main > strong {
    white-space: nowrap;
    font-size: .95rem;
}

/* Keep each tab useful instead of dumping dozens of rates at once. */
#pmShippingOptions .pm-rate-option:nth-child(n+9) {
    display: none;
}

/* Customer privacy: infrastructure aggregators stay internal. */
#pmShippingOptions .pm-provider-badge {
    display: none !important;
}

#pmCheckoutForm + aside.card > p.muted:last-child {
    display: none !important;
}

.pm-biteship-tracking .eyebrow {
    font-size: 0;
}

.pm-biteship-tracking .eyebrow::after {
    content: "Pengiriman Instant / Same Day";
    font-size: 13px;
}

@media (max-width: 920px) {
    #pmCheckoutForm + aside.card {
        position: static;
    }

    #pmShippingCategoryTabs {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        padding-bottom: 8px;
        scrollbar-width: thin;
    }

    #pmShippingCategoryTabs .pm-category-tab {
        flex: 0 0 118px;
        scroll-snap-align: start;
    }
}

@media (max-width: 560px) {
    #pmCheckoutForm {
        padding: 18px;
    }

    #pmShippingOptions .pm-rate-main {
        gap: 8px;
    }

    #pmShippingOptions .pm-rate-title-row {
        align-items: flex-start;
    }
}

@media (max-width: 720px) { .pmx-floating-wa { left: 14px; right: 14px; bottom: 14px; width: auto; } .pmx-back-top { right: 14px; bottom: 72px; } }
@media print { .pmx-floating-wa, .pmx-back-top, .pmx-legal-strip { display: none !important; } }