/* Big NC Tennis compact layer for shop subpages, partners, strings, flex league, archive (Oct 11, 2026). Scoped to body.rf. */
body.rf{font-size:16px}
body.rf main,body.rf .container,body.rf .wide{max-width:1100px!important;margin-left:auto!important;margin-right:auto!important}
body.rf main .container,body.rf section .container,body.rf .wide{padding-left:0!important;padding-right:0!important}
@media (min-width:1200px){body.rf .container,body.rf .wide{padding-left:0;padding-right:0}}
body.rf .page-hero,body.rf>.hero{padding:1.9rem max(5%,calc((100% - 1100px)/2)) 1.6rem!important}
body.rf .page-hero p{max-width:640px!important}
/* tighter vertical rhythm, no dead gaps */
body.rf main section,body.rf main>.container,body.rf>.container,body.rf>section:not(.page-hero){padding-top:1.6rem!important;padding-bottom:1.2rem!important}
body.rf h2,body.rf .section-title{letter-spacing:-.015em;color:var(--ink)}
body.rf p{line-height:1.55}
/* one action color for every button */
body.rf main a.btn,body.rf .btn-shop,body.rf .btn-demo,body.rf .btn-blue,body.rf .brand-btn,body.rf .btn-hc,body.rf .btn-amazon,body.rf .btn-sv,body.rf .btn-bn,body.rf .btn-sponsor,body.rf .btn-main,body.rf .cta-main,body.rf a.cta{display:inline-flex!important;align-items:center;justify-content:center;background:var(--action)!important;color:#fff!important;border:1px solid var(--action)!important;border-radius:10px!important;font-weight:700!important;text-shadow:none!important;box-shadow:0 1px 2px rgba(10,111,176,.25),0 6px 16px rgba(10,111,176,.16),inset 0 1px 0 rgba(255,255,255,.18)!important;text-decoration:none!important}
body.rf main a.btn:hover,body.rf .btn-shop:hover,body.rf .btn-demo:hover,body.rf .btn-blue:hover,body.rf .brand-btn:hover,body.rf .btn-hc:hover,body.rf .btn-amazon:hover,body.rf .btn-sv:hover,body.rf .btn-bn:hover,body.rf .btn-sponsor:hover,body.rf .btn-main:hover,body.rf .cta-main:hover,body.rf a.cta:hover{background:var(--action-h)!important;border-color:var(--action-h)!important}
/* cards: same raised white box everywhere */
body.rf .card,body.rf .product,body.rf .product-card,body.rf .item,body.rf .demo-box,body.rf .info-box,body.rf .affiliate-note,body.rf .toc,body.rf .station,body.rf .plan,body.rf .safety,body.rf .box,body.rf .strings-box,body.rf .tip,body.rf .callout{background:var(--surface)!important;border:1px solid rgba(17,24,39,.06)!important;border-top-width:1px!important;border-radius:var(--r)!important;box-shadow:var(--sh-2),var(--hl)!important}
body.rf .affiliate-note{box-shadow:none!important;background:transparent!important;border:0!important;color:var(--muted)!important;font-size:.82rem!important;padding:.4rem 0!important}
body.rf .card h3,body.rf .card h2{color:var(--ink)!important}
body.rf main a:not([class]){color:var(--action)}
/* footer: same as redesigned pages */
body.rf footer,body.rf footer p{color:rgba(255,255,255,.86)!important}
body.rf footer a{text-decoration:none!important}
body.rf footer{padding:1.4rem 4%!important;font-size:.85rem!important}
body.rf img:not([alt]){outline:0}
@media (max-width:620px){body.rf .page-hero{padding:1.4rem 5% 1.2rem!important}body.rf main a.btn,body.rf .btn-shop,body.rf .btn-blue{min-height:44px}}
body.rf .grid{max-width:none!important}
/* side guides and promo boxes: light cards, not dark slabs */
body.rf .level-guide,body.rf .premium-box,body.rf .demo-box,body.rf .banner-wrap .banner,body.rf .book-box{background:var(--surface)!important;color:var(--ink)!important;border:1px solid rgba(17,24,39,.06)!important;border-radius:var(--r)!important;box-shadow:var(--sh-2),var(--hl)!important}
body.rf .level-guide h2,body.rf .premium-box h3,body.rf .demo-box h2,body.rf .demo-box h3{color:var(--purple)!important}
body.rf .level-guide .guide-sub,body.rf .premium-box p{color:var(--muted)!important}
body.rf .level-item{background:var(--bg)!important;border:0!important;border-left:3px solid var(--action)!important;color:var(--ink-2)!important;border-radius:8px!important}
body.rf .level-item h3,body.rf .level-item strong{color:var(--ink)!important}
body.rf .level-item p{color:var(--ink-2)!important}
body.rf .page-hero .subtitle{font-size:.8rem!important;letter-spacing:.08em;text-transform:uppercase;color:var(--purple)!important;order:-1}
body.rf .card{transition:transform .15s,box-shadow .15s}
@media (max-width:1199px){body.rf>section:not(.page-hero),body.rf main>section:not(.page-hero){padding-left:5%!important;padding-right:5%!important}}
