/* Home: "Shop the Full Range" explorer */
body.sc-home-shop .sc-main { padding: 0; }
body.sc-home-shop .sc-main > .sc-wrap { max-width: none; padding: 0; }
body.sc-home-shop .woocommerce-products-header, body.sc-home-shop .woocommerce-notices-wrapper:empty { display: none; }

.scp { position: relative; overflow: hidden; padding: 90px 24px 100px; background: linear-gradient(180deg, #fff 0%, #f6f9f2 45%, #fff 100%); font-family: 'Spartan', Arial, sans-serif; }
.scp-blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; pointer-events: none; animation: scpFloat 16s ease-in-out infinite alternate; }
.scp-blob.b1 { width: 420px; height: 420px; left: -120px; top: 40px; background: #dff0c8; }
.scp-blob.b2 { width: 380px; height: 380px; right: -100px; top: 520px; background: #fbd9e6; animation-delay: -6s; }
@keyframes scpFloat { from { transform: translate(0, 0) scale(1); } to { transform: translate(60px, 50px) scale(1.18); } }
.scp-in { position: relative; max-width: 1400px; margin: 0 auto; }

.scp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; margin-bottom: 34px; }
.scp-eyebrow { display: inline-block; margin-bottom: 12px; padding: 5px 14px; border-radius: 20px; background: #e4f1d3; color: #00613c; font-size: 12px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.scp-head h2 { margin: 0 0 10px; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.1; font-weight: 800; letter-spacing: 0; text-transform: none; color: #12251f; }
.scp-head p { margin: 0; font-size: 16px; color: #55655f; }
.scp-search { position: relative; width: min(380px, 100%); }
.scp-search svg { position: absolute; left: 18px; top: 50%; width: 19px; height: 19px; margin-top: -9.5px; fill: none; stroke: #7a8a84; stroke-width: 2; stroke-linecap: round; }
.scp-search input { width: 100%; height: 54px; padding: 0 20px 0 48px; border: 1.5px solid #dfe8dc; border-radius: 40px; background: #fff; font: 500 15px 'Spartan', Arial, sans-serif; color: #12251f; outline: 0; box-sizing: border-box; box-shadow: 0 4px 16px rgba(0, 60, 40, .06); transition: border-color .2s, box-shadow .2s; }
.scp-search input:focus { border-color: #00613c; box-shadow: 0 6px 20px rgba(0, 97, 60, .14); }

/* sticky filter pills */
.scp-bar { position: sticky; top: 106px; z-index: 30; margin: 0 -24px 14px; padding: 12px 24px; background: rgba(255, 255, 255, .82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(0, 0, 0, .05); }
body.admin-bar .scp-bar { top: 138px; }
.scp-tabs { position: relative; display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.scp-tabs::-webkit-scrollbar { display: none; }
.scp-tabs button { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border: 1.5px solid #dfe8dc; border-radius: 40px; background: #fff; color: #2a3d36; font: 700 14px 'Spartan', Arial, sans-serif; cursor: pointer; white-space: nowrap; transition: background .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s; }
.scp-tabs button i { min-width: 26px; padding: 3px 8px; border-radius: 20px; background: #eef4ea; font-style: normal; font-size: 12px; font-weight: 700; text-align: center; color: #00613c; transition: background .25s, color .25s; }
.scp-tabs button:hover { transform: translateY(-2px); border-color: #00613c; }
.scp-tabs button.on { background: #00613c; border-color: #00613c; color: #fff; box-shadow: 0 8px 20px rgba(0, 97, 60, .28); }
.scp-tabs button.on i { background: rgba(255, 255, 255, .2); color: #fff; }

.scp-status { margin: 8px 0 26px; font-size: 14px; color: #6b7c75; }
.scp-status span { font-weight: 700; color: #12251f; }

/* cards */
.scp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 26px; }
.scp-card { display: flex; flex-direction: column; background: #fff; border-radius: 22px; box-shadow: 0 6px 22px rgba(0, 60, 40, .07); opacity: 0; transform: translateY(34px) scale(.97); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.scp-card.off { display: none; }
.scp-card.in { opacity: 1; transform: none; }
.scp-card.in:hover { transform: translateY(-8px); box-shadow: 0 22px 44px rgba(0, 60, 40, .17); }
.scp-media { position: relative; border-radius: 22px 22px 0 0; overflow: hidden; background: linear-gradient(150deg, var(--c1), var(--c2)); }
.scp-media::before { content: ""; position: absolute; left: 50%; top: 52%; width: 66%; aspect-ratio: 1; margin: -33% 0 0 -33%; border-radius: 50%; background: rgba(255, 255, 255, .6); transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.scp-card:hover .scp-media::before { transform: scale(1.18); }
.scp-img { position: relative; display: block; aspect-ratio: 1; mix-blend-mode: multiply; }
.scp-img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.scp-card:hover .scp-img img { transform: scale(1.09) rotate(-1.5deg); }
.scp-badge { position: absolute; top: 14px; left: 14px; z-index: 3; padding: 6px 12px; border-radius: 20px; background: #e5484d; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em; box-shadow: 0 4px 10px rgba(229, 72, 77, .35); }
.scp-heart { position: absolute; top: 12px; right: 12px; z-index: 3; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 12px rgba(0, 0, 0, .1); opacity: 0; transform: scale(.7); transition: opacity .3s, transform .3s, background .2s; }
.scp-card:hover .scp-heart, .scp-heart.on { opacity: 1; transform: none; }
.scp-heart svg { width: 19px; height: 19px; fill: none; stroke: #12251f; stroke-width: 1.9; stroke-linejoin: round; transition: fill .2s, stroke .2s; }
.scp-heart.on svg { fill: #e5484d; stroke: #e5484d; }
.scp-heart .sc-wl-t { display: none; }

.scp-quick { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 3; transform: translateY(24px); opacity: 0; transition: transform .45s cubic-bezier(.2, .7, .2, 1), opacity .35s ease; }
.scp-card:hover .scp-quick { transform: none; opacity: 1; }
.scp-quick a.button, .scp-quick .button { display: block !important; width: 100% !important; margin: 0 !important; padding: 13px 10px !important; border: 0 !important; border-radius: 30px !important; background: #00613c !important; color: #fff !important; font: 700 13px 'Spartan', Arial, sans-serif !important; letter-spacing: .08em; text-align: center; text-transform: uppercase; box-shadow: 0 8px 20px rgba(0, 97, 60, .35); transition: background .2s !important; }
.scp-quick a.button:hover { background: #12251f !important; }
.scp-quick .added_to_cart { display: none !important; }

.scp-info { padding: 20px 22px 24px; text-align: center; }
.scp-cat { display: block; margin-bottom: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: #6f9a2e; }
.scp-info h3 { margin: 0 0 10px; min-height: 48px; font-size: 17px; line-height: 1.4; font-weight: 700; letter-spacing: 0; text-transform: none; color: #12251f; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.scp-info h3 a:hover { color: #00613c; }
.scp-price { font-size: 19px; font-weight: 700; color: #d81e41; }
.scp-price del { margin-right: 6px; font-size: 14px; font-weight: 400; color: #8a8a8a; opacity: 1; }
.scp-price ins { background: none; text-decoration: none; }
.scp-price .screen-reader-text { display: none; }

.scp-empty { margin: 50px 0; text-align: center; font-size: 17px; color: #55655f; }
.scp-more { margin-top: 54px; text-align: center; }
.scp-more button { padding: 17px 46px; border: 2px solid #00613c; border-radius: 40px; background: transparent; color: #00613c; font: 700 14px 'Spartan', Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s, transform .25s, box-shadow .25s; }
.scp-more button:hover { background: #00613c; color: #fff; transform: translateY(-3px); box-shadow: 0 12px 26px rgba(0, 97, 60, .28); }
.scp-more[hidden], .scp-more.done { display: none; }

@media (max-width: 1200px) { .scp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .scp-bar { top: 70px; } body.admin-bar .scp-bar { top: 116px; } }
@media (max-width: 600px) { body.admin-bar .scp-bar { top: 70px; } }
@media (max-width: 800px) {
	.scp { padding: 56px 14px 70px; }
	.scp-head { margin-bottom: 22px; }
	.scp-search { width: 100%; }
	.scp-bar { margin: 0 -14px 10px; padding: 10px 14px; }
	.scp-tabs button { height: 40px; padding: 0 15px; font-size: 13px; }
	.scp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
	.scp-card, .scp-media { border-radius: 16px; }
	.scp-media { border-radius: 16px 16px 0 0; }
	.scp-info { padding: 14px 10px 16px; }
	.scp-info h3 { font-size: 14px; min-height: 40px; }
	.scp-price { font-size: 16px; }
	.scp-quick, .scp-heart { opacity: 1; transform: none; }
	.scp-quick { left: 8px; right: 8px; bottom: 8px; }
	.scp-quick a.button { padding: 10px 6px !important; font-size: 11px !important; }
}
@media (prefers-reduced-motion: reduce) { .scp-blob { animation: none; } .scp-card { transition: opacity .2s; transform: none; } }
