.tpd-directory,.tpd-signup{font:inherit;color:inherit}.tpd-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}.tpd-filters input,.tpd-filters select{flex:1 1 160px;min-width:130px;padding:11px;border:1px solid #ccc;border-radius:5px}.tpd-directory button,.tpd-signup button,.tpd-modal button[type=submit]{cursor:pointer;padding:10px 17px;border:0;border-radius:5px;background:#185b41;color:white}.tpd-scroll{overflow-x:auto}.tpd-directory table{width:100%;border-collapse:collapse;text-align:left;min-width:670px}.tpd-directory th,.tpd-directory td{padding:14px 12px;border-bottom:1px solid #e5e5e5}.tpd-directory th{background:#f3f6f4}.tpd-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:20px 0}.tpd-pagination button:disabled{background:#aaa}.tpd-signup{max-width:650px}.tpd-signup>label,.tpd-contact-form>label{display:block;margin:14px 0;font-weight:600}.tpd-signup input:not([type=checkbox]),.tpd-signup select,.tpd-contact-form input,.tpd-contact-form textarea{display:block;width:100%;box-sizing:border-box;padding:11px;margin-top:5px;border:1px solid #bbb;border-radius:5px}.tpd-signup small{display:block;color:#666}.tpd-signup .tpd-check{font-weight:400}.tpd-check input{margin-right:8px}.tpd-modal[hidden]{display:none!important}.tpd-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:16px}.tpd-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}.tpd-dialog{position:relative;background:white;color:#222;width:min(100%,520px);padding:26px;border-radius:8px;max-height:90vh;overflow:auto;box-sizing:border-box}.tpd-close{position:absolute;right:12px;top:8px;background:none!important;color:#333!important;font-size:27px;padding:2px 8px!important}.tpd-open{overflow:hidden}.tpd-hp{position:absolute!important;left:-10000px!important;height:1px!important;overflow:hidden!important}.tpd-feedback{min-height:1.5em}

/* Greater Fort Worth Tennis directory styling — v1.0.2 */
.tpd-directory{--tpd-accent:#174f78;--tpd-accent-dark:#103a59;--tpd-border:#d9e2e9;--tpd-soft:#f3f7fa;color:#263746}
.tpd-directory .tpd-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(90px,auto);gap:12px;margin:0 0 26px;align-items:stretch}
.tpd-directory .tpd-filters input[name="search"]{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;font-size:16px;padding:15px 17px}
.tpd-directory .tpd-filters select{width:100%;min-width:0;max-width:none;box-sizing:border-box;appearance:auto}
.tpd-directory .tpd-filters input,.tpd-directory .tpd-filters select{flex:none;margin:0;background:#fff;color:#263746;border:1px solid var(--tpd-border);border-radius:4px;min-height:48px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.tpd-directory .tpd-filters input:focus,.tpd-directory .tpd-filters select:focus{outline:2px solid transparent;border-color:var(--tpd-accent);box-shadow:0 0 0 3px rgba(23,79,120,.14)}
.tpd-directory .tpd-filters .tpd-reset{margin:0;white-space:nowrap;min-height:48px;padding:10px 22px;background:var(--tpd-accent);color:#fff;border-radius:4px;font-weight:600}
.tpd-directory button:not(.tpd-reset){background:var(--tpd-accent);border-radius:4px}
.tpd-directory button:hover:not(:disabled),.tpd-modal button[type=submit]:hover{background:var(--tpd-accent-dark)}
.tpd-directory th{background:var(--tpd-soft);color:var(--tpd-accent-dark);font-weight:700}
.tpd-directory th,.tpd-directory td{border-bottom-color:var(--tpd-border)}
.tpd-directory tbody tr:hover{background:#f8fafc}
.tpd-modal .tpd-dialog{border-radius:6px;border-top:5px solid #174f78}
.tpd-modal button[type=submit]{background:#174f78;border-radius:4px}
@media(max-width:850px){.tpd-directory .tpd-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.tpd-directory .tpd-filters .tpd-reset{grid-column:1/-1}}
@media(max-width:520px){.tpd-directory .tpd-filters{grid-template-columns:1fr}.tpd-directory .tpd-filters input[name="search"],.tpd-directory .tpd-filters .tpd-reset{grid-column:1}}

/* v1.0.3: Greater Fort Worth Tennis controls and sortable headings */
.tpd-directory .tpd-filters input:not([type=submit]),.tpd-directory .tpd-filters select,.tpd-signup input:not([type=submit]),.tpd-signup select,.tpd-signup textarea{text-align:left!important;}
.tpd-directory .tpd-filters .tpd-reset,.tpd-directory .tpd-pagination button,.tpd-directory .tpd-contact,.tpd-signup button[type=submit],.tpd-modal button[type=submit]{background-color:#00205c!important;font-family:'Gentium Basic',serif!important;color:#fff!important;}
.tpd-directory .tpd-filters .tpd-reset:hover,.tpd-directory .tpd-pagination button:not(:disabled):hover,.tpd-directory .tpd-contact:hover,.tpd-signup button[type=submit]:hover,.tpd-modal button[type=submit]:hover{background-color:#003584!important;}
.tpd-directory .tpd-pagination button:disabled{opacity:.55;cursor:default;}
.tpd-directory th .tpd-sort{background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important;font:inherit!important;padding:0!important;cursor:pointer;text-align:left;white-space:nowrap;}
.tpd-directory th .tpd-sort:hover,.tpd-directory th .tpd-sort:focus{color:#00205c!important;text-decoration:underline;}
.tpd-directory th .tpd-sort span{font-size:.75em;margin-left:5px;}
.tpd-directory .tpd-success{padding:15px 18px;margin-bottom:22px;background:#edf8ef;border-left:4px solid #21834a;color:#164d2d;}

/* v1.0.4: Keep sortable table headings legible on hover and keyboard focus. */
.tpd-directory th .tpd-sort:hover,
.tpd-directory th .tpd-sort:focus,
.tpd-directory th .tpd-sort:focus-visible {
    color: #E8ECF5 !important;
}
