body{font-family:Arial,sans-serif;background-color:#f4f4f4;margin:0;padding:0}main{max-width:1200px;margin:20px auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.2);width:90%}form{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.form-group{flex:1 1 calc(33.33% - 10px);display:flex;flex-direction:column}.form-group-search{flex:1 1 100%;text-align:center}.form-group label{font-weight:700;margin-bottom:5px}.form-group input,.form-group select{padding:10px;border:1px solid #ccc;border-radius:5px;font-size:1rem}button{background-color:#333;color:#fff;padding:10px 20px;border:none;border-radius:5px;font-size:1rem;cursor:pointer}button:hover{background-color:#555}footer{text-align:center;background-color:#333;color:#fff;padding:1rem;margin-top:20px}#results{margin-top:20px}#results table{width:100%;border-collapse:collapse;border:none}#results td,#results th{border:none;padding:10px;text-align:left}#results th{background-color:#f4f4f4;font-weight:700}#toggle-search{background:0 0;border:none;cursor:pointer;font-size:1rem;color:#333;margin-bottom:10px;padding:5px}#toggle-search::before{content:""}#search-container{display:flex;flex-direction:column;align-items:flex-start;width:100%}#search-form{display:flex;flex-wrap:wrap;gap:15px;width:100%}#search-form .form-group{flex:1 1 calc(33.33% - 10px);display:flex;flex-direction:column}#search-form.hidden{visibility:hidden;opacity:0;height:0;margin-bottom:0}#search-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}#search-form .form-group:last-child{flex:0 0 auto}.registration-form{max-width:500px;margin:0 auto;padding:20px;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.registration-form fieldset{margin-bottom:20px;border:none;padding:0}.registration-form legend{font-size:1.2em;font-weight:700;margin-bottom:10px}.registration-form label{display:block;margin-bottom:5px;font-weight:700}.registration-form input,.registration-form select{width:100%;padding:10px;margin-bottom:15px;border:1px solid #ccc;border-radius:4px;font-size:1em}.contact-fields,.name-fields{display:flex;gap:15px;margin-bottom:15px}.contact-fields .field-group,.name-fields .field-group{flex:1}.registration-form .btn-submit{width:100%;padding:10px;font-size:1.1em;color:#fff;background-color:#007bff;border:none;border-radius:4px;cursor:pointer}.registration-form .btn-submit:hover{background-color:#0056b3}.form-group button{flex-grow:0;background-color:#4caf50;color:#fff;font-size:1em;border:none;cursor:pointer;padding:10px 20px;width:auto}.form-group button:hover{background-color:#45a049}#advanced-search{display:none;width:100%}#advanced-search.visible{display:flex;flex-wrap:wrap;gap:15px}.advanced-options-toggle{display:flex;align-items:center;gap:10px;margin-top:15px}.advanced-options-toggle input[type=checkbox]{margin:0}.highlight{background-color:#f8d7da;color:#721c24}.past-tournament{background-color:#d20f20}.today-tournament{background-color:#cce5ff}.future-tournament{background-color:#d4edda}.fab{position:fixed;bottom:20px;right:20px;background-color:#4caf50;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:2em;text-decoration:none;box-shadow:0 4px 8px rgba(0,0,0,.2);transition:background-color .3s ease,transform .2s ease;z-index:1000}.fab:hover{background-color:#45a049;transform:scale(1.1)}.fab:active{transform:scale(.95)}#addTournamentModal{position:fixed;top:0;left:0;width:100%;height:100%;display:none;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);z-index:1000}#addTournamentModal .modal-content{max-width:80%;margin:auto;padding:20px;border-radius:8px;background:#f9f9f9;box-shadow:0 4px 10px rgba(0,0,0,.2);max-height:90vh;overflow-y:auto}#addTournamentModal .close{position:absolute;top:10px;right:10px;font-size:24px;cursor:pointer}#addTournamentModal form{display:flex;flex-direction:column;gap:15px}#addTournamentModal button,#addTournamentModal input,#addTournamentModal select{padding:10px;font-size:16px;width:100%}#addTournamentModal .modal-buttons{display:flex;justify-content:space-between}#addTournamentModal .modal-buttons button{width:48%}fieldset{flex:1 1 auto;max-width:500px;width:100%;box-sizing:border-box}fieldset label{display:block;margin-bottom:8px;font-weight:700}fieldset input,fieldset select,fieldset textarea{width:100%;margin-bottom:15px;padding:10px;box-sizing:border-box}fieldset.basic-info,fieldset.location-info,fieldset.tournament-specifics{max-width:600px}legend{font-weight:700;padding:0 10px;text-align:center}#addTournamentForm input,#addTournamentForm select,#addTournamentForm textarea{border-radius:8px;padding:8px;border:1px solid #ccc;width:100%;box-sizing:border-box}#addTournamentForm button{padding:10px 20px;margin:5px;border:none;border-radius:4px;background:#007bff;color:#fff;cursor:pointer}#addTournamentForm button:hover{background:#0056b3}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:none;z-index:1000;align-items:center;justify-content:center}.modal-content{max-width:80%;margin:50px auto;padding:20px;border-radius:8px;background:#f9f9f9;box-shadow:0 4px 10px rgba(0,0,0,.2);max-height:90vh;overflow-y:auto}.flyer-modal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6)}.flyer-modal-content{background-color:#fff;margin:10% auto;padding:20px;border-radius:8px;width:90%;max-width:500px;box-shadow:0 0 10px #000}.flyer-modal-close{float:right;font-size:24px;cursor:pointer}textarea{width:100%;resize:none;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}input,select,textarea{border:2px solid #ccc;padding:10px;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box}input:focus,select:focus,textarea:focus{border-color:#007bff;outline:0}.add-tournament-form{display:flex;flex-direction:column;align-items:center;max-width:600px;margin:0 auto}.add-tournament-form h2{text-align:center;margin-bottom:20px;font-size:1.8rem;color:#333}#monthlyOptionContainer,#weeklyDayContainer{display:none;transition:all .3s ease-in-out}.required{color:red;font-weight:700}#addTournamentForm input:invalid,#addTournamentForm select:invalid{border:2px solid red}input:required::placeholder{color:gray;font-style:italic}.tournament-details{margin:20px;font-family:Arial,sans-serif;display:grid;grid-template-columns:1fr 1fr;gap:30px;grid-template-areas:"header header" "contact times" "details details" "description description" "rules rules"}.header{grid-area:header;background-color:#f4f4f4;padding:20px;text-align:center;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.details-group{margin-bottom:20px}.details-group h2{margin-bottom:15px;font-size:1.4em;font-weight:700;text-transform:uppercase;color:#333}.detail-row{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.detail-row p{margin:5px 0}.detail-row strong{font-weight:700;color:#0056b3}.details-group strong{font-weight:700;color:#0056b3}.details-group p{color:#555;line-height:1.5}.contact-info,.event-times{background-color:#f9f9f9;padding:15px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.contact-info p,.event-times p{margin:10px 0}.rules-image{text-align:center;margin-top:30px}.back-link{display:inline-block;margin-top:30px;text-decoration:none;color:#007bff;font-weight:700}.back-link:hover{text-decoration:underline}@media (max-width:768px){.tournament-details{grid-template-columns:1fr}}.comments-section{margin-top:30px}.comment-list{margin-top:20px}.reply-form textarea{width:100%;height:80px;margin-top:10px}.reply-form textarea{width:100%;height:100px}.reply-form button{background-color:#4caf50;color:#fff;padding:10px 20px;border:none;cursor:pointer}.hidden{display:none!important}.comment{margin-bottom:20px;border-bottom:1px solid #ddd;padding-bottom:10px}.replies{margin-left:20px;padding-left:10px;border-left:2px solid #ddd}.reply{margin-bottom:15px}.seo-hidden-table{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.landing-page-content{max-width:800px;margin:0 auto;padding:2rem 1rem;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;color:#333;line-height:1.6}.landing-page-content h1,.landing-page-content h2{color:#1a1a1a;font-weight:600;margin-bottom:.5rem}.landing-page-content p{margin-bottom:1.2rem}.landing-page-content ul{padding-left:1.2rem;margin-bottom:1.5rem}.landing-page-content ul li{margin-bottom:.5rem}.cta-button{display:inline-block;background-color:#07c;color:#fff;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:700;transition:background-color .3s ease}.cta-button:hover{background-color:#005fa3}.landing-page-content section{margin-bottom:2.5rem}@media (max-width:600px){.landing-page-content{padding:1rem}.cta-button{width:100%;text-align:center;padding:1rem}}.contact-form{display:block;width:100%}.contact-form .form-group{display:block;width:100%;margin-bottom:1.5rem}.contact-form label{display:block;margin-bottom:.5rem;font-weight:700;color:#333}.contact-form input[type=email],.contact-form input[type=text],.contact-form textarea{width:100%;padding:.75rem;font-size:1rem;border:1px solid #ccc;border-radius:6px;box-sizing:border-box}.contact-form textarea{resize:vertical}th.sortable{cursor:pointer;text-decoration:underline;white-space:nowrap}.suggestions-box{position:absolute;z-index:1000;background:#fff;border:1px solid #ccc;width:100%;max-height:200px;overflow-y:auto}.suggestions-box div{padding:8px;cursor:pointer}.suggestions-box div:hover{background-color:#f0f0f0}.cta-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;pointer-events:none;box-shadow:none}@media (max-width:768px){body{font-size:16px;padding:0 10px}main{width:100%;padding:10px}#search-form,.add-tournament-form,.registration-form,form{flex-direction:column}#search-form .form-group,.contact-fields .field-group,.form-group,.form-group-search,.name-fields .field-group{flex:1 1 100%!important;max-width:100%}#search-button,.btn-submit,.form-group button,button{width:100%}.flyer-modal-content,.modal-content{width:95%;padding:15px}.cta-button{width:100%;text-align:center}}@media (max-width:600px){#addTournamentModal .modal-content,.flyer-modal-content,.modal-content{width:95%!important;max-width:none!important;padding:15px}}@media (max-width:600px){.fab{width:48px;height:48px;font-size:1.5em;bottom:15px;right:15px}}*,::after,::before{box-sizing:border-box}.toggle-buttons{text-align:center;margin-bottom:15px}.toggle-btn{background-color:#007bff;color:#fff;padding:8px 15px;border:none;cursor:pointer;font-size:16px;border-radius:5px;margin:5px}.toggle-btn:hover{background-color:#0056b3}.pool-hall-container{max-width:900px;margin:3rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.1)}.pool-hall-container img{width:100%;height:auto;border-radius:12px;margin-bottom:1.5rem;object-fit:cover}.pool-hall-header h1{font-size:2.2rem;margin-bottom:.5rem}.pool-hall-info p{margin:.5rem 0;color:#444}.pool-hall-info strong{color:#000}.icon{margin-right:6px}.back-link{margin-top:2rem;display:inline-block;color:#07c;text-decoration:none}.back-link:hover{text-decoration:underline}.star-rating{direction:rtl;unicode-bidi:bidi-override;font-size:2rem;display:inline-flex;cursor:pointer}.star-rating input{display:none}.star-rating label{color:#ccc;padding:0 5px;transition:color .2s}.star-rating input:checked~label,.star-rating label:hover,.star-rating label:hover~label{color:#f5a623}.dup-warning{background:#fef9c3;border:1px solid #eab308;color:#854d0e;padding:10px;border-radius:6px;margin-bottom:12px;font-size:14px}.mobile-app-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.mobile-app-links .cta-button{text-decoration:none}.city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;list-style:none;padding:0;margin-top:24px}.city-grid li{margin:0}.city-grid a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none;color:#1e3a8a;font-weight:600;transition:all .15s ease;box-shadow:0 2px 5px rgba(0,0,0,.04)}.city-grid a:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.08)}.city-count{color:#64748b;font-size:14px;font-weight:700}.poolhall-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:16px}.poolhall-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px 20px;box-shadow:0 2px 6px rgba(0,0,0,.05)}.poolhall-card-title{margin:0 0 8px;font-size:22px}.poolhall-card-title a{color:#1d4ed8;text-decoration:none}.poolhall-card-title a:hover{text-decoration:underline}.poolhall-address,.poolhall-meta{margin:6px 0;color:#475569}