        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: Arial, Helvetica, sans-serif;
        }

        html {
            scroll-behavior: smooth;
        }

        /* SweetAlert2's own overlay (z-index 1060 by default) must always
           render above any of this site's custom modals — several of which
           (rate-modal-overlay, chat report modals, etc.) sit at z-index
           10000+ and were otherwise burying the "Are you sure?" confirm
           dialog behind themselves, making it invisible and unclickable. */
        .swal2-container {
            z-index: 100000 !important;
        }

        body {
            background: #fff;
            color: #111;
            overflow-x: hidden;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        button {
            font-family: inherit;
        }

/* =====================================================
   POLICY SECTIONS (partials/policy-sections.blade.php)
   — a plain-text policy laid out as numbered sections
===================================================== */

.policy-section + .policy-section {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #f0f1f3;
}

.policy-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #101828;
}

.policy-section-number {
    flex-shrink: 0;
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    border-radius: 8px;
    background: #fdeaea;
    color: #d0001b;
    font-size: 12.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.policy-section-body {
    padding-left: 36px;
    font-size: 13.5px;
    line-height: 1.7;
    color: #475467;
}

.policy-section-body p {
    margin: 0 0 8px;
}

.policy-section-body ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.policy-section-body li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 6px;
}

.policy-section-body li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d0001b;
}

.policy-section-body > :last-child,
.policy-section-body li:last-child {
    margin-bottom: 0;
}

@media (max-width: 500px) {
    .policy-section-body {
        padding-left: 0;
    }
}

/* =========================================================
   GoCart Preferred / GoCart Mall badges (partials/seller-badges)
   ========================================================= */
.gc-badges { display: inline-flex; align-items: center; gap: 4px; vertical-align: middle; flex-wrap: nowrap; }
.gc-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: 5px; font-size: 10.5px; font-weight: 800; line-height: 1.35; letter-spacing: .01em; white-space: nowrap; }
.gc-badge i { font-size: .9em; }
.gc-badge-mall { background: linear-gradient(135deg, #b30019, #d0001b); color: #fff; }
.gc-badge-preferred { background: #fff4e5; color: #c2410c; border: 1px solid #fed7aa; }
.gc-badges-xs .gc-badge { padding: 1px 5px; font-size: 9.5px; border-radius: 4px; }
.gc-badges-md .gc-badge { padding: 3px 9px; font-size: 12px; border-radius: 6px; }
.gc-badges-md .gc-badge-preferred { background: #fff4e5; }
[data-theme="dark"] .gc-badge-preferred { background: rgba(251, 146, 60, .14); border-color: rgba(251, 146, 60, .35); color: #fdba74; }
.shop-hero-verified { margin: 4px 0 0; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: #fecaca; }
.shop-hero-verified i { color: #4ade80; }

/* Product cards: badges in the photo's top-right corner; shop name below. */
.gc-badges-corner { position: absolute; top: 8px; right: 8px; z-index: 2; flex-direction: column; align-items: flex-end; gap: 4px; }
.gc-badges-corner .gc-badge { box-shadow: 0 2px 6px rgba(0, 0, 0, .18); padding: 3px 7px; font-size: 10px; border-radius: 5px; }
.gc-badges-corner .gc-badge-preferred { background: #fff7ed; }
.shop-product-shop { display: flex; align-items: center; gap: 5px; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.shop-product-shop i { font-size: 10px; opacity: .7; flex-shrink: 0; }
/* Beside a shop name: vertically centred on the text, never stretched. */
.gc-badges { align-self: center; line-height: 1; }
.gc-badge { line-height: 1.35; }
