/* Banner */
a.fs-combo-banner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:36px;margin:0 0 28px;padding:28px 36px;border-radius:20px;border:1px solid rgba(46,125,50,.35);background:linear-gradient(135deg,#f6fbef 0%,#e6f4e0 55%,#d9eed3 100%);box-shadow:0 10px 30px -12px rgba(27,94,32,.35);color:#14361a;text-decoration:none;overflow:hidden;isolation:isolate;transition:transform .2s ease,box-shadow .2s ease}
a.fs-combo-banner::before{content:"";position:absolute;z-index:-1;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(46,125,50,.16),rgba(46,125,50,0) 70%)}
a.fs-combo-banner::after{content:"";position:absolute;z-index:-1;left:-60px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 70%)}
a.fs-combo-banner:hover,a.fs-combo-banner:focus{transform:translateY(-3px);box-shadow:0 18px 40px -14px rgba(27,94,32,.45);color:#14361a;text-decoration:none}

/* image */
.fs-banner-media{position:relative;display:flex;align-items:center;justify-content:center;width:220px;height:220px}
.fs-banner-media::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.85) 55%,rgba(255,255,255,0) 72%)}
.fs-banner-media img{position:relative;display:block;width:auto;height:auto;max-width:200px;max-height:200px;filter:drop-shadow(0 8px 14px rgba(20,54,26,.25))}
.fs-banner-stack{width:auto;height:auto;padding-left:24px}
.fs-banner-stack::before{display:none}
.fs-banner-thumb{position:relative;margin-left:-24px}
.fs-banner-stack .fs-banner-thumb img{width:100px;height:100px;max-width:none;max-height:none;object-fit:cover;border-radius:50%;border:4px solid #fff;filter:none;box-shadow:0 6px 14px rgba(20,54,26,.25)}

/* text */
.fs-banner-body{display:block;min-width:0}
.fs-banner-chip{display:inline-block;margin:0 0 10px;padding:5px 12px;border-radius:999px;background:#2e7d32;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}
.fs-banner-title{display:block;font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:800;line-height:1.15;color:#14361a}
.fs-banner-tag{display:block;margin-top:6px;font-size:1rem;color:#3b5d3f}
.fs-banner-items{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.fs-banner-items li{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px 8px 8px;border-radius:12px;background:rgba(255,255,255,.8);border:1px solid rgba(46,125,50,.2);font-size:.95rem;font-weight:600;line-height:1.3;color:#14361a}
.fs-banner-qty{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 6px;border-radius:8px;background:#2e7d32;color:#fff;font-size:.85rem;font-weight:800}
.fs-banner-unit{margin-left:2px;padding-left:10px;border-left:1px solid rgba(46,125,50,.3);color:#2e7d32;font-weight:700}
.fs-banner-unit em{font-style:normal;font-weight:500;font-size:.8em;opacity:.8}

/* price + button */
.fs-banner-action{display:flex;flex-direction:column;align-items:flex-end;gap:14px;text-align:right}
.fs-banner-price{display:block;line-height:1}
.fs-banner-price small{display:block;margin-bottom:6px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3b5d3f}
.fs-banner-price strong{display:block;font-size:clamp(2rem,3.4vw,3rem);font-weight:800;color:#2e7d32}
.fs-banner-price .woocommerce-Price-amount,.fs-banner-price .woocommerce-Price-currencySymbol{color:inherit}
a.fs-combo-banner .fs-banner-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;background:linear-gradient(135deg,#388e3c,#1b5e20);color:#fff;font-size:1rem;font-weight:700;line-height:1.2;box-shadow:0 8px 18px -6px rgba(27,94,32,.6);transition:box-shadow .2s ease}
.fs-banner-cta::after{content:"\2192";transition:transform .2s ease}
a.fs-combo-banner:hover .fs-banner-cta{box-shadow:0 12px 22px -6px rgba(27,94,32,.7)}
a.fs-combo-banner:hover .fs-banner-cta::after{transform:translateX(4px)}
.fs-banner-ends{display:block;font-size:.85rem;color:#4d6b51}

@media (max-width:900px){
	a.fs-combo-banner{grid-template-columns:1fr;justify-items:center;gap:20px;padding:24px 20px;text-align:center}
	.fs-banner-items{justify-content:center}
	.fs-banner-action{align-items:center;width:100%;text-align:center}
	a.fs-combo-banner .fs-banner-cta{width:100%;justify-content:center;box-sizing:border-box}
	.fs-banner-media{width:180px;height:180px}
	.fs-banner-media img{max-width:170px;max-height:170px}
	.fs-banner-stack{width:auto;height:auto}
}

/* Badge */
.woocommerce ul.products li.product,.woocommerce div.product div.images{position:relative}
.fs-combo-badge{position:absolute;top:8px;z-index:9}
.fs-combo-badge.fs-pos-left{left:8px}
.fs-combo-badge.fs-pos-right{right:8px}
.fs-combo-badge-text{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;line-height:1.4;text-transform:uppercase}
.fs-combo-badge-img{width:72px;height:auto}
.single-product .fs-combo-badge-img{width:90px}

/* Product page */
.fs-combo-form .fs-combo-items{list-style:none;margin:0 0 16px;padding:0}
.fs-combo-form .fs-combo-items li{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.fs-combo-form .fs-combo-thumb img{display:block;width:56px;height:56px;object-fit:cover;border-radius:8px;background:#fff}
.fs-combo-ends,.fs-combo-note{font-weight:600;color:#2e7d32}

/* Price note + per-product promo badge */
.fs-combo-price-note{margin:10px 0 14px;padding:8px 12px;border-left:3px solid #2e7d32;background:#f1f8f1;font-size:.9em;color:#33523a}
.fs-banner-note{display:block;margin-top:10px;font-size:12px;opacity:.85}
.fs-promo-badge{cursor:default}
