/* Editorial and navigation enhancements */
.mobile-nav { display:none; }
.hero-kicker { color:var(--clay); font-size:11px !important; font-weight:900; letter-spacing:.12em; margin:0 0 20px !important; text-transform:uppercase; }
.article-toc { background:var(--sand); border-left:4px solid var(--clay); display:grid; gap:0; margin:0 0 46px; padding:18px 22px; }
.article-toc > span { color:var(--clay); font-size:11px; font-weight:900; letter-spacing:.12em; margin-bottom:8px; text-transform:uppercase; }
.article-toc a { border-top:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:800; padding:10px 0; }
.article-toc a:hover { color:var(--clay); }
.faq-section, .related-guides { border-top:1px solid var(--line); margin-top:52px; padding-top:34px; }
.faq-section h2, .related-guides h2 { font-size:38px; margin:10px 0 22px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); padding:0; }
.faq-list summary { cursor:pointer; font-family:var(--serif); font-size:22px; font-weight:600; letter-spacing:-.03em; line-height:1.18; list-style:none; padding:19px 32px 19px 0; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { color:var(--clay); content:"+"; font-family:var(--sans); font-size:28px; font-weight:400; position:absolute; right:2px; top:13px; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list p { color:var(--muted); font-size:16px; line-height:1.65; margin:0; padding:0 28px 20px 0; }
.related-guides > div { display:grid; gap:12px; grid-template-columns:repeat(3,1fr); }
.related-guides a { background:var(--sand); color:var(--ink); display:flex; flex-direction:column; min-height:180px; padding:20px; position:relative; transition:background .2s ease, transform .2s ease; }
.related-guides a:hover { background:var(--lime); transform:translateY(-3px); }
.related-guides strong { font-family:var(--serif); font-size:24px; letter-spacing:-.04em; line-height:1.05; max-width:190px; }

.ppg-search-link { align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:50%; color:var(--ink); display:inline-flex; flex:0 0 auto; height:44px; justify-content:center; transition:background .2s ease,color .2s ease,border-color .2s ease; width:44px; }
.ppg-search-link:hover { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.ppg-search-link svg { height:21px; width:21px; }
.ppg-mobile-search { border-top:1px solid var(--line); padding:22px 0 6px; }

/* Free pickleball printable library and download modules. */
.ppg-printables-hero { background:linear-gradient(112deg,var(--ink) 0 66%,var(--lime) 66% 100%); color:var(--paper); }
.ppg-printables-hero h1,.ppg-printables-hero p { color:var(--paper); max-width:760px; }
.ppg-printables-hero .hero-breadcrumbs a,.ppg-printables-hero .hero-breadcrumbs span { color:#d6e2dc; }
.ppg-printables-hero .shell > span { color:var(--lime); display:block; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ppg-printables-intro { border-bottom:1px solid var(--line); }
.ppg-printable-grid { display:grid; gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ppg-printable-card { background:var(--white); border:1px solid var(--line); display:flex; flex-direction:column; min-width:0; }
.ppg-printable-card > div:last-child { display:flex; flex:1; flex-direction:column; padding:25px; }
.ppg-printable-card h3 { font-family:var(--serif); font-size:30px; letter-spacing:-.045em; line-height:1.02; margin:8px 0 14px; }
.ppg-printable-card p:not(.section-label),.ppg-printable-card li { color:var(--muted); font-size:14px; line-height:1.55; }
.ppg-printable-card ul { margin:6px 0 22px; padding-left:19px; }
.ppg-printable-card li + li { margin-top:5px; }
.ppg-printable-sheet { background:var(--lime); color:var(--ink); min-height:210px; overflow:hidden; padding:26px; position:relative; }
.ppg-printable-card-blue .ppg-printable-sheet { background:var(--pale-blue); }
.ppg-printable-card-clay .ppg-printable-sheet { background:var(--clay); color:var(--forest-dark); }
.ppg-printable-card-sand .ppg-printable-sheet { background:var(--sand); }
.ppg-printable-sheet:after { border:3px solid currentColor; border-radius:50%; content:""; height:126px; opacity:.1; position:absolute; right:-28px; top:-30px; width:126px; }
.ppg-printable-sheet > span { display:block; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ppg-printable-sheet > strong { display:block; font:600 54px/.95 var(--serif); letter-spacing:-.06em; margin:32px 0 10px; }
.ppg-printable-sheet > i { display:block; font-size:13px; font-style:normal; font-weight:800; }
.ppg-printable-sheet > b { background:var(--ink); bottom:22px; color:var(--paper); font-size:10px; letter-spacing:.09em; padding:7px 9px; position:absolute; right:22px; }
.ppg-printable-actions { align-items:flex-start; display:flex; flex-direction:column; gap:17px; margin-top:auto; }
.ppg-printable-actions .button { width:100%; }
.ppg-printable-actions .text-link { font-size:13px; }
.ppg-printables-use { background:var(--sand); }
.ppg-free-paid { padding-top:0; }
.ppg-free-paid-card { align-items:center; background:var(--ink); color:var(--paper); display:grid; gap:50px; grid-template-columns:1fr auto; padding:42px; }
.ppg-free-paid-card h2 { color:var(--paper); font-size:42px; }
.ppg-free-paid-card .section-label { color:var(--lime); }
.ppg-free-paid-card p:not(.section-label) { color:#d6e2dc; max-width:760px; }
.ppg-free-paid-card .text-link { color:var(--paper); white-space:nowrap; }
.ppg-free-paid-card .text-link:after { background:var(--lime); }

.ppg-primary-download { padding-bottom:0; }
.ppg-download-feature { align-items:stretch; background:var(--white); border:1px solid var(--line); display:grid; gap:0; grid-template-columns:minmax(280px,.72fr) 1.28fr; }
.ppg-download-feature > div:last-child { padding:42px; }
.ppg-download-feature h2 { font-size:45px; margin:9px 0 16px; }
.ppg-download-feature p:not(.section-label),.ppg-download-feature li { color:var(--muted); font-size:15px; line-height:1.6; }
.ppg-printable-sheet-large { min-height:100%; }
.ppg-printable-sheet-large > strong { font-size:72px; margin-top:70px; }
.ppg-static-rules { padding-bottom:20px; }
.ppg-rule-summary-grid { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ppg-rule-summary-grid article { background:var(--sand); border-top:4px solid var(--lime-deep); min-height:210px; padding:24px; }
.ppg-rule-summary-grid article:nth-child(3n+2) { border-color:var(--clay); }
.ppg-rule-summary-grid article:nth-child(3n) { border-color:var(--blue); }
.ppg-rule-summary-grid span { color:var(--clay-text); font-size:11px; font-weight:900; letter-spacing:.12em; }
.ppg-rule-summary-grid h3 { font:600 27px/1.05 var(--serif); letter-spacing:-.04em; margin:14px 0 10px; }
.ppg-rule-summary-grid p { color:var(--muted); font-size:14px; line-height:1.55; margin:0; }
.ppg-related-printables { background:var(--sand); }
.ppg-mini-printable-grid { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ppg-mini-printable-grid a { background:var(--white); border:1px solid var(--line); display:block; min-height:210px; padding:24px; transition:background .2s ease,transform .2s ease; }
.ppg-mini-printable-grid a:hover { background:var(--lime); transform:translateY(-3px); }
.ppg-mini-printable-grid span { color:var(--clay-text); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ppg-mini-printable-grid strong { display:block; font:600 28px/1.05 var(--serif); letter-spacing:-.04em; margin:15px 0 10px; }
.ppg-mini-printable-grid p { color:var(--muted); font-size:14px; line-height:1.5; }
.ppg-mini-printable-grid b { font-size:12px; }

.ppg-glossary-list { display:grid; gap:0; margin:24px 0 0; }
.ppg-glossary-list > div { border-top:1px solid var(--line); display:grid; gap:16px; grid-template-columns:minmax(150px,.34fr) minmax(0,1fr); padding:17px 0; }
.ppg-glossary-list > div:last-child { border-bottom:1px solid var(--line); }
.ppg-glossary-list dt,.ppg-glossary-list dd { margin:0; }
.ppg-glossary-list dt strong { color:var(--ink); display:block; font-family:var(--serif); font-size:21px; letter-spacing:-.03em; line-height:1.1; }
.ppg-glossary-list dt small { color:var(--clay-text); display:block; font-size:9px; font-weight:900; letter-spacing:.08em; line-height:1.35; margin-top:7px; text-transform:uppercase; }
.ppg-glossary-list dd { color:var(--muted); font-size:15px; line-height:1.6; }

@media (max-width:1100px) {
  .ppg-printables-hero { background:var(--ink); }
}

@media (max-width:900px) {
  .ppg-printable-grid,.ppg-rule-summary-grid,.ppg-mini-printable-grid { grid-template-columns:1fr; }
  .ppg-download-feature { grid-template-columns:1fr; }
  .ppg-printable-sheet-large { min-height:330px; }
  .ppg-free-paid-card { align-items:start; grid-template-columns:1fr; }
}

@media (max-width:520px) {
  .ppg-printable-card > div:last-child,.ppg-download-feature > div:last-child { padding:24px; }
  .ppg-download-feature h2 { font-size:37px; }
  .ppg-printable-sheet-large > strong { font-size:58px; }
  .ppg-free-paid-card { gap:26px; padding:28px 24px; }
  .ppg-free-paid-card h2 { font-size:35px; }
  .ppg-glossary-list > div { gap:8px; grid-template-columns:1fr; }
}
.ppg-mobile-search > label { color:var(--muted); display:block; font-size:12px; font-weight:800; letter-spacing:.06em; margin-bottom:8px; text-transform:uppercase; }
.ppg-mobile-search > div { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.ppg-mobile-search input { border:1px solid var(--line); border-radius:0; color:var(--ink); font:inherit; min-height:48px; padding:10px 12px; }
.ppg-mobile-search button { background:var(--ink); border:0; color:var(--paper); font:800 13px/1 var(--sans); padding:0 18px; }

.ppg-practical-module { background:var(--sand); border-left:5px solid var(--clay); margin:52px 0; padding:30px; }
.ppg-practical-module > p { max-width:650px; }
.ppg-step-list { counter-reset:none; display:grid; gap:0; list-style:none; margin:24px 0 0 !important; padding:0 !important; }
.ppg-step-list > li { align-items:start; border-top:1px solid var(--line); display:grid; gap:16px; grid-template-columns:42px minmax(0,1fr); padding:18px 0; }
.ppg-step-list > li:last-child { border-bottom:1px solid var(--line); }
.ppg-step-list > li > span { color:var(--clay); font-size:12px; font-weight:900; letter-spacing:.08em; padding-top:3px; }
.ppg-step-list h3 { font-family:var(--serif); font-size:23px; letter-spacing:-.035em; line-height:1.15; margin:0 0 7px; }
.ppg-step-list p { color:var(--muted); font-size:15px !important; line-height:1.58 !important; margin:0 !important; }

.ppg-editorial-review { border:1px solid var(--line); display:grid; gap:14px; margin:50px 0 8px; padding:22px 24px; }
.ppg-editorial-review > div:first-child { display:grid; gap:5px; }
.ppg-editorial-review span { color:var(--clay); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ppg-editorial-review strong { color:var(--ink); font-family:var(--serif); font-size:22px; letter-spacing:-.03em; }
.ppg-editorial-review p { color:var(--muted); font-size:13px; line-height:1.55; margin:0; }
.ppg-editorial-review > div:last-child { display:flex; flex-wrap:wrap; gap:8px 18px; }
.ppg-editorial-review time,.ppg-editorial-review a { color:var(--ink); font-size:12px; font-weight:800; }
.ppg-editorial-review a { text-decoration:underline; text-decoration-color:var(--lime-deep); text-decoration-thickness:2px; }

.ppg-disclosure-wrap { margin-bottom:-10px; margin-top:28px; }
.ppg-disclosure-note { align-items:start; background:var(--sand); border:1px solid var(--line); border-left:5px solid var(--clay); display:grid; gap:7px; grid-template-columns:minmax(150px,.38fr) minmax(0,1.3fr) auto; padding:17px 19px; }
.ppg-disclosure-note span { color:var(--clay-text); font-size:10px; font-weight:900; letter-spacing:.11em; padding-top:4px; text-transform:uppercase; }
.ppg-disclosure-note p { color:var(--muted); font-size:13px; line-height:1.55; margin:0; }
.ppg-disclosure-note a,.ppg-disclosure-link a { color:var(--ink); font-size:12px; font-weight:900; text-decoration:underline; text-decoration-color:var(--lime-deep); text-decoration-thickness:2px; text-underline-offset:3px; }
.ppg-disclosure-note a { white-space:nowrap; }
.ppg-disclosure-link { margin-top:10px !important; }

@media (max-width:760px) {
  .ppg-disclosure-note { grid-template-columns:1fr; }
  .ppg-disclosure-note a { white-space:normal; }
}

.ppg-expanded-guides { background:var(--sand); border-top:1px solid var(--line); }
.ppg-expanded-guides .resource-card { background:var(--paper); }
.ppg-expanded-guides .resource-icon { align-items:center; border:1px solid var(--ink); border-radius:50%; display:flex; font-size:22px; justify-content:center; }

.ppg-search-hero .ppg-search-form { margin-top:30px; max-width:700px; }
.ppg-search-form > label { display:block; font-size:13px; font-weight:800; margin-bottom:8px; }
.ppg-search-form > div { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.ppg-search-form input { border:1px solid var(--line); border-radius:0; color:var(--ink); font:inherit; min-height:54px; padding:12px 14px; }
.ppg-search-form input:focus,.ppg-mobile-search input:focus { outline:3px solid var(--lime); outline-offset:2px; }
.ppg-search-form .button { border-radius:0; margin:0; }
.ppg-search-summary { align-items:baseline; border-bottom:1px solid var(--line); display:flex; gap:10px; padding-bottom:18px; }
.ppg-search-summary strong { font-family:var(--serif); font-size:44px; }
.ppg-search-summary span { color:var(--muted); font-weight:700; }
.ppg-post-list article .section-label { margin-bottom:10px; }
.ppg-search-empty { background:var(--sand); max-width:760px; padding:clamp(25px,5vw,55px); }
.ppg-search-empty h2 { margin:10px 0 14px; }
.ppg-search-empty p:last-child { color:var(--muted); line-height:1.65; }
.ppg-search-start { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ppg-search-start a { border:1px solid var(--line); display:grid; gap:8px; min-height:160px; padding:24px; transition:background .2s ease,transform .2s ease; }
.ppg-search-start a:hover { background:var(--lime); transform:translateY(-3px); }
.ppg-search-start strong { font-family:var(--serif); font-size:27px; }
.ppg-search-start span { color:var(--muted); font-size:14px; line-height:1.5; }
.related-guides span { color:var(--muted); font-size:13px; line-height:1.45; margin-top:10px; max-width:200px; }
.related-guides svg { bottom:18px; color:var(--clay); height:22px; position:absolute; right:18px; width:22px; }
.article-aside > div:first-child { display:grid; }
.article-aside > div:first-child a { border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; font-weight:800; padding:10px 0; }
.article-aside > div:first-child a:hover { color:var(--clay); }
.tool-card-rating { background:var(--sand); padding:38px; }
.tool-card-rating .tool-intro > p:not(.tool-label) { color:var(--muted); }

@media (max-width:900px) {
  .mobile-nav { background:var(--sand); border-bottom:1px solid var(--line); display:block; overflow-x:auto; }
  .mobile-nav > div { display:flex; gap:20px; min-height:45px; width:max-content; }
  .mobile-nav a { align-items:center; color:var(--ink); display:flex; font-size:12px; font-weight:900; letter-spacing:.02em; white-space:nowrap; }
  .mobile-nav a:last-child { padding-right:20px; }
  .article-toc { margin-bottom:40px; }
  .related-guides > div { grid-template-columns:1fr; }
  .related-guides a { min-height:130px; }
  .tool-card-rating { padding:28px; }
  .ppg-search-link { margin-left:auto; }
}

@media (max-width:520px) {
  .hero-kicker { font-size:10px !important; line-height:1.4; margin-bottom:14px !important; }
  .article-toc { margin-bottom:34px; padding:16px 18px; }
  .faq-section, .related-guides { margin-top:42px; padding-top:28px; }
  .faq-section h2, .related-guides h2 { font-size:34px; }
  .faq-list summary { font-size:20px; padding-right:28px; }
  .tool-card-rating { padding:22px; }
  .ppg-search-link { height:40px; width:40px; }
  .ppg-practical-module { margin:42px 0; padding:23px 20px; }
  .ppg-search-form > div,.ppg-search-start { grid-template-columns:1fr; }
  .ppg-search-form .button { justify-content:center; }
}
