/*
Theme Name: Ridgeline Youth Wrestling
Template: joydea-base
Description: Joydea child theme for ridgeline.joydea.com. Generated by provision.py; brand values live in the site config.
Version: 1.0.0
Text Domain: joydea-ridgeline
*/


:root { --rw-red:#B91C1C; --rw-red-d:#8F1414; --rw-ink:#141414; --rw-chalk:#F2F1EC; --rw-muted:#55554F; }
body { background: var(--rw-chalk); color: var(--rw-ink); }
.rw-wrap { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
h1,h2,h3,.rw-h1,.rw-h2 { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing:.01em; line-height:.95; font-weight:400; color: var(--rw-ink); }
.rw-h1 { font-size: clamp(3.4rem, 8.5vw, 8rem); margin: 1rem 0 1.2rem; color:#fff; }
.rw-h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); margin: 0 0 1.2rem; }
h3 { font-size: 1.5rem; margin: .4rem 0; }
.rw-label { display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color: var(--rw-red); }
.rw-lead { font-size: 1.2rem; line-height:1.5; max-width: 560px; margin: 0 0 1.5rem; color: rgba(255,255,255,.9); }
.rw-body { color: var(--rw-muted); font-size: 1.02rem; line-height:1.7; margin: 0 0 1rem; }
.rw-muted { color: var(--rw-muted); } .rw-fine { color: var(--rw-muted); font-size:.85rem; margin:.8rem 0 0; }
.rw-section { padding: 5rem 0; } .rw-tight { padding-top: 3rem; }
.rw-head { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom: 1.6rem; }
.rw-btns { display:flex; gap:.9rem; flex-wrap:wrap; }
.rw-btn { display:inline-flex; align-items:center; justify-content:center; padding: 1rem 1.6rem; font-weight:700; font-size:.95rem; text-transform:uppercase; letter-spacing:.06em; text-decoration:none; transition: background .15s, color .15s; }
.rw-btn-red { background: var(--rw-red); color:#fff; } .rw-btn-red:hover { background: var(--rw-ink); color:#fff; }
.rw-btn-black { background: var(--rw-ink); color:#fff; } .rw-btn-black:hover { background: var(--rw-red); color:#fff; }
.rw-btn-white { background:#fff; color: var(--rw-ink); } .rw-btn-white:hover { background: var(--rw-red); color:#fff; }
.rw-more { font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; color: var(--rw-ink); text-decoration:none; white-space:nowrap; } .rw-more:hover { color: var(--rw-red); }
.rw-more-white { color:#fff; }
.rw-chip { display:inline-block; padding:.4rem .7rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background: var(--rw-ink); color:#fff; }
.rw-chip-red { background: var(--rw-red); } .rw-chip-grey { background: var(--rw-muted); } .rw-chip-white { background:#fff; color: var(--rw-red); }
.rw-card { background:#fff; border:2px solid var(--rw-ink); }
/* hero */
.rw-hero { position:relative; background: var(--rw-red); color:#fff; padding: 5rem 0 8rem; overflow:hidden; clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%); }
.rw-hero-img { position:absolute; right:0; top:0; height:100%; width: 52%; object-fit: cover; clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); filter: saturate(.9) contrast(1.05); }
.rw-hero::before { content:""; position:absolute; right:0; top:0; width:52%; height:100%; background: linear-gradient(90deg, var(--rw-red) 0%, rgba(185,28,28,.55) 30%, rgba(185,28,28,0) 70%); z-index:1; pointer-events:none; }
.rw-hero-inner { position:relative; z-index:2; max-width: 1240px; }
.rw-hero-page { padding: 4rem 0 6rem; } .rw-hero-page .rw-h1 { font-size: clamp(2.8rem, 6vw, 5.5rem); }
.rw-hero-noimg::before { display:none; }
.rw-stats { display:flex; gap:2.4rem; margin-top:1.2rem; flex-wrap:wrap; }
.rw-stats b { display:block; font-family: var(--wp--preset--font-family--heading); font-size:2.4rem; font-weight:400; line-height:1; } .rw-stats span { font-size:.85rem; opacity:.85; }
.rw-crest { width:120px; height:auto; display:block; margin-bottom:1.2rem; filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
/* ticker */
.rw-ticker { background: var(--rw-ink); color:#fff; padding:.7rem 0; overflow:hidden; margin-top:-3.8rem; position:relative; z-index:3; }
.rw-tk-track { display:flex; gap:2.5rem; white-space:nowrap; width:max-content; animation: rw-tick 26s linear infinite; font-family: var(--wp--preset--font-family--heading); text-transform:uppercase; font-size:1.1rem; letter-spacing:.08em; }
.rw-tk-sep { color: var(--rw-red); } @keyframes rw-tick { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rw-tk-track { animation:none; } }
/* news */
.rw-two-news { display:grid; grid-template-columns: 1.4fr .8fr; gap: 2.5rem; align-items:start; }
.rw-grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.rw-grid-3 { display:grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.rw-news { display:flex; flex-direction:column; text-decoration:none; color:inherit; } .rw-news img { width:100%; height:180px; object-fit:cover; display:block; border-bottom:2px solid var(--rw-ink); }
.rw-news-body { padding:1.2rem; } .rw-news h3 { font-size:1.5rem; margin:.4rem 0; } .rw-news p { margin:0; color: var(--rw-muted); font-size:.92rem; line-height:1.5; }
.rw-wow { background: var(--rw-ink); color:#fff; padding:1.6rem; display:flex; flex-direction:column; gap:.9rem; }
.rw-wow img { width:100%; height:260px; object-fit:cover; display:block; } .rw-wow h3 { color:#fff; font-size:2.6rem; margin:0; } .rw-wow p { margin:0; color: rgba(255,255,255,.8); font-size:.95rem; line-height:1.5; }
/* schedule */
.rw-sched { border-bottom:2px solid var(--rw-ink); }
.rw-row { display:grid; grid-template-columns: 110px 1fr 1fr auto; gap:1rem; padding:1rem 0; border-top:2px solid var(--rw-ink); align-items:center; font-size:.95rem; }
.rw-date { font-family: var(--wp--preset--font-family--heading); font-size:1.5rem; font-weight:400; text-transform:uppercase; }
/* coaches */
.rw-coach img { width:100%; height:220px; object-fit:cover; display:block; filter: grayscale(.2); } .rw-coach h3 { margin:.7rem 0 .2rem; } .rw-coach p { margin:0; color: var(--rw-muted); font-size:.9rem; }
/* faq */
.rw-faq { border-top:2px solid var(--rw-ink); padding:1rem 0; } .rw-faq:last-of-type { border-bottom:2px solid var(--rw-ink); }
.rw-faq summary { cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; font-size:1.05rem; }
.rw-faq summary::after { content:"+"; color: var(--rw-red); font-weight:700; } .rw-faq[open] summary::after { content:"–"; }
.rw-faq p { color: var(--rw-muted); margin:.6rem 0 0; line-height:1.6; }
/* sponsors, band, fees, gallery, hof */
.rw-sponsors { display:flex; align-items:center; gap:1.8rem; flex-wrap:wrap; padding: 1rem 32px 2.5rem; } .rw-sponsors span { font-weight:700; opacity:.55; }
.rw-band { background: var(--rw-red); color:#fff; padding: 3.5rem 4rem; display:flex; justify-content:space-between; align-items:center; gap:2.5rem; }
.rw-band .rw-h2 { color:#fff; margin:0 0 .5rem; } .rw-band p { margin:0; font-size:1.05rem; opacity:.9; }
.rw-fees { border-top:2px solid var(--rw-ink); } .rw-fee { display:flex; justify-content:space-between; align-items:baseline; gap:2rem; padding:1.2rem 0; border-bottom:2px solid var(--rw-ink); }
.rw-fee h3 { margin:0; } .rw-fee p { margin:.3rem 0 0; color: var(--rw-muted); font-size:.95rem; max-width:620px; } .rw-fee b { font-family: var(--wp--preset--font-family--heading); font-size:2rem; font-weight:400; white-space:nowrap; }
.rw-gallery { display:grid; grid-template-columns: repeat(3,1fr); gap:.8rem; } .rw-gallery img { width:100%; height:240px; object-fit:cover; display:block; border:2px solid var(--rw-ink); }
.rw-hof { border-bottom:2px solid var(--rw-ink); } .rw-hof-row { display:grid; grid-template-columns: 110px 1fr 1fr; gap:1rem; padding:.9rem 0; border-top:2px solid var(--rw-ink); align-items:center; }
/* forms */
.rw-form { background:#fff; border:2px solid var(--rw-ink); padding:1.8rem; }
.rw-form input, .rw-form textarea, .rw-form select { border:2px solid var(--rw-ink) !important; border-radius:0 !important; padding:.8rem 1rem !important; }
.rw-form .ff-btn-submit, .rw-form button[type=submit] { width:100%; background: var(--rw-red) !important; color:#fff !important; border:0 !important; border-radius:0 !important; font-weight:700 !important; text-transform:uppercase; letter-spacing:.06em; padding:1rem !important; }
.rw-two { display:grid; grid-template-columns: 1fr 1fr; gap:3rem; align-items:start; }
/* header, footer, blog */
.jd-header { background: var(--rw-ink) !important; color:#fff; }
.jd-header .wp-block-site-title a, .jd-header .wp-block-navigation a { color:#fff; text-transform:uppercase; letter-spacing:.06em; font-weight:600; font-size:.9rem; }
.jd-header .wp-block-site-title a { font-family: var(--wp--preset--font-family--heading); font-size:1.4rem; font-weight:400; }
.jd-header .wp-block-navigation a:hover { color: var(--rw-red); text-decoration:none; }
.jd-header .jd-header-cta .wp-block-button__link { background: var(--rw-red); color:#fff; border-radius:0; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--rw-ink) !important; } .wp-block-navigation__responsive-container.is-menu-open a { color:#fff !important; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color:#fff !important; }
.jd-footer { background: var(--rw-ink) !important; } .jd-footer, .jd-footer p, .jd-footer .wp-block-site-tagline { color: rgba(255,255,255,.7) !important; }
.jd-footer a, .jd-footer h4, .jd-footer .wp-block-site-title a, .jd-footer .has-base-color { color:#fff !important; } .jd-footer .jd-eyebrow { color: var(--rw-red) !important; }
.jd-card { background:#fff !important; border:2px solid var(--rw-ink); border-radius:0; box-shadow:none; }
.blog main::before { content: "Club news"; display:block; font-family: var(--wp--preset--font-family--heading); text-transform:uppercase; font-size: 3rem; margin-bottom:.5rem; }
.blog .wp-block-post-title { font-size:1.6rem; line-height:1.1; margin:.4rem 0 .6rem; } .blog .wp-block-post-title a { text-decoration:none; color: var(--rw-ink); }
.single-post .wp-block-post-content { max-width: 720px; margin:0 auto; font-size:1.05rem; line-height:1.7; }
@media (max-width: 1000px) {
  .rw-two-news, .rw-two, .rw-grid-2 { grid-template-columns: 1fr; } .rw-grid-3 { grid-template-columns: 1fr 1fr; } .rw-gallery { grid-template-columns: 1fr 1fr; }
  .rw-hero-img { width:100%; opacity:.28; clip-path:none; } .rw-hero::before { display:none; } .rw-row { grid-template-columns: 90px 1fr; } .rw-row .rw-muted { grid-column: 2; }
  .rw-band { flex-direction:column; align-items:flex-start; padding: 2.5rem 2rem; } .rw-head { flex-direction:column; align-items:flex-start; } .rw-hof-row { grid-template-columns: 90px 1fr; }
}
@media (max-width: 600px) { .rw-section { padding: 3.5rem 0; } .rw-wrap { padding: 0 20px; } .rw-grid-3, .rw-gallery { grid-template-columns: 1fr; } .rw-stats { gap:1.4rem; } }


