/*
Theme Name: Roster Made
Theme URI: https://rostermade.com
Description: Lightweight Kadence child theme for the Roster Made custom teamwear store.
Author: Roster Made
Template: kadence
Version: 0.1.0
Text Domain: rostermade
*/

:root {
  --rm-ink: #111318;
  --rm-paper: #f7f6f1;
  --rm-white: #ffffff;
  --rm-lime: #c7ff42;
  --rm-blue: #1e4cff;
  --rm-muted: #667085;
  --rm-line: #dfe3e8;
  --rm-radius: 16px;
}

body { color: var(--rm-ink); background: var(--rm-white); }
.site-header { border-bottom: 1px solid var(--rm-line); }
.site-branding .site-title { letter-spacing: -.04em; text-transform: uppercase; }
.button, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  border-radius: 8px !important; font-weight: 800 !important; letter-spacing: .01em;
}
.woocommerce div.product div.images img { border-radius: var(--rm-radius); background: var(--rm-paper); }
.woocommerce ul.products li.product { border: 1px solid var(--rm-line); border-radius: var(--rm-radius); padding: 14px; transition: .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(17,19,24,.09); }
.woocommerce ul.products li.product img { border-radius: 10px; }

.rm-hero { background: var(--rm-ink); color: var(--rm-white); padding: clamp(72px,10vw,140px) 24px; overflow: hidden; position: relative; }
.rm-hero:after { content:""; position:absolute; right:-8%; top:-20%; width:44vw; height:44vw; border:1px solid rgba(199,255,66,.35); border-radius:50%; box-shadow:0 0 0 80px rgba(199,255,66,.04),0 0 0 160px rgba(199,255,66,.025); }
.rm-shell { width:min(1180px,100%); margin:0 auto; position:relative; z-index:1; }
.rm-eyebrow { color:var(--rm-lime); font-size:13px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.rm-hero h1 { color:#fff; font-size:clamp(48px,8vw,104px); line-height:.92; letter-spacing:-.065em; max-width:900px; margin:20px 0 24px; text-transform:uppercase; }
.rm-hero p { color:#d0d5dd; font-size:clamp(18px,2vw,22px); max-width:680px; }
.rm-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.rm-btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; border-radius:8px; background:var(--rm-lime); color:var(--rm-ink); text-decoration:none; font-weight:900; }
.rm-btn--ghost { color:#fff; background:transparent; border:1px solid #667085; }
.rm-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rm-line); border-bottom:1px solid var(--rm-line); }
.rm-trust div { padding:24px; text-align:center; background:#fff; font-weight:800; }
.rm-section { padding:clamp(64px,8vw,110px) 24px; }
.rm-section--soft { background:var(--rm-paper); }
.rm-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:34px; }
.rm-heading h2 { margin:0; font-size:clamp(36px,5vw,64px); letter-spacing:-.055em; text-transform:uppercase; }
.rm-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.rm-sport { min-height:260px; display:flex; flex-direction:column; justify-content:end; padding:24px; border-radius:var(--rm-radius); color:#fff; text-decoration:none; background:linear-gradient(145deg,#1e4cff,#101828); }
.rm-sport:nth-child(2) { background:linear-gradient(145deg,#ff5c35,#7a271a); }
.rm-sport:nth-child(3) { background:linear-gradient(145deg,#12b76a,#054f31); }
.rm-sport:nth-child(4) { background:linear-gradient(145deg,#7f56d9,#2d1b69); }
.rm-sport span { font-size:13px; opacity:.8; text-transform:uppercase; letter-spacing:.12em; }
.rm-sport strong { font-size:30px; letter-spacing:-.04em; }
.rm-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; counter-reset:step; }
.rm-step { background:#fff; border:1px solid var(--rm-line); border-radius:var(--rm-radius); padding:30px; counter-increment:step; }
.rm-step:before { content:"0" counter(step); display:block; color:var(--rm-blue); font-weight:900; margin-bottom:40px; }
.rm-cta { background:var(--rm-blue); color:#fff; border-radius:24px; padding:clamp(36px,6vw,72px); display:flex; justify-content:space-between; align-items:end; gap:32px; }
.rm-cta h2 { color:#fff; margin:0; max-width:690px; font-size:clamp(38px,5vw,68px); line-height:.95; letter-spacing:-.055em; text-transform:uppercase; }

.rm-customizer { margin:26px 0; padding:24px; border:1px solid var(--rm-line); border-radius:var(--rm-radius); background:#fff; }
.rm-customizer h3 { margin:0 0 6px; font-size:24px; }
.rm-customizer__intro { color:var(--rm-muted); margin:0 0 22px; }
.rm-field { margin-bottom:18px; }
.rm-field label, .rm-field legend { display:block; font-size:14px; font-weight:800; margin-bottom:8px; }
.rm-field input[type="text"], .rm-field input[type="number"], .rm-field select, .rm-field textarea, .rm-field input[type="file"] { width:100%; border:1px solid #aeb4bd; border-radius:7px; padding:11px 12px; background:#fff; }
.rm-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rm-choice-grid { display:flex; flex-wrap:wrap; gap:8px; }
.rm-choice { position:relative; }
.rm-choice input { position:absolute; opacity:0; pointer-events:none; }
.rm-choice span { display:block; padding:10px 14px; border:1px solid #aeb4bd; border-radius:7px; font-weight:750; cursor:pointer; }
.rm-choice input:checked + span { color:#fff; background:var(--rm-ink); border-color:var(--rm-ink); }
.rm-price-note { padding:12px; border:1px solid #f1c0c0; border-radius:7px; background:#fffafa; font-size:14px; }
.rm-price-note strong { color:#d92d20; }
.rm-required { color:#d92d20; }

@media (max-width: 900px) { .rm-grid{grid-template-columns:repeat(2,1fr)} .rm-trust{grid-template-columns:repeat(2,1fr)} .rm-steps{grid-template-columns:1fr} .rm-cta{align-items:start;flex-direction:column} }
@media (max-width: 560px) { .rm-grid,.rm-field-grid{grid-template-columns:1fr} .rm-trust{grid-template-columns:1fr 1fr} .rm-hero h1{font-size:50px} .rm-customizer{padding:17px} }
