/* ===== Scooter Clubs directory ===== */
.pcl-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1120px; margin:0 auto; padding:20px 24px 60px; }
.pcl-card { background:#fff; border:1.5px solid #f0ebe5; border-radius:18px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:transform .35s, box-shadow .35s, border-color .35s; }
.pcl-card:hover { transform:translateY(-6px); border-color:transparent; box-shadow:0 20px 46px rgba(21,23,27,.12), 0 0 0 1.5px rgba(226,100,31,.2); }
.pcl-img { aspect-ratio:16/10; overflow:hidden; background:#fdf3ec; display:flex; align-items:center; justify-content:center; }
.pcl-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.pcl-card:hover .pcl-img img { transform:scale(1.06); }
.pcl-noimg { font-family:'Montserrat',sans-serif; font-size:48px; font-weight:900; color:#e2641f; }
.pcl-body { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.pcl-name { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:800; color:#15171b; margin:0 0 5px; letter-spacing:-.2px; }
.pcl-loc { font-family:'Inter',sans-serif; font-size:13.5px; color:#9aa0a8; margin-bottom:14px; }
.pcl-cta { margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#e2641f; }
.pcl-cta svg { width:13px; height:13px; }

/* ===== Single club page ===== */
.pclub-single { max-width:1000px; margin:0 auto; padding:20px 24px 60px; }
.pclub-hero { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; padding:30px 0 44px; }
.pclub-hero-img { border-radius:20px; overflow:hidden; aspect-ratio:4/3; background:#fdf3ec; box-shadow:0 16px 40px rgba(21,23,27,.1); }
.pclub-hero-img img { width:100%; height:100%; object-fit:cover; }
.pclub-eyebrow { font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:#e2641f; margin-bottom:10px; }
.pclub-title { font-family:'Montserrat',sans-serif; font-size:36px; font-weight:900; color:#15171b; line-height:1.08; margin:0 0 10px; letter-spacing:-.6px; }
.pclub-loc { font-family:'Inter',sans-serif; font-size:15px; color:#9aa0a8; margin-bottom:14px; }
.pclub-intro { font-family:'Inter',sans-serif; font-size:16px; color:#5a5f68; line-height:1.6; margin:0 0 24px; }
.pclub-btn { display:inline-flex; font-family:'Oswald',sans-serif; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; padding:14px 28px; border-radius:10px; text-decoration:none; background:linear-gradient(135deg,#e2641f,#b84e15); color:#fff; box-shadow:0 10px 26px rgba(226,100,31,.28); transition:all .25s; }
.pclub-btn:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(226,100,31,.4); }
.pclub-section { margin:36px 0; }
.pclub-h2 { font-family:'Montserrat',sans-serif; font-size:24px; font-weight:800; color:#15171b; margin:0 0 20px; letter-spacing:-.3px; }
.pclub-rally .pclub-h2 { color:#b84e15; }
.pclub-items { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pclub-item { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1.5px solid #f0ebe5; border-radius:14px; padding:18px 20px; text-decoration:none; transition:transform .25s, box-shadow .25s, border-color .25s; }
.pclub-item:hover { transform:translateY(-3px); border-color:#f3d9c7; box-shadow:0 12px 30px rgba(226,100,31,.1); }
.pclub-item-name { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; color:#15171b; }
.pclub-item-cta { font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:#e2641f; white-space:nowrap; }
.pclub-back { font-family:'Oswald',sans-serif; font-size:13px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:#e2641f; text-decoration:none; }

@media (max-width:1024px){ .pcl-grid { grid-template-columns:repeat(2,1fr); } .pclub-items { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){
  .pclub-hero { grid-template-columns:1fr; gap:22px; }
  .pclub-title { font-size:28px; }
}
@media (max-width:560px){ .pcl-grid { grid-template-columns:1fr; } .pclub-items { grid-template-columns:1fr; } }
/* Rally merchandise section */
.pclub-rally-shop { margin-top:44px; padding-top:36px; border-top:2px solid #f0ebe5; }
.pclub-rally-h2 { color:#b84e15 !important; }
.pclub-rally-note { font-family:'Inter',sans-serif; font-size:14.5px; color:#6c727c; margin:-8px 0 22px; }
