/* Season plugin (فصل و پیش‌خرید): uses the theme's colour tokens, so light and dark both work. @author ejafari */
.season-upcoming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.season-upcoming-card{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--v-radius);background:var(--v-surface);border:1px solid var(--v-line)}
.season-upcoming-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.season-upcoming-head h3{font-size:1.02rem;font-weight:900;margin:0}
.season-upcoming-head h3 a{color:var(--v-forest-deep)}
.season-pill{flex:0 0 auto;padding:3px 10px;border-radius:999px;background:var(--v-honey-soft);color:var(--v-honey-deep);font-size:.74rem;font-weight:800}
.season-upcoming-desc{margin:0;color:var(--v-ink-soft);font-size:.85rem;line-height:1.9}
.season-box{margin-top:auto;padding:14px;border-radius:var(--v-radius-sm);background:var(--v-surface-2);border:1px dashed var(--v-line-strong)}
.product-info .season-box{margin:0 0 24px}
.season-box-title{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.season-box-title strong{color:var(--v-forest-deep);font-size:.92rem}
.season-box-title small{color:var(--v-ink-soft);font-size:.76rem}
.season-box-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.season-box-fields .form-control{min-height:42px;font-size:.88rem}
.season-box-actions{display:flex;flex-wrap:wrap;gap:8px}
.season-box-actions .btn{flex:1 1 auto}
.season-terms{margin-bottom:10px;padding:10px 12px;border-radius:10px;background:var(--v-honey-soft);color:var(--v-warn-ink);font-size:.8rem;line-height:1.9}
.season-terms p{margin:0 0 6px}
.season-terms.is-invalid{outline:2px solid var(--v-danger)}
.season-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.season-note{padding:8px 10px;border-radius:10px;background:var(--v-info-soft);color:var(--v-info-ink);line-height:1.8}
.season-note a{font-weight:800}
.season-res{padding:14px 0;border-bottom:1px solid var(--v-line)}
.season-res:last-child{border-bottom:0}
.season-res-main{display:flex;justify-content:space-between;gap:12px}
.season-res-main small{display:block;color:var(--v-ink-soft);font-size:.78rem;margin-top:2px}
.season-res-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.74rem;font-weight:800;background:var(--v-surface-2);color:var(--v-ink-soft)}
.season-res-status.is-active{background:var(--v-sage);color:var(--v-forest-deep)}
.season-move{margin-top:10px;padding:12px;border-radius:var(--v-radius-sm);background:var(--v-danger-soft);color:var(--v-danger-ink);font-size:.85rem;line-height:1.9}
.season-move p{margin:0 0 8px}
.season-wallet-balance{display:flex;align-items:baseline;gap:10px;margin:10px 0;padding:14px 16px;border-radius:var(--v-radius-sm);background:var(--v-sage);color:var(--v-forest-deep)}
.season-wallet-balance strong{font-size:1.4rem;font-weight:900}
@media (max-width:575.98px){.season-box-fields{grid-template-columns:1fr}.season-box-actions .btn{width:100%}}
