/* Product pages (Simple PayPal Cart) — hero + pricing tiers.
   Uses the theme's global tokens with fallbacks so it's robust anywhere. */

/* Product pages get a wider column than the 760px reading measure. */
.sts-has-product .sts-entry{max-width:1060px}

/* hero: copy on the LEFT, image / carousel on the RIGHT */
.sts-product{display:flex;flex-wrap:wrap;gap:36px;align-items:center;margin:0 0 40px}
.sts-product-body{flex:1.35 1 320px;min-width:0}
.sts-product-media{flex:1 1 320px;max-width:460px}
.sts-product-body>*:first-child{margin-top:0}
.sts-product-body h2{font-size:clamp(24px,3.6vw,34px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0 0 .4em;color:var(--ink,#161d18)}
.sts-product-body p,.sts-product-body li{color:var(--ink-soft,#4e5a51);line-height:1.6}
.sts-product-body ul{padding-left:1.2em;margin:0 0 1em}
.sts-product-body a{color:var(--green-deep,#1b5233)}

/* image / carousel */
.sts-carousel{position:relative}
.sts-carousel img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 1px 2px rgba(22,29,24,.05),0 22px 46px -28px rgba(27,82,51,.4)}
.sts-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:16px;-ms-overflow-style:none;scrollbar-width:none}
.sts-carousel-track::-webkit-scrollbar{display:none}
.sts-carousel-slide{flex:0 0 100%;scroll-snap-align:center}
.sts-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink,#161d18);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;padding:0}
.sts-carousel-arrow:hover{background:#fff}
.sts-carousel-prev{left:10px}
.sts-carousel-next{right:10px}
.sts-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.sts-carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line,#dce4d9);cursor:pointer;transition:background .15s}
.sts-carousel-dot.is-active{background:var(--green,#2f7d4f)}

/* pricing tiers — a clean, equal row */
.sts-buy-grid{display:grid;gap:18px;grid-template-columns:repeat(var(--sts-buy-cols,4),minmax(0,260px));justify-content:center;margin:8px 0 32px}
.sts-buy-tier{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 18px;border:1px solid var(--line,#dce4d9);border-radius:16px;background:var(--surface,#fff);text-align:center;box-shadow:0 1px 2px rgba(22,29,24,.04)}
.sts-buy-tier.is-featured{border-color:var(--green,#2f7d4f);box-shadow:0 0 0 1px var(--green,#2f7d4f),0 16px 34px -24px rgba(27,82,51,.4)}
.sts-buy-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--green,#2f7d4f);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:999px;white-space:nowrap}
.sts-buy-name{font-size:14px;font-weight:700;line-height:1.3;margin:0;color:var(--ink,#161d18)}
.sts-buy-price{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--green-deep,#1b5233);margin:2px 0 0}
.sts-buy-note{font-size:12.5px;color:var(--ink-faint,#84918a);margin:0}
.sts-buy-btn{margin-top:auto;padding-top:10px}

/* style the plugin's add-to-cart button (class-agnostic — target the submit) */
.sts-buy-btn form{margin:0}
.sts-buy-btn input[type="submit"],.sts-buy-btn button{display:inline-block;width:100%;font:inherit;font-weight:700;line-height:1.2;padding:11px 14px;border-radius:999px;border:1.5px solid var(--green,#2f7d4f);background:var(--green,#2f7d4f);color:#fff;cursor:pointer;transition:background .15s,transform .15s}
.sts-buy-btn input[type="submit"]:hover,.sts-buy-btn button:hover{background:var(--green-deep,#1b5233);transform:translateY(-1px)}

@media (max-width:600px){
	.sts-product{gap:22px}
	.sts-product-media{max-width:none;order:-1}
}
/* stack the tiers only on real phones */
@media (max-width:480px){
	.sts-buy-grid{grid-template-columns:1fr;justify-items:center}
}

/* Fine print under a buy grid — delivery time, refund policy, educational-use notice.
   Set small and muted so it reads as terms rather than as another selling point, but
   kept above the fold of the cart rather than buried, since "no refunds" and "allow up
   to 10 business days" are things a buyer should see BEFORE they add to cart. */
.sts-product-terms{max-width:70ch;margin:20px 0 0;font-size:13px;line-height:1.6;color:var(--ink-faint)}
