*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;color:#333;line-height:1.6}a{color:#0066cc;text-decoration:none}a:hover{text-decoration:underline}.explore-container{display:grid;grid-template-columns:380px 1fr;height:100vh}.sidebar{background:#f8f9fa;border-right:1px solid #ddd;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.sidebar-header{display:flex;justify-content:center;margin-bottom:2px}.sidebar-logo{max-width:100%;height:auto;border-radius:4px;object-fit:contain}.nav-links{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid #ddd}.nav-link{padding:4px 8px;border-radius:4px;font-size:13px;color:#555}.nav-link:hover{background:#e9ecef;text-decoration:none}.nav-link.active{background:#1B5E20;color:white}.sidebar-section{display:flex;flex-direction:column;gap:4px}.section-label{font-weight:600;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.places-search{display:flex;gap:4px}.search-input{flex:1 1;padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px}.search-input:focus{outline:none;border-color:#0066cc}.clear-btn{padding:8px 12px;background:#e9ecef;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:13px}.clear-btn:hover{background:#dee2e6}.location-info{font-size:12px;color:#666;font-style:italic}.filter-chips{display:flex;gap:4px;flex-wrap:wrap}.chip{padding:4px 10px;border:2px solid #ccc;border-radius:20px;background:white;cursor:pointer;font-size:12px}.chip.chip-all{border-color:#1B5E20}.chip.chip-dogs_under_control{border-color:#0F9D58}.chip.chip-lead_required{border-color:#0288D1}.chip:hover{background:#f0f0f0}.chip.chip-all.active{background:#1B5E20;color:white;border-color:#1B5E20}.chip.chip-dogs_under_control.active{background:#0F9D58;color:white;border-color:#0F9D58}.chip.chip-lead_required.active{background:#0288D1;color:white;border-color:#0288D1}.radius-slider{width:100%;cursor:pointer;accent-color:#1B5E20}.results-section{flex:1 1;min-height:0;display:flex;flex-direction:column}.results-list{list-style:none;flex:1 1;overflow-y:auto;max-height:500px;border:1px solid #ddd;border-radius:4px;background:white}.result-item{padding:6px 8px;border-bottom:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.result-item:last-child{border-bottom:none}.result-item:hover{background:#f5f5f5}.result-item.selected{background:#e3f2fd}.result-name{font-size:13px}.result-distance{font-size:11px;color:#888}.no-results{padding:12px;text-align:center;color:#888}.map-container{position:relative;height:100%}.map-placeholder{height:100%;background:#e9ecef;color:#666}.api-key-missing,.map-placeholder{display:flex;align-items:center;justify-content:center}.api-key-missing{flex-direction:column;height:100vh;padding:40px;text-align:center;background:#f8f9fa}.api-key-missing h2{margin-bottom:16px;color:#dc3545}.api-key-missing code{background:#e9ecef;padding:2px 8px;border-radius:4px;font-family:monospace}.course-card{background:white;border:1px solid #ddd;border-radius:8px;padding:16px;position:relative}.course-card h3{margin-bottom:8px;padding-right:24px}.close-btn{position:absolute;top:8px;right:8px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;padding:4px 8px}.close-btn:hover{color:#333}.policy-badge{display:inline-block;padding:4px 10px;border-radius:4px;color:white;font-size:12px;font-weight:500;margin-bottom:8px}.policy-badge.large{font-size:14px;padding:6px 14px;margin:16px 0}.distance{color:#666}.address,.distance{font-size:13px;margin-bottom:8px}.address,.rating{color:#555}.rating{font-size:13px;margin-bottom:12px}.card-actions{display:flex;flex-direction:column;gap:8px}.btn{display:inline-block;padding:10px 16px;background:#0066cc;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;text-align:center}.btn:hover{background:#0052a3;text-decoration:none}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}.page-container{max-width:800px;margin:0 auto;padding:20px}.page-nav{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #ddd;margin-bottom:24px}.page-nav a{color:#555}.page-nav a:hover{color:#0066cc}.page-nav a.active{color:#0066cc;font-weight:600}.page-content{padding-bottom:40px}.page-content h1{margin-bottom:20px;color:#222}.page-content h2{margin-top:28px;margin-bottom:12px;color:#333}.page-content p,.page-content ul{margin-bottom:16px}.page-content ul{margin-left:24px}.page-content li{margin-bottom:8px}.faq-item{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #eee}.faq-item:last-child{border-bottom:none}.faq-item h3{margin-bottom:8px;color:#333}.submit-form{margin-top:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0066cc}.submit-btn{padding:12px 24px;background:#0066cc;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer}.submit-btn:hover{background:#0052a3}.form-note{margin-top:16px;font-size:13px;color:#666}.course-detail .back-link{display:inline-block;margin-bottom:16px;color:#0066cc}.course-info{margin:24px 0}.info-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #eee}.info-row strong{min-width:100px;color:#555}.course-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.course-notes{background:#f8f9fa;padding:20px;border-radius:8px;margin:24px 0}.course-notes h2{margin-top:0;margin-bottom:12px}.course-notes ul{margin-bottom:0}.update-prompt{font-size:14px;color:#666}@media (max-width:768px){.explore-container{grid-template-columns:1fr;grid-template-rows:50vh auto;height:auto;min-height:100vh}.sidebar{order:2;max-height:none;overflow-y:visible;border-right:none;border-top:1px solid #ddd}.map-container{order:1;height:50vh}.results-list{max-height:none;overflow-y:visible}.result-item{padding:10px 12px}.result-name{font-size:14px}}@media (max-width:480px){.sidebar{padding:8px;gap:8px}.sidebar-logo{max-height:80px}.nav-links{gap:4px}.nav-link{padding:6px 10px;font-size:12px}.chip{padding:6px 12px;font-size:11px}.search-input{padding:10px;font-size:14px}}