/* Team orders — light-DOM styles: hide single-shirt buying controls in team mode, plus the
   [jersey_team_orders] landing page. The roster UI itself lives in Shadow DOM. */

/* Team mode: sizes and quantity come from the roster; the team has its own "Add team to cart". */
form.cart.jp-team-mode table.variations,
form.cart.jp-team-mode .single_variation_wrap,
form.cart.jp-team-mode .woocommerce-variation-add-to-cart,
form.cart.jp-team-mode .reset_variations,
form.cart.jp-team-mode .nek-buy-box,
form.cart.jp-team-mode > .quantity,
form.cart.jp-team-mode > .single_add_to_cart_button {
	display: none !important;
}
.jp-team { margin: 0 0 1.25em; }
.jp-team-bottom { margin: 0 0 1.5em; }
.jp-team-cod-note { margin: 0 0 1em; padding: 10px 12px; font-size: 14px; background: #fff8e6; border-left: 3px solid #f5a524; }

/* ---------- Landing page ---------- */
.jp-tp { --jp-tp-fg: #14161b; --jp-tp-muted: #5b6270; --jp-tp-line: #e3e6eb; --jp-tp-accent: #ffe100; --jp-tp-dark: #1b2a4a; color: var(--jp-tp-fg); }
.jp-tp h2 { margin: 0 0 8px; }
.jp-tp h3 { margin: 32px 0 12px; }
.jp-tp-hero { padding: 28px 24px; background: var(--jp-tp-dark); color: #fff; }
.jp-tp-hero h2, .jp-tp-hero p { color: #fff; }
.jp-tp-hero p { margin: 0 0 16px; max-width: 46em; opacity: .9; }
.jp-tp-tiers { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.jp-tp-tiers li { display: grid; padding: 10px 16px; background: var(--jp-tp-accent); color: #111; }
.jp-tp-tiers strong { font-size: 20px; line-height: 1.1; }
.jp-tp-tiers span { font-size: 13px; }
.jp-tp-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; counter-reset: s; }
.jp-tp-steps li { position: relative; display: grid; gap: 4px; padding: 16px 16px 16px 52px; border: 1px solid var(--jp-tp-line); counter-increment: s; }
.jp-tp-steps li::before { content: counter(s); position: absolute; left: 14px; top: 14px; width: 28px; height: 28px; display: grid; place-items: center; font-weight: 800; background: var(--jp-tp-fg); color: #fff; }
.jp-tp-steps span { color: var(--jp-tp-muted); font-size: 14px; }
.jp-tp-kits { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.jp-tp-kits a { display: grid; gap: 6px; height: 100%; padding: 10px; color: inherit; text-decoration: none; border: 1px solid var(--jp-tp-line); }
.jp-tp-kits a:hover { border-color: var(--jp-tp-fg); }
.jp-tp-kits img { width: 100%; height: auto; display: block; }
.jp-tp-kit-name { font-weight: 700; }
.jp-tp-kit-price { color: var(--jp-tp-muted); font-size: 14px; }
.jp-tp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; font-weight: 700; color: #111; background: var(--jp-tp-accent); border: 0; text-decoration: none; cursor: pointer; }
.jp-tp-btn.alt { background: #25d366; color: #fff; }
.jp-tp-wa { margin: 24px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.jp-tp-quote { margin: 36px 0 0; padding: 24px; background: #f5f6f8; scroll-margin-top: 120px; }
.jp-tp-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 4px 16px; }
.jp-tp-form p { margin: 0 0 10px; }
.jp-tp-form label { display: block; margin: 0 0 4px; font-size: 14px; font-weight: 600; }
.jp-tp-form input:not([type=file]), .jp-tp-form select, .jp-tp-form textarea { width: 100%; }
.jp-tp-form small { display: block; color: var(--jp-tp-muted); font-size: 12px; }
.jp-tp-wide { grid-column: 1 / -1; }
.jp-tp-hp { position: absolute !important; left: -9999px !important; }
.jp-tp-note { padding: 10px 12px; font-weight: 600; }
.jp-tp-note.ok { background: #e7f6ec; color: #0a5c2c; }
.jp-tp-note.err { background: #fdecea; color: #8a1c13; }
