.products-hero {
    padding: 5.5rem 0 4rem;
    background: linear-gradient(135deg, #0f3d2a 0%, #176341 58%, #1f7650 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.products-hero::after {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    right: -150px;
    top: -190px;
}
.products-hero .container { position: relative; z-index: 1; }
.products-eyebrow, .section-kicker {
    display: inline-block;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.products-eyebrow { color: #f4a225; margin-bottom: 1rem; }
.products-hero h1 { max-width: 760px; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.08; margin-bottom: 1rem; font-weight: 800; }
.products-hero p { max-width: 650px; color: rgba(255,255,255,.82); font-size: 1.05rem; margin-bottom: 2rem; }
.products-search { display: grid; grid-template-columns: 1fr 210px auto; gap: .75rem; max-width: 980px; }
.product-search-input { position: relative; }
.product-search-input svg { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #6b7280; }
.product-search-input input, .products-search select, .products-search button { height: 52px; border-radius: 10px; border: 0; font: inherit; }
.product-search-input input { width: 100%; padding: 0 1rem 0 3rem; }
.products-search select { padding: 0 1rem; background: #fff; color: #1a1a1a; }
.products-search button { padding: 0 1.25rem; background: #f4a225; color: #171717; font-weight: 800; cursor: pointer; }
.products-section { padding: 4rem 0 5rem; background: #f7f8f7; min-height: 55vh; }
.products-header { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:2rem; }
.section-kicker { color: #1b5e3b; margin-bottom: .45rem; }
.products-header h2 { font-size: 2rem; line-height: 1.15; }
.products-count { color: #6b7280; font-weight: 600; }
.products-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1.5rem; }
.product-card { background:#fff; border:1px solid #e7ebe8; border-radius:16px; overflow:hidden; box-shadow:0 5px 16px rgba(17,24,39,.05); transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-direction:column; }
.product-card:hover { transform:translateY(-5px); box-shadow:0 15px 30px rgba(17,24,39,.10); }
.product-card-priority { border-color: rgba(244,162,37,.48); }
.product-image-link { text-decoration:none; color:inherit; }
.product-image-wrap { height:245px; background:#f1f3f1; position:relative; overflow:hidden; }
.product-image-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.product-card:hover .product-image-wrap img { transform:scale(1.035); }
.product-image-placeholder { width:100%; height:100%; display:grid; place-items:center; font-size:3rem; color:#8a948e; }
.priority-badge { position:absolute; top:12px; left:12px; background:#f4a225; color:#201507; font-size:.7rem; font-weight:800; padding:.4rem .65rem; border-radius:999px; box-shadow:0 4px 10px rgba(0,0,0,.12); }
.product-card-body { padding:1.15rem; display:flex; flex-direction:column; flex:1; }
.product-card-topline { margin-bottom:.45rem; }
.product-category { color:#1b5e3b; background:#eaf4ee; border-radius:999px; padding:.3rem .55rem; font-size:.72rem; font-weight:700; }
.product-title-link { color:#161a18; text-decoration:none; }
.product-title-link h3 { font-size:1.15rem; line-height:1.25; margin-bottom:.55rem; }
.product-description { color:#6b7280; font-size:.88rem; line-height:1.55; margin-bottom:1rem; }
.product-shop { display:flex; align-items:center; gap:.55rem; color:#303934; text-decoration:none; border-top:1px solid #edf0ee; padding-top:.9rem; margin-top:auto; }
.shop-avatar { width:30px; height:30px; border-radius:50%; background:#edf3ef; display:grid; place-items:center; overflow:hidden; flex:none; font-size:.9rem; }
.shop-avatar img { width:100%; height:100%; object-fit:cover; }
.shop-name { font-size:.84rem; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shop-arrow { margin-left:auto; color:#1b5e3b; }
.product-actions { display:grid; grid-template-columns:1fr auto; gap:.55rem; margin-top:1rem; }
.view-product-btn, .contact-product-btn { display:flex; justify-content:center; align-items:center; min-height:40px; border-radius:8px; text-decoration:none; font-size:.82rem; font-weight:800; }
.view-product-btn { background:#1b5e3b; color:#fff; }
.contact-product-btn { border:1px solid #dce4df; color:#1b5e3b; padding:0 .7rem; }
.products-empty { text-align:center; padding:5rem 1rem; background:#fff; border:1px dashed #d7ded9; border-radius:16px; }
.empty-icon { font-size:3rem; color:#8a948e; margin-bottom:1rem; }
.products-empty h3 { font-size:1.4rem; margin-bottom:.4rem; }
.products-empty p { color:#6b7280; margin-bottom:1.2rem; }
.reset-search { color:#1b5e3b; font-weight:800; text-decoration:none; }
.products-discovery-note { padding:0 0 5rem; background:#f7f8f7; }
.discovery-note-card { background:#eaf4ee; border:1px solid #d5e7db; border-radius:18px; padding:2rem; display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.discovery-note-card h2 { font-size:1.55rem; margin-bottom:.45rem; }
.discovery-note-card p { color:#53615a; max-width:650px; }
.nav-active { color:#1b5e3b !important; font-weight:700; }
@media (max-width: 760px) {
    .products-hero { padding:4rem 0 3rem; }
    .products-search { grid-template-columns:1fr; }
    .products-search button { width:100%; }
    .products-header { align-items:flex-start; flex-direction:column; }
    .products-grid { grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
    .product-image-wrap { height:220px; }
    .discovery-note-card { flex-direction:column; align-items:flex-start; }
}
.products-pagination { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2.5rem; }
.pagination-link { color:#1b5e3b; text-decoration:none; font-weight:800; border:1px solid #d5e0d9; background:#fff; border-radius:9px; padding:.65rem .9rem; }
.pagination-current { color:#68746d; font-size:.88rem; font-weight:700; }

.upload-progress{height:8px;margin-top:8px;border-radius:999px;background:#e8eee9;overflow:hidden}.upload-progress[hidden]{display:none}.upload-progress-bar{height:100%;width:0%;background:#2f7d4a;transition:width .15s ease}.form-helper[hidden]{display:none}
