        :root{
            --bg: #FAF8F5;          /* fundo geral */
            --muted: #D7C0AE;       /* tom areia/caramelo */
            --accent: #A68A64;      /* detalhes metálicos */
            --dark: #212529;        /* texto / contraste */
            --white: #FFFFFF;
            --card-shadow: 0 10px 30px rgba(0,0,0,0.06);
            --radius: 14px;
        }

        html { scroll-behavior: smooth; }
        body {
            background: var(--bg);
            color: var(--dark);
            font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial;
        }

        /* HEADER PREMIUM */
        header.site-header {
            background: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(250,248,245,0.9));
            border-bottom: 1px solid rgba(0,0,0,0.04);
            padding: 28px 0;
        }
        header .brand {
            font-weight: 800;
            letter-spacing: -0.6px;
            color: var(--dark);
            font-size: 1.5rem;
        }
        header .lead {
            color: rgba(33,37,41,0.6);
            margin-bottom: 0;
        }

        /* FILTER / CATEGORIES */
        .category-section-catalogo {
            background: var(--white);
            border-radius: 12px;
            padding: 18px;
        }
        .category-circle-catalogo {
            text-decoration: none;
            color: inherit;
            display: inline-block;
            transition: transform .25s ease, box-shadow .25s ease;
            text-align: center;
        }
        .category-circle-catalogo img{
            width: 96px;
            height: 96px;
            object-fit: cover;
            border-radius: 50%;
            border: 4px solid #fff;
            box-shadow: 0 8px 25px rgba(0,0,0,0.06);
            transition: transform .28s ease, border-color .28s ease;
        }
        .category-circle-catalogo:hover img{
            transform: scale(1.06);
            border-color: var(--muted);
        }
        .category-circle-catalogo h6{
            margin-top: 0.6rem;
            font-size: .82rem;
            font-weight: 600;
            color: rgba(33,37,41,0.9);
        }

        /* Titles */
        .page-title {
            font-weight: 700;
            letter-spacing: -0.3px;
        }

        /* Product grid */
        .product-card {
            background: var(--white);
            border-radius: var(--radius);
            overflow: hidden;
            transition: transform .22s ease, box-shadow .22s ease;
            box-shadow: var(--card-shadow);
            border: none;
        }
        .product-card:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgba(0,0,0,0.08); }
        .product-card .card-img-top {
            height: 260px;
            object-fit: cover;
        }
        .product-body { padding: 1.1rem; }
        .product-body h5 { font-weight: 700; margin-bottom: .55rem; }
        .product-body p { color: rgba(33,37,41,0.65); font-size: .95rem; margin-bottom: .85rem; }
        .product-price { font-weight: 700; color: var(--dark); }

        /* Esgotado badge */
        .badge-esgotado {
            font-size: .85rem;
            background: rgba(33,37,41,0.08);
            color: rgba(33,37,41,0.85);
            padding: .45rem .6rem;
            border-radius: .4rem;
        }

        /* Buttons */
        .btn-primary {
            background: var(--dark);
            border: none;
            border-radius: 40px;
            padding: .55rem 1rem;
        }
        .btn-outline-muted {
            color: var(--dark);
            border-color: rgba(33,37,41,0.08);
            background: transparent;
            border-radius: 40px;
        }

        /* Modal stock notice */
        #modalStockNotice { color: rgba(33,37,41,0.6); }

        /* Floating cart button */
        .cart-button {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1050;
            border-radius: 50%;
            width: 64px;
            height: 64px;
            display: grid;
            place-items: center;
            background: var(--dark);
            color: var(--white);
            box-shadow: 0 8px 30px rgba(0,0,0,0.12);
            border: none;
        }

        /* Small responsive tweaks */
        @media (max-width: 576px) {
            .category-circle-catalogo img { width: 72px; height: 72px; }
            .product-card .card-img-top { height: 200px; }
        }

        .clear-search {
            position: absolute;
            right: 95px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 5;
        }