.products-page { max-width: 1320px; margin: 0 auto; }
.products-heading { margin-bottom: 1.5rem; }
.products-heading h1 { color: #133c2c; font-weight: 700; }
.products-filters { display: grid; grid-template-columns: minmax(190px, 1.5fr) repeat(2, minmax(180px, 1fr)) auto; gap: 1rem; align-items: end; padding: 1rem; margin-bottom: 1.5rem; background: #f4f7f4; border: 1px solid #dce5dd; border-radius: 1rem; }
.products-filter-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 1rem; }
.product-card { display: flex; flex-direction: column; gap: .65rem; min-height: 230px; padding: 1.2rem; border: 1px solid #dce5dd; border-radius: 1rem; background: #fff; box-shadow: 0 4px 16px #143b2910; }
.product-card-link { color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.product-card-link:hover, .product-card-link:focus-visible { color: inherit; transform: translateY(-2px); box-shadow: 0 8px 24px #143b2920; }
.product-details-hint { margin-top: .15rem; color: #1f6b43; font-size: .85rem; font-weight: 650; }
.product-detail-page { max-width: 900px; }
.product-detail-card { padding: clamp(1.2rem, 4vw, 2.25rem); border: 1px solid #dce5dd; border-radius: 1rem; background: #fff; box-shadow: 0 4px 16px #143b2910; }
.product-detail-card h1 { color: #133c2c; font-weight: 700; }
.product-detail-description { margin: 1.25rem 0; white-space: pre-line; }
.product-detail-price { display: grid; justify-items: start; gap: .2rem; padding: 1rem; margin: 1rem 0; border-radius: .75rem; background: #edf7ef; color: #24593b; }
.product-detail-price strong { font-size: 1.5rem; }
.provider-contact-card { padding: 1.1rem; margin-top: 1.5rem; border: 1px solid #dce5dd; border-radius: .75rem; background: #f7faf7; }
.provider-contact-card h2 { font-size: 1.1rem; color: #173c2c; }
.provider-contact-card h3 { font-size: 1.25rem; }
.provider-contact-card p:last-child { margin-bottom: 0; }
.product-contact-note { margin: 1rem 0 0; color: #647466; font-size: .9rem; }
.product-card h2 { margin: 0; color: #173c2c; font-size: 1.2rem; }
.product-card p { margin: 0; }
.product-card-top, .product-card-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.product-category { display: inline-block; padding: .25rem .55rem; border-radius: 999px; background: #e8f5eb; color: #24593b; font-size: .78rem; font-weight: 600; }
.product-ad-label { color: #647466; font-size: .75rem; }
.product-brand, .product-crops { color: #536356; font-size: .9rem; }
.product-card-footer { margin-top: auto; padding-top: .65rem; border-top: 1px solid #edf0ed; }
.product-card-footer span:first-child { display: grid; }
.product-card-footer small { color: #66766a; }
.product-price { color: #24593b; font-weight: 700; text-align: right; }
.product-crop-options { padding: 1rem; border: 1px solid #dce5dd; border-radius: .75rem; }
.product-crop-options legend { float: none; width: auto; padding: 0 .35rem; margin: 0; color: #173c2c; font-size: 1rem; font-weight: 700; }
.product-crop-options > p { color: #647466; }
.product-crop-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .35rem .75rem; }
.product-crop-grid .form-check { margin: 0; padding: .4rem .5rem .4rem 2rem; border-radius: .4rem; }
.product-crop-grid .form-check:has(input:checked) { background: #edf7ef; }
.provider-profile-card { padding: 1rem 1.2rem; margin-bottom: 1rem; border: 1px solid #dce5dd; border-radius: .85rem; background: #f7faf7; }
.provider-profile-card p:last-child { margin-bottom: 0; }
.producer-ad-bar { position: fixed; z-index: 1040; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .9rem; min-height: 86px; padding: .65rem clamp(.75rem, 2vw, 1.5rem); border-top: 3px solid #2c7451; background: #123f30; color: #fff; box-shadow: 0 -8px 28px #102b1d38; }
.producer-ad-bar-empty { grid-template-columns: auto minmax(0, 1fr) auto; }
.producer-ad-empty-copy { display: grid; min-width: 0; margin: 0; color: #fff; }
.producer-ad-empty-copy small { color: #d1e5d8; }
.producer-ad-brand { display: flex; align-items: center; gap: .55rem; white-space: nowrap; color: #fff; }
.producer-ad-brand > span:first-child { color: #f6db77; font-size: 1.25rem; }
.producer-ad-count { display: grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .25rem; border-radius: 999px; color: #123f30; background: #fff; font-size: .78rem; font-weight: 800; }
.producer-ad-stage { position: relative; display: flex; align-items: center; min-width: 0; height: 66px; overflow: hidden; border: 1px solid #ffffff32; border-radius: .75rem; background: #ffffff0b; }
.producer-ad-item { position: absolute; inset: 0 auto 0 0; display: flex; align-items: center; gap: .85rem; width: max-content; max-width: 100%; padding: .5rem 1rem; color: #fff; text-decoration: none; opacity: 0; pointer-events: none; }
.producer-ad-item.is-current { opacity: 1; pointer-events: auto; }
.producer-ad-bar.is-rotating .producer-ad-item.is-current { animation: producer-ad-slide 18s linear both; }
.producer-ad-item:hover, .producer-ad-item:focus-visible { color: #fff; text-decoration: underline; }
.producer-ad-category { max-width: 190px; padding: .35rem .65rem; border-radius: 999px; background: #e4f2e8; color: #17472f; font-size: .76rem; font-weight: 700; }
.producer-ad-copy { display: grid; min-width: 180px; max-width: min(38vw, 500px); }
.producer-ad-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.producer-ad-copy small { overflow: hidden; color: #d1e5d8; text-overflow: ellipsis; white-space: nowrap; }
.producer-ad-price { color: #fff; font-size: 1.05rem; font-weight: 800; white-space: nowrap; }
.producer-ad-deal { display: grid; align-content: center; padding: .38rem .7rem; border: 1px solid #ffe38a; border-radius: .6rem; background: #ffe18a; color: #3d2c00; line-height: 1.05; white-space: nowrap; box-shadow: 0 0 16px #ffd54f55; }
.producer-ad-deal strong { font-size: 1.05rem; }
.producer-ad-deal small { margin-top: .18rem; font-size: .63rem; font-weight: 800; letter-spacing: .07em; }
.producer-ad-item.is-discount .producer-ad-category { background: #fff1bd; color: #4a3600; }
.producer-ad-open, .producer-ad-all { color: #e0f0e4; font-size: .85rem; font-weight: 700; white-space: nowrap; }
.producer-ad-all { padding: .55rem .8rem; border: 1px solid #ffffff60; border-radius: 999px; text-decoration: none; }
.producer-ad-all:hover { background: #fff; color: #123f30; }
.producer-ad-pause { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #ffffff66; border-radius: 50%; background: transparent; color: #fff; font-weight: 800; }
.producer-ad-bar.is-paused .producer-ad-item.is-current { animation-play-state: paused; }
body:has(.producer-ad-bar) .agro-content { padding-bottom: 6.5rem; }
@keyframes producer-ad-slide { from { transform: translateX(100vw); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .producer-ad-item.is-current { animation: none; inset: 0; width: 100%; justify-content: center; } }
@media (max-width: 850px) { .products-filters { grid-template-columns: 1fr 1fr; } .products-filter-actions { grid-column: 1 / -1; } .producer-ad-bar { grid-template-columns: auto minmax(0, 1fr) auto; gap: .45rem; min-height: 76px; padding: .45rem .65rem; } .producer-ad-brand strong { display: none; } .producer-ad-stage { height: 60px; } .producer-ad-all { grid-column: 2; grid-row: 2; justify-self: center; padding: .25rem .6rem; } .producer-ad-pause { grid-column: 3; grid-row: 1 / 3; } .producer-ad-category { display: none; } .producer-ad-copy { min-width: 130px; max-width: 50vw; } .producer-ad-price, .producer-ad-open { font-size: .75rem; } .producer-ad-deal strong { font-size: .85rem; } .producer-ad-item { gap: .5rem; } }
@media (max-width: 540px) { .products-filters { grid-template-columns: 1fr; } .products-filter-actions { grid-column: auto; } .producer-ad-bar { grid-template-columns: 1.5rem minmax(0, 1fr) 2.25rem; } .producer-ad-brand { justify-content: center; } .producer-ad-count { position: absolute; left: .8rem; bottom: .7rem; min-width: 1rem; height: 1rem; font-size: .65rem; } .producer-ad-all { display: none; } .producer-ad-stage { grid-column: 2; } .producer-ad-pause { grid-column: 3; grid-row: 1; } .producer-ad-copy { max-width: 48vw; } .producer-ad-copy small { max-width: 43vw; } .producer-ad-deal { padding: .3rem .45rem; } }

/* Keep the producer account area clear of the fixed product announcement. */
.producer-ad-bar { left: 280px; }
.sidebar-collapsed .producer-ad-bar { left: 84px; }
@media (max-width: 1100px) {
    .producer-ad-bar { left: 250px; }
    .sidebar-collapsed .producer-ad-bar { left: 84px; }
}
@media (max-width: 760px) {
    .producer-ad-bar,
    .sidebar-collapsed .producer-ad-bar { left: 0; }
}
