        body {
            font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            background: #f6f8f5;
            color: #2d3a27;
        }

        .navbar {
            background: #fff;
            box-shadow: 0 2px 8px rgba(66, 95, 59, 0.08);
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .navbar-brand {
            font-weight: 700;
            color: #425f3b !important;
            letter-spacing: 1px;
            display: flex;
            align-items: center;
        }

        .navbar-brand img {
            height: 60px;
            margin-right: 12px;
        }

        @media (max-width: 576px) {
            .navbar-title {
                display: none !important;
            }
        }

        .nav-link {
            color: #425f3b !important;
            font-weight: 500;
            margin-right: 16px;
            transition: color 0.2s;
        }

        .nav-link.active,
        .nav-link:hover {
            color: #7ba66a !important;
        }

        .hero {
            background: linear-gradient(90deg, #e3eae2 0%, #f6f8f5 100%);
            padding: 100px 0 60px;
            text-align: center;
        }

        .hero-title {
            font-size: 2.8rem;
            font-weight: 700;
            color: #425f3b;
            margin-bottom: 20px;
        }

        .hero-sub {
            font-size: 1.3rem;
            color: #5c7a4c;
            margin-bottom: 32px;
        }

        .btn-main {
            background: #425f3b;
            color: #fff;
            border-radius: 24px;
            padding: 12px 32px;
            font-weight: 600;
            font-size: 1.1rem;
            border: none;
            transition: background 0.2s;
        }

        .btn-main:hover {
            background: #7ba66a;
            color: #fff;
        }

        .section {
            padding: 80px 0;
        }

        .section-title {
            font-size: 2rem;
            font-weight: 700;
            color: #425f3b;
            margin-bottom: 40px;
            text-align: center;
        }

        .card-modern {
            border: none;
            border-radius: 18px;
            box-shadow: 0 2px 16px rgba(66, 95, 59, 0.07);
            padding: 32px 24px;
            text-align: center;
            background: #e3eae2;
            margin-bottom: 32px;
            transition: box-shadow 0.2s;
        }

        .card-modern:hover {
            box-shadow: 0 4px 32px rgba(123, 166, 106, 0.13);
        }

        /* ── CATEGORY TABS ── */
        .cat-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-bottom: 36px;
        }

        .cat-tab {
            background: #fff;
            border: 2px solid #c8dabb;
            color: #425f3b;
            border-radius: 30px;
            padding: 9px 22px;
            font-weight: 600;
            font-size: .95rem;
            cursor: pointer;
            transition: all 0.22s;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .cat-tab.active,
        .cat-tab:hover {
            background: #425f3b;
            color: #fff;
            border-color: #425f3b;
        }

        /* ── SUBCATEGORY TABS ── */
        .subcat-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            justify-content: center;
            margin-bottom: 28px;
        }

        .subcat-tab {
            background: #e3eae2;
            color: #425f3b;
            border: none;
            border-radius: 20px;
            padding: 6px 18px;
            font-weight: 600;
            font-size: .88rem;
            cursor: pointer;
            transition: all 0.2s;
        }

        .subcat-tab.active,
        .subcat-tab:hover {
            background: #7ba66a;
            color: #fff;
        }

        /* ── PRODUCT CARD ── */
        .product-card {
            background: #fff;
            border-radius: 16px;
            box-shadow: 0 2px 14px rgba(66, 95, 59, 0.08);
            padding: 22px 18px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            cursor: pointer;
            transition: box-shadow 0.22s, transform 0.18s;
            height: 100%;
            border: 1.5px solid #e3eae2;
        }

        .product-card:hover {
            box-shadow: 0 6px 32px rgba(123, 166, 106, 0.18);
            transform: translateY(-3px);
            border-color: #7ba66a;
        }

        .product-card .badge-grade {
            background: #e3eae2;
            color: #425f3b;
            font-size: .78rem;
            font-weight: 700;
            border-radius: 12px;
            padding: 3px 12px;
            margin-bottom: 10px;
            letter-spacing: .4px;
        }

        .product-card .badge-api {
            background: #425f3b;
            color: #fff;
            font-size: .75rem;
            font-weight: 700;
            border-radius: 12px;
            padding: 3px 10px;
            margin-top: auto;
            letter-spacing: .3px;
        }

        .product-card h6 {
            font-size: .97rem;
            font-weight: 700;
            color: #2d3a27;
            margin-bottom: 6px;
            line-height: 1.35;
        }

        .prod-icon {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background: linear-gradient(135deg, #e3eae2, #c8dabb);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            color: #425f3b;
            margin-bottom: 12px;
        }

        /* ── SEARCH ── */
        #searchInput {
            border-radius: 24px;
            border: 2px solid #c8dabb;
            padding: 10px 20px;
            font-size: 1rem;
            width: 100%;
            max-width: 420px;
            outline: none;
            transition: border-color 0.2s;
        }

        #searchInput:focus {
            border-color: #425f3b;
        }

        .search-wrap {
            display: flex;
            justify-content: center;
            margin-bottom: 28px;
        }

        /* ── MODAL ── */
        .prod-modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(30, 45, 27, 0.55);
            z-index: 3000;
            align-items: center;
            justify-content: center;
        }

        .prod-modal-overlay.open {
            display: flex;
        }

        .prod-modal {
            background: #fff;
            border-radius: 24px;
            max-width: 560px;
            width: 94%;
            padding: 0 0 32px;
            position: relative;
            box-shadow: 0 16px 64px rgba(30, 45, 27, 0.22);
            animation: modalIn 0.28s cubic-bezier(.34, 1.5, .64, 1);
            overflow: hidden;
            max-height: 92vh;
            overflow-y: auto;
        }

        .prod-modal-img-wrap {
            width: 100%;
            height: 220px;
            background: linear-gradient(135deg, #e3eae2, #c8dabb);
            overflow: hidden;
            position: relative;
        }

        .prod-modal-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: none;
        }

        .img-placeholder {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #7ba66a;
            font-size: 3.5rem;
        }

        .prod-modal-body {
            padding: 28px 32px 0;
        }

        @keyframes modalIn {
            from {
                transform: scale(0.88) translateY(24px);
                opacity: 0;
            }

            to {
                transform: scale(1) translateY(0);
                opacity: 1;
            }
        }

        .prod-modal-close {
            position: absolute;
            top: 16px;
            right: 20px;
            background: #e3eae2;
            border: none;
            border-radius: 50%;
            width: 34px;
            height: 34px;
            font-size: 1.2rem;
            cursor: pointer;
            color: #425f3b;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.18s;
        }

        .prod-modal-close:hover {
            background: #7ba66a;
            color: #fff;
        }

        .prod-modal h4 {
            font-size: 1.15rem;
            font-weight: 700;
            color: #2d3a27;
            margin-bottom: 12px;
        }

        .info-row {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 16px;
        }

        .info-chip {
            border-radius: 14px;
            padding: 4px 14px;
            font-size: .82rem;
            font-weight: 700;
        }

        .chip-brand {
            background: #e3eae2;
            color: #425f3b;
        }

        .chip-grade {
            background: #c8dabb;
            color: #2d3a27;
        }

        .chip-api {
            background: #425f3b;
            color: #fff;
        }

        .prod-desc {
            font-size: .95rem;
            color: #5c7a4c;
            line-height: 1.6;
        }

        #noResults {
            text-align: center;
            padding: 48px 24px;
            color: #7ba66a;
            font-size: 1.05rem;
            display: none;
        }

        /* ── FOOTER ── */
        .footer {
            background: #425f3b;
            color: #fff;
            padding: 48px 0 24px;
            text-align: center;
        }

        .footer a {
            color: #e3eae2;
            text-decoration: none;
            margin: 0 8px;
        }

        .footer a:hover {
            text-decoration: underline;
        }

        .card-modern {
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .card-modern:hover:not(.two) {
            transform: translateY(-6px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
        }

        .card-modern:not(.two) {
            cursor: pointer;
        }

        .card-modern a {
            color: inherit;
            text-decoration: none;
        }

        /* ── MAP ── */
        .map-responsive {
            position: relative;
            overflow: hidden;
            width: 100%;
            padding-top: 56.25%;
            border-radius: 12px;
            box-shadow: 0 2px 16px rgba(66, 95, 59, 0.12);
        }

        .map-responsive iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: 0;
        }

        @media (max-width: 767px) {
            .map-responsive {
                padding-top: 75%;
                margin-top: 16px;
            }

            .hero-title {
                font-size: 2rem;
            }

            .hero-sub {
                font-size: 1.05rem;
            }
        }