.product-card.is-selected{border-color:var(--leaf);background:linear-gradient(135deg,#fff 55%,#f0f7e6);box-shadow:0 0 0 3px rgba(118,169,35,.18),0 16px 36px rgba(14,61,37,.14);transform:translateY(-3px)}
.product-card.is-selected .product-visual{background:white}
.product-card.is-selected .product-leaf{background:var(--orange);color:#243123;transform:rotate(0) scale(1.08)}
.product-card.is-selected .stepper{border-color:var(--leaf);background:#f3f9e9}
.product-card.is-selected .qty{color:var(--green);font-weight:800}
.product-card.is-selected:after{content:'✓';position:absolute;top:8px;left:8px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--leaf);color:white;font-weight:800;box-shadow:0 5px 12px rgba(11,69,40,.2)}
.product-card{position:relative}
.reset-product{position:absolute;z-index:3;top:8px;right:8px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(11,69,40,.18);border-radius:50%;background:white;color:var(--green);font-size:1.05rem;font-weight:800;box-shadow:0 5px 12px rgba(11,69,40,.12);opacity:0;pointer-events:none;transform:scale(.75);transition:.18s}
.product-card.is-selected .reset-product{opacity:1;pointer-events:auto;transform:scale(1)}.reset-product:hover{background:var(--orange);border-color:var(--orange);color:#243123;transform:rotate(-30deg)!important}
.order-summary{margin-top:4.5rem;scroll-margin-top:95px;background:white;border:1px solid var(--line);border-radius:24px;padding:2rem;box-shadow:var(--shadow)}
.summary-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.summary-heading h2{font-size:1.7rem;font-weight:800;margin:0}.summary-count{background:#eef5e6;color:var(--green);padding:.55rem .85rem;border-radius:999px;font-size:.82rem}
.summary-empty{padding:2rem;text-align:center;color:var(--muted)}
.summary-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.summary-line>div{display:flex;flex-direction:column}.summary-line small{color:var(--muted);margin-top:.2rem}.summary-line>b{color:var(--green);white-space:nowrap}
.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:1.3rem;font-size:1.05rem}.summary-total strong{font-family:'Manrope';font-size:1.55rem;color:var(--green)}
@media(max-width:600px){
    #productGrid{--bs-gutter-y:.5rem}
    .product-card{min-height:116px;border-radius:15px}
    .product-card:hover,.product-card.is-selected{transform:none}
    .product-card.is-selected{box-shadow:0 0 0 2px rgba(118,169,35,.2),0 10px 24px rgba(14,61,37,.11)}
    .product-card.is-selected:after{top:6px;left:6px;width:22px;height:22px;font-size:.78rem}
    .product-visual{flex-basis:66px}
    .product-leaf{width:41px;height:41px;border-radius:13px 21px 13px 21px;font-size:1.05rem}
    .leaf-decoration{font-size:3.6rem}
    .product-content{justify-content:center;padding:.58rem .68rem}
    .product-copy h3{font-size:.9rem;line-height:1.15;margin:0;padding-right:1.7rem}
    .product-copy p{display:none}
    .product-bottom{margin-top:.18rem}
    .unit-label{font-size:.74rem;line-height:1.05;margin-bottom:.3rem}
    .stepper{grid-template-columns:36px 1fr 36px;border-radius:10px;min-height:34px}
    .stepper-btn{font-size:1.1rem}
    .qty{font-size:.9rem}
    .reset-product{top:6px;right:6px;width:26px;height:26px}
    .order-summary{margin-top:3rem;padding:1.2rem}
    .summary-heading{align-items:flex-start;flex-direction:column}
    .summary-line{font-size:.9rem}
    .summary-line small{font-size:.74rem}
}

/* Marketplace redesign */
.shop-hero{position:relative;isolation:isolate;width:calc(100% - 2rem);max-width:1180px;min-height:350px;margin:.75rem auto 0;border-radius:18px;background:linear-gradient(115deg,#06482a 0%,#003c24 72%,#00371f 100%);box-shadow:0 18px 45px rgba(6,48,27,.14)}
.shop-hero .hero-market{position:absolute;z-index:-2;inset:0;background:url('../images/catalog/hero-market.png') center/cover no-repeat}
.shop-hero:before{display:none}
.shop-hero:after{content:'';position:absolute;z-index:-1;display:block;inset:0;background:linear-gradient(90deg,rgba(3,61,35,.99) 0%,rgba(3,61,35,.96) 43%,rgba(3,61,35,.32) 63%,rgba(3,61,35,0) 78%)}
.shop-hero .hero-inner{display:flex;align-items:center;min-height:350px;padding:2.75rem 4rem}
.shop-hero .hero-inner>.row{width:100%;margin:0}
.shop-hero .hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;max-width:680px;padding:0}
.shop-hero h1{display:grid;gap:.08em;max-width:680px;margin:0;font-size:clamp(2.4rem,3.5vw,3.25rem);line-height:1.08;letter-spacing:-.04em}
.shop-hero .hero-title-accent{color:#74bd55}
.shop-hero .hero-intro{max-width:450px;margin:1.15rem 0 1.35rem;color:white;font-size:1rem;line-height:1.5}
.shop-hero .hero-points{gap:1.75rem}
.shop-hero .hero-points span{display:inline-flex;align-items:center;gap:.45rem;padding:0;border:0;background:transparent;color:white;font-size:.82rem;font-weight:600}
.shop-hero .hero-points i{display:grid;place-items:center;width:17px;height:17px;border:1px solid #74bd55;border-radius:50%;color:#74bd55;font-size:.65rem;font-style:normal}
.shop-hero .hero-brand{position:relative;z-index:1;display:flex;justify-content:flex-end;padding:0 1.5rem 0 0}
.hero-cutoff-notice{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.75rem;max-width:500px;margin-top:1.35rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(4px);transition:.2s}.hero-cutoff-notice .cutoff-icon{display:grid;place-items:center;width:34px;height:34px;border:2px solid currentColor;border-radius:50%;font-size:1.25rem}.hero-cutoff-notice strong{display:block;margin-bottom:.15rem;font-size:.9rem}.hero-cutoff-notice p{margin:0;font-size:.78rem;line-height:1.35}.hero-cutoff-notice time{min-width:88px;padding:.5rem .65rem;border-radius:9px;background:#f59a16;color:#173c28;font-family:Manrope,sans-serif;font-size:1rem;font-weight:900;text-align:center}.hero-cutoff-notice.is-reminder{border-color:rgba(245,154,22,.7);background:rgba(4,57,34,.72)}.hero-cutoff-notice.is-urgent{border-color:#f59a16;background:rgba(3,49,29,.9)}.hero-cutoff-notice.is-urgent .cutoff-icon{border-color:#f59a16;background:#f59a16;color:#fff}
.shop-hero .hero-logo-wrap{width:190px;border-radius:20px;transform:none;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.hero-botanical{position:absolute;left:310px;bottom:-45px;width:350px;height:auto;fill:none;stroke:#65a94c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.1}
.catalog-wrap{width:calc(100% - 2rem);max-width:1180px;margin-top:1rem;padding:2.5rem 1.5rem 3rem;border-radius:20px;background:rgba(255,255,255,.48)}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.5rem;align-items:start}
.catalog-products .catalog-heading{gap:1.25rem}
.catalog-products .catalog-heading h2{font-size:1.85rem}
.catalog-products .search-box{min-width:250px}
.catalog-sidebar{position:sticky;top:104px;display:grid;gap:1rem}
.catalog-sidebar .order-summary{margin:0;padding:1.25rem;border-radius:16px;box-shadow:0 12px 30px rgba(14,61,37,.08)}
.catalog-sidebar .summary-heading{align-items:center;padding-bottom:.9rem}
.catalog-sidebar .summary-heading h2{font-size:1.15rem}
.catalog-sidebar .summary-heading .section-kicker{margin-bottom:.2rem}
.catalog-sidebar .summary-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0}
.catalog-sidebar .summary-empty{padding:1.5rem .4rem;font-size:.85rem}
.catalog-sidebar .summary-line{padding:.75rem 0;font-size:.82rem}
.how-card{padding:1.25rem;border:1px solid var(--line);border-radius:16px;background:#f8faf4}
.how-card h3{font-size:1rem;font-weight:800;margin-bottom:1.1rem}
.how-card ol{display:grid;gap:1.1rem;padding:0;margin:0;list-style:none}
.how-card li{display:flex;gap:.75rem;align-items:flex-start}
.how-card li>b{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #b9ccb9;border-radius:50%;color:var(--green);font-size:.78rem}
.how-card li span{display:grid;gap:.15rem}.how-card li strong{font-size:.82rem}.how-card li small{color:var(--muted);font-size:.72rem;line-height:1.35}
.category-title{font-size:1.05rem;margin-bottom:.75rem}
.category-title span{padding:0;background:transparent}
.category-title:after{background:var(--line)}
.product-group+.product-group{margin-top:2.5rem}
.product-row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
.product-card{display:block;min-height:0;border-radius:14px}
.product-card:hover{transform:translateY(-2px)}
.product-visual{width:100%;height:112px;background:#f7f5ed}
.product-visual img{display:block;width:100%;height:100%;object-fit:cover}
.product-content{display:flex;min-height:112px;padding:.72rem}
.product-copy h3{font-size:.82rem;line-height:1.2;margin-bottom:.15rem}
.product-copy p{display:block;font-size:.68rem}
.product-bottom{display:flex;align-items:center;gap:.45rem;margin-top:.55rem}
.product-bottom .stepper{flex:1}
.stepper{grid-template-columns:34px 1fr 34px;min-height:35px;border-radius:9px}
.qty{font-size:.78rem;font-weight:700}
.stepper-btn{font-size:1.18rem;line-height:1}
.product-card.is-selected:after{top:7px;left:7px}
.contact-panel{margin-top:3rem;border:1px solid var(--line);box-shadow:0 18px 40px rgba(14,61,37,.08)}
.checkout-card{border-radius:16px;padding:1.5rem}.checkout-total{font-size:1.4rem}
@media(min-width:1200px){.catalog-products .product-column{width:25%}}
@media(max-width:991.98px){
    .shop-hero{max-width:calc(100% - 1.5rem);min-height:340px}
    .shop-hero .hero-inner{min-height:340px;padding:3rem 2.5rem}
    .shop-hero:after{background:linear-gradient(90deg,rgba(3,61,35,.98),rgba(3,61,35,.82))}
    .shop-hero .hero-brand{display:none}
    .catalog-layout{grid-template-columns:1fr}
    .catalog-sidebar{position:static;grid-template-columns:1fr 1fr;order:2;margin-top:2rem}
}
@media(max-width:600px){
    .hero-cutoff-notice{grid-template-columns:30px minmax(0,1fr);width:100%;margin-top:1rem;padding:.7rem .75rem}.hero-cutoff-notice .cutoff-icon{width:30px;height:30px;font-size:1rem}.hero-cutoff-notice p{font-size:.72rem}.hero-cutoff-notice time{grid-column:1/-1;width:100%}
    .shop-hero{max-width:calc(100% - 1rem);min-height:365px;margin-top:.5rem;border-radius:18px}
    .shop-hero .hero-inner{min-height:365px;padding:2.65rem 1.35rem}
    .shop-hero h1{font-size:2.2rem}
    .shop-hero .hero-points{gap:.35rem}.shop-hero .hero-points span{padding:.4rem .55rem;font-size:.7rem}
    .hero-botanical{left:auto;right:-145px;width:360px;opacity:.09}
    .catalog-wrap{max-width:calc(100% - 1rem);margin-top:.5rem;padding:2rem .75rem 2.5rem}
    .catalog-heading{align-items:stretch;flex-direction:column;gap:1rem}
    .search-box{width:100%;min-width:0}
    .catalog-sidebar{grid-template-columns:1fr}
    .catalog-sidebar .order-summary{display:block}
    .catalog-sidebar .summary-count{display:none}
    .catalog-sidebar .how-card{display:none}
    .product-group+.product-group{margin-top:2rem}
    .product-row{--bs-gutter-x:.55rem;--bs-gutter-y:.55rem}
    .product-card{display:block;min-height:0;border-radius:12px}
    .product-visual{display:none}
    .product-content{min-height:82px;padding:.58rem .5rem .48rem}
    .product-copy h3{font-size:.74rem;line-height:1.12;padding-right:1.1rem}
    .product-bottom{margin-top:.28rem}
    .product-card.is-selected:after{display:none}
    .reset-product{width:23px;height:23px;top:5px;right:5px}
    .contact-panel{padding:1.2rem}
}

@media(min-width:768px){
    .catalog-products .product-column{width:33.333333%}
    .product-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:1fr auto;height:126px;padding:.55rem .55rem .45rem;column-gap:.45rem}
    .product-visual{grid-column:1;grid-row:1;width:64px;height:64px;background:transparent;border:0}
    .product-visual img{object-fit:contain;padding:0}
    .product-content{display:contents}
    .product-copy{grid-column:2;grid-row:1;align-self:center;min-width:0}
    .product-copy h3{font-size:.82rem;line-height:1.16;padding-right:.8rem}
    .product-bottom{grid-column:1/-1;grid-row:2;margin-top:.35rem}
    .stepper{grid-template-columns:32px 1fr 32px;min-height:32px}
    .qty{font-size:.72rem}
}
@media(min-width:992px){
    .catalog-products .product-column{width:25%}
    .product-card{grid-template-columns:58px minmax(0,1fr);height:116px;padding:.5rem .5rem .42rem;column-gap:.45rem}
    .product-visual{width:58px;height:58px}
    .product-copy h3{font-size:.76rem;line-height:1.15;padding-right:.65rem}
    .product-bottom{margin-top:.35rem}
    .stepper{grid-template-columns:32px 1fr 32px;min-height:32px}
    .qty{font-size:.7rem}
    .stepper-btn{font-size:1.12rem}
}
.product-group{margin:0}
.product-group+.product-group{margin-top:2.35rem}
.category-title{display:flex;align-items:center;gap:1rem;color:#1f5c3a;font-size:1.35rem;font-weight:800;margin:0 0 1.35rem}
.category-title:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,rgba(118,169,35,.5),rgba(118,169,35,0))}
.category-title span{display:inline-flex;align-items:center;padding:.48rem .85rem;border-radius:12px;background:#eef5e6}
.product-row{--bs-gutter-x:.8rem;--bs-gutter-y:.8rem}
.unit-label{flex:0 0 auto;color:#607067;font-size:.7rem;font-weight:700;line-height:1;text-transform:lowercase}
@media(max-width:600px){
    .product-group+.product-group{margin-top:2.6rem}
    .category-title{gap:.7rem;font-size:1.05rem;margin-bottom:.75rem}
    .category-title span{padding:.38rem .65rem;border-radius:9px}
    .product-row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
}
