:root{--htn-navy:#0b284a;--htn-gold:#aa8437;--htn-cream:#faf7f0;--htn-ink:#26364a;--htn-muted:#66778a}
.htn-wrap,.htn-wrap *{box-sizing:border-box}.htn-wrap{font-family:Arial,Helvetica,sans-serif;line-height:1.65;color:var(--htn-ink);background:#fff;max-width:1200px;margin:20px auto 50px;border:1px solid #e2e8ee;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(11,40,74,.06)}.htn-wrap a{color:var(--htn-navy);text-decoration:none}.htn-wrap h1,.htn-wrap h2,.htn-wrap h3{margin:0 0 16px;line-height:1.2;color:var(--htn-navy)}.htn-wrap h1{font-size:clamp(33px,5vw,53px)}.htn-wrap h2{font-size:clamp(22px,3vw,28px)}.htn-wrap p{margin:0 0 14px}.htn-top{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(18px,4vw,44px);gap:20px;border-bottom:3px solid var(--htn-gold)}.htn-wordmark{display:flex;flex-direction:column;line-height:1.1}.htn-wordmark strong{font-size:23px;letter-spacing:2px;color:var(--htn-navy)}.htn-wordmark small{font-size:11px;letter-spacing:2.7px;font-weight:800;color:var(--htn-gold)}.htn-top nav{display:flex;gap:22px;font-size:14px;font-weight:700}.htn-hero{background:linear-gradient(120deg,#0b284a,#16436b);color:#fff;padding:55px clamp(20px,5vw,60px)}.htn-hero h1,.htn-profile-banner h1{color:#fff}.htn-hero>p:last-child{color:#e8d6b6}.htn-overline{color:#d9b16a;font-weight:800;font-size:12px;letter-spacing:2px}.htn-panel{background:#fff;border:1px solid #e2e8ef;border-radius:12px;padding:clamp(20px,3vw,32px);margin:24px clamp(15px,4vw,38px);box-shadow:0 5px 22px rgba(10,43,70,.04)}.htn-panel p{color:#57687b}.htn-field{display:flex;flex-direction:column;gap:6px;margin:17px 0;font-weight:700;font-size:14px;color:#0b284a}.htn-field input,.htn-field textarea,.htn-field select,.htn-wrap textarea,.htn-filter input,.htn-filter select{padding:12px;border:1px solid #bdc9d4;border-radius:6px;width:100%;max-width:100%;background:#fff;color:#192d42;font:400 15px Arial,Helvetica,sans-serif;min-height:45px}.htn-field textarea{min-height:78px}.htn-field input:focus,.htn-field textarea:focus,.htn-wrap textarea:focus{outline:2px solid #b89450;outline-offset:1px}.htn-button{display:inline-block;border:2px solid var(--htn-gold);background:var(--htn-gold);color:#fff!important;padding:11px 19px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;text-align:center}.htn-button:hover{background:#896822;border-color:#896822}.htn-button-outline{background:#fff;color:var(--htn-navy)!important;border-color:var(--htn-navy)}.htn-button-outline:hover{background:var(--htn-navy);color:#fff!important}.htn-notice{background:#fff8ea;border-left:4px solid var(--htn-gold);padding:16px 20px;margin:20px clamp(15px,4vw,38px)}.htn-filter{display:grid;grid-template-columns:1fr 220px auto;gap:10px;padding:30px clamp(15px,4vw,38px);background:#f7f8fa}.htn-grid{padding:26px clamp(15px,4vw,38px) 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.htn-directory-card{display:flex;flex-direction:column;border:1px solid #e1e7ed;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;min-height:250px}.htn-directory-card:hover{transform:translateY(-3px);box-shadow:0 13px 26px rgba(10,40,72,.12)}.htn-card-photo{height:170px;width:100%;object-fit:cover}.htn-card-icon{height:170px;display:grid;place-items:center;background:linear-gradient(120deg,#0b284a,#22557d);color:#d4a755;font-size:64px}.htn-card-body{padding:20px;display:flex;flex-direction:column;gap:7px}.htn-card-body small{font-size:11px;font-weight:800;color:#aa8437;text-transform:uppercase;letter-spacing:1px}.htn-card-body strong{font-size:20px;line-height:1.25;color:#0b284a}.htn-card-body span{font-size:14px;color:#637286}.htn-card-body em{font-style:normal;color:#aa8437;font-size:13px;font-weight:800;margin-top:8px}.htn-foot{text-align:center;padding:24px;background:#071d37;color:#e0e6ed;font-size:13px}.htn-profile-banner{min-height:275px;padding:28px clamp(20px,5vw,55px);background:radial-gradient(circle at 95% 5%,rgba(170,132,55,.28),transparent 34%),linear-gradient(120deg,#0b284a,#174467);display:flex;flex-direction:column;justify-content:space-between;color:white}.htn-banner-top{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:1px}.htn-banner-top a{color:#fff}.htn-banner-top span{color:#e2bc75;font-weight:700}.htn-banner-info h1{margin:12px 0;font-size:clamp(32px,4vw,49px)}.htn-banner-info p{color:#e1e6ee}.htn-pill{font-size:12px;padding:6px 11px;border-radius:20px;background:var(--htn-gold);font-weight:800}.htn-profile-inner{padding:6px 0 30px}.htn-profile-inner>.htn-panel{margin-bottom:14px}.htn-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.htn-tags span{padding:4px 11px;border-radius:30px;background:#f1f4f8;font-size:12px;font-weight:700}.htn-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.htn-section-title span{color:#778595;font-size:13px}.htn-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.htn-gallery-item{border:0;padding:0;background:#eef1f5;overflow:hidden;border-radius:8px;cursor:pointer;aspect-ratio:4/3}.htn-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.htn-gallery-item:hover img{transform:scale(1.05)}.htn-profile-columns{display:grid;grid-template-columns:1fr 1fr;margin:0 clamp(15px,4vw,38px);gap:17px}.htn-profile-columns>.htn-panel{margin:10px 0}.htn-info{margin:0}.htn-info>div{border-bottom:1px solid #e8edf0;padding:12px 0}.htn-info>div:last-child{border-bottom:0}.htn-info dt{font-size:12px;color:#667789}.htn-info dd{font-weight:700;margin:0;overflow-wrap:anywhere}.htn-help textarea{margin:8px 0 12px}.htn-help hr{border:0;border-top:1px solid #e1e6ec;margin:24px 0}.htn-managed{text-align:center;font-size:12px;color:#60758a}.htn-gallery-edit{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.htn-gallery-thumb{display:flex;flex-direction:column;max-width:125px;gap:7px}.htn-gallery-thumb img{width:120px;height:95px;object-fit:cover;border-radius:6px}.htn-gallery-thumb span{font-size:12px}.htn-hint{font-size:12px;color:#6b7785}.htn-trap{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}.htn-lightbox[hidden]{display:none!important}.htn-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:50px 20px}.htn-lightbox img{max-width:95vw;max-height:88vh;object-fit:contain}.htn-lightbox-close{position:absolute;right:20px;top:12px;color:#fff;background:transparent;border:0;font-size:44px;cursor:pointer}
@media(max-width:850px){.htn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.htn-filter{grid-template-columns:1fr 1fr}.htn-filter .htn-button{grid-column:1/-1}.htn-profile-columns{grid-template-columns:1fr}}
@media(max-width:560px){.htn-grid,.htn-filter{grid-template-columns:1fr}.htn-top{align-items:flex-start;flex-direction:column}.htn-top nav{flex-wrap:wrap}.htn-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.htn-banner-top{flex-wrap:wrap}.htn-wrap{margin:0 auto;border-radius:0}}

/* v0.1.1: listing information is full width; update/report panel follows at the bottom. */
.htn-profile-columns{grid-template-columns:minmax(0,1fr)}
.htn-profile-inner>.htn-help{margin-top:22px}

/* v0.1.2 profile header cover */
.htn-profile-banner{background-position:center center;background-size:cover;background-repeat:no-repeat}
.htn-header-picker{margin:20px 0;padding:18px;border:1px solid #e2e8ef;border-radius:10px;background:#f8fafd}
.htn-header-picker h3{margin:0 0 9px}
.htn-header-preview img{display:block;width:100%;max-width:650px;max-height:240px;object-fit:cover;border-radius:8px}
.htn-header-remove input{width:auto;min-height:initial;margin-right:8px}

/* HTN v0.1.9: responsive published-location filters */
.htn-filter.htn-location-filter{display:grid;grid-template-columns:minmax(180px,1.8fr) repeat(3,minmax(140px,1fr));gap:12px;align-items:end}
.htn-location-filter .htn-filter-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:700;color:#0b284a}
.htn-location-filter .htn-filter-field>span{display:block}
.htn-location-filter input,.htn-location-filter select{margin:0;min-width:0}
.htn-location-filter select:disabled{opacity:.56;cursor:not-allowed;background:#e9edf1}
.htn-location-filter .htn-filter-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.htn-directory-count{padding:15px clamp(15px,4vw,38px) 0;font-size:13px;color:#526375}
@media(max-width:1050px){.htn-filter.htn-location-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.htn-location-filter .htn-filter-search{grid-column:1/-1}}
@media(max-width:560px){.htn-filter.htn-location-filter{grid-template-columns:minmax(0,1fr)}.htn-location-filter .htn-filter-search,.htn-location-filter .htn-filter-actions{grid-column:auto}.htn-location-filter .htn-filter-actions .htn-button{width:100%}}

/* v0.1.10: accessible clickable games/products/services tags and active filter */
.htn-tags a.htn-tag{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid #cad5df;border-radius:30px;background:#f1f4f8;color:#0b284a;text-decoration:none;font-size:12px;font-weight:700;line-height:1.45;transition:background .15s,border-color .15s,color .15s}
.htn-tags a.htn-tag:hover,.htn-tags a.htn-tag:focus-visible{background:#0b284a;border-color:#0b284a;color:#fff;outline-offset:2px}
.htn-active-tag{margin:16px clamp(15px,4vw,38px) 0;padding:10px 14px;background:#fbf6eb;border:1px solid #e8d5af;border-radius:8px;font-size:13px;color:#0b284a}
.htn-active-tag a{display:inline-block;margin-left:12px;font-weight:700;text-decoration:underline}
.htn-field small{font-size:12px;font-weight:400;line-height:1.5;color:#647489}

/* v0.1.11: Apply Filters must stay readable even when a WordPress theme globally
   overrides button backgrounds, text colors, borders, and appearance. */
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions .htn-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:46px;padding:10px 19px;border-width:2px;border-style:solid;border-radius:6px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;white-space:nowrap}
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions button[type="submit"].htn-button{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;width:auto!important;min-height:46px!important;margin:0!important;padding:10px 19px!important;border:2px solid #0b284a!important;border-radius:6px!important;background:#0b284a!important;background-image:none!important;box-shadow:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;visibility:visible!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.5!important;font-weight:700!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer!important}
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions button[type="submit"].htn-button:hover{background:#aa8437!important;border-color:#aa8437!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important}
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions button[type="submit"].htn-button:focus-visible{outline:3px solid #aa8437!important;outline-offset:3px!important}
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions a.htn-button-outline{min-height:46px;padding:10px 19px;border:2px solid #0b284a;background:#fff;color:#0b284a!important}
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions a.htn-button-outline:hover{background:#0b284a;color:#fff!important}
.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions a.htn-button-outline:focus-visible{outline:3px solid #aa8437;outline-offset:3px}
@media(max-width:560px){.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions button[type="submit"].htn-button,.htn-wrap .htn-filter.htn-location-filter .htn-filter-actions a.htn-button-outline{width:100%!important}}

/* HTN v0.1.12 — compact, predictable cover-photo and gallery form controls.
   Explicit input types keep theme-wide input selectors from stretching checkboxes. */
.htn-header-picker{box-sizing:border-box;max-width:100%;margin:22px 0;padding:18px 20px;border:1px solid #dbe4ed;border-radius:9px;background:#f8fafd}
.htn-header-picker .htn-hint{margin:0 0 12px;font-size:12px;line-height:1.6;color:#5a6d80}
.htn-header-picker .htn-header-preview{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:top;max-width:min(100%,420px);min-width:0;max-height:190px;overflow:hidden;margin:3px 0 12px;padding:8px;border:1px solid #d0dbe6;border-radius:8px;background:repeating-conic-gradient(#eff3f8 0% 25%,#fff 0% 50%) 50% / 22px 22px}
.htn-header-picker .htn-header-preview img{display:block!important;box-sizing:border-box!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:170px!important;min-height:0!important;object-fit:contain!important;object-position:center!important;margin:0!important;border:0!important;border-radius:5px!important}
.htn-header-picker .htn-header-preview img[hidden],.htn-header-picker .htn-header-preview [hidden]{display:none!important}
.htn-header-picker .htn-header-preview-fallback{font-size:13px;line-height:1.6;color:#5a6570}
.htn-header-picker .htn-header-preview-notice{max-width:570px;border:1px solid #e0d6b9;border-radius:6px;background:#fffaf0;padding:10px 12px;margin:7px 0 12px;color:#5c4d30;font-weight:400;font-size:13px}
.htn-header-picker label.htn-header-remove{box-sizing:border-box;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:fit-content!important;max-width:100%!important;margin:7px 0 16px!important;padding:0!important;border:0!important;line-height:1.4!important;font-size:13px!important;font-weight:600!important;color:#0b284a!important;cursor:pointer}
.htn-header-picker label.htn-header-remove>input[type="checkbox"],.htn-gallery-thumb input[type="checkbox"]{box-sizing:border-box!important;display:inline-block!important;appearance:checkbox!important;-webkit-appearance:checkbox!important;position:static!important;float:none!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:0!important;padding:0!important;vertical-align:middle!important;border:1px solid #879bb0!important;border-radius:3px!important;background:#fff!important;box-shadow:none!important;transform:none!important;accent-color:#0b284a!important}
.htn-header-picker label.htn-header-remove>span{box-sizing:border-box;display:inline!important;flex:0 1 auto!important;width:auto!important;padding:0!important;margin:0!important;line-height:1.4!important;font-size:13px!important;font-weight:600!important;color:#0b284a!important}
.htn-header-picker .htn-header-file{box-sizing:border-box;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;max-width:740px!important;margin:12px 0 0!important}
.htn-header-picker .htn-header-file>span{font-size:13px;font-weight:700;color:#0b284a}
.htn-header-picker .htn-header-file input[type="file"],.htn-gallery-upload input[type="file"]{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:46px!important;height:auto!important;padding:8px 10px!important;border:1px solid #b9c9d9!important;border-radius:6px!important;background:#fff!important;color:#173452!important;font-size:13px!important;box-shadow:none!important}
.htn-header-picker .htn-header-file input[type="file"]::file-selector-button{margin-right:12px;padding:6px 10px;border:1px solid #a7b7c8;border-radius:4px;background:#f3f6fa;color:#0b284a;cursor:pointer}
.htn-gallery-thumb>span{display:inline-flex;align-items:center;gap:6px}
@media(max-width:600px){.htn-header-picker{padding:14px}.htn-header-picker .htn-header-preview{max-width:100%}.htn-header-picker label.htn-header-remove{white-space:normal!important}}
/* v0.1.14: the directory thumbnail uses the verified listing header image when available. */
.htn-wrap .htn-directory-card img.htn-card-cover{display:block;width:100%;height:170px;min-height:170px;max-height:170px;object-fit:cover;object-position:center center;border:0;border-radius:0;margin:0}

/* HTN v0.1.20: gallery controls protected from themes that inject pink backgrounds. */
.htn-wrap.htn-profile .htn-gallery button.htn-gallery-item,.htn-site .htn-wrap.htn-profile .htn-gallery button.htn-gallery-item{appearance:none!important;-webkit-appearance:none!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;aspect-ratio:4/3!important;border:1px solid #d6e2ed!important;border-radius:8px!important;background:#ecf2f7!important;background-image:none!important;box-shadow:none!important;overflow:hidden!important;cursor:zoom-in!important}
.htn-wrap.htn-profile .htn-gallery .htn-gallery-item img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;max-height:none!important;border:0!important;margin:0!important}
.htn-wrap .htn-lightbox button.htn-lightbox-close{appearance:none!important;-webkit-appearance:none!important;position:absolute!important;right:20px!important;top:12px!important;width:48px!important;height:48px!important;border:2px solid #fff!important;border-radius:50%!important;background:#0b284a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:33px!important;line-height:1!important;cursor:pointer!important}
.htn-wrap .htn-lightbox button.htn-lightbox-close:hover{background:#aa8437!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important}
.htn-wrap .htn-lightbox button.htn-lightbox-close:focus-visible,.htn-wrap.htn-profile .htn-gallery button.htn-gallery-item:focus-visible{outline:3px solid #aa8437!important;outline-offset:3px}
/* Repeatable public website URLs. */
.htn-wrap .htn-websites,.htn-admin .htn-websites{display:grid;gap:9px;margin-top:7px}
.htn-wrap .htn-website-row,.htn-admin .htn-website-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.htn-wrap .htn-website-row input[type=url],.htn-admin .htn-website-row input[type=url]{flex:1 1 250px;min-width:0}
.htn-wrap .htn-website-add,.htn-wrap .htn-website-remove{appearance:none!important;-webkit-appearance:none!important;padding:9px 14px!important;border:1px solid #0b284a!important;border-radius:6px!important;background:#0b284a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;min-height:40px!important}
.htn-wrap .htn-website-remove{background:#fff!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important}
.htn-wrap .htn-website-add:hover,.htn-wrap .htn-website-remove:hover{background:#aa8437!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important}
/* Structured seven-day opening hours, independently editable from meeting notes. */
.htn-wrap .htn-weekly-hours,.htn-admin .htn-weekly-hours{box-sizing:border-box;max-width:100%;min-width:0;margin:20px 0;padding:18px 20px;border:1px solid #d6e2eb;border-radius:9px;background:#f7f9fc;color:#0b284a}
.htn-wrap .htn-weekly-hours legend,.htn-admin .htn-weekly-hours legend{font-size:17px;font-weight:700;padding:0 7px;color:#0b284a}
.htn-wrap .htn-hours-enabled,.htn-admin .htn-hours-enabled{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700}
.htn-wrap .htn-weekly-rows,.htn-admin .htn-weekly-rows{display:grid;gap:8px;margin-top:13px}
.htn-wrap .htn-hours-row,.htn-admin .htn-hours-row{display:grid;grid-template-columns:minmax(90px,1fr) 105px minmax(130px,1fr) minmax(130px,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid #e0e7ee;border-radius:7px;background:#fff}
.htn-wrap .htn-hours-row>label,.htn-admin .htn-hours-row>label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;color:#445b71}
.htn-wrap .htn-hours-row input[type=time],.htn-admin .htn-hours-row input[type=time]{min-width:0;width:100%;max-width:155px;padding:7px;border:1px solid #b9cadb;border-radius:5px;background:#fff;color:#0b284a}
.htn-wrap .htn-weekly-hours input[type=checkbox],.htn-admin .htn-weekly-hours input[type=checkbox]{appearance:checkbox!important;-webkit-appearance:checkbox!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;flex:0 0 17px!important;margin:0!important;padding:0!important;accent-color:#0b284a!important}
.htn-hours-row.is-closed input[type=time]{opacity:.5}
.htn-wrap .htn-weekly-display dl{display:grid;gap:0;margin:0}
.htn-wrap .htn-weekly-display dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e9eef3}
.htn-wrap .htn-weekly-display dl>div:last-child{border:0}
.htn-wrap .htn-weekly-display dt{font-weight:600;color:#0b284a}.htn-wrap .htn-weekly-display dd{margin:0;color:#465a6c}
.htn-wrap .htn-upload-feedback:not(:empty){padding:12px 14px;border:1px solid #e2ac77;border-radius:6px;background:#fff3e7;color:#733514;font-weight:600;margin-bottom:15px}
@media(max-width:690px){.htn-wrap .htn-hours-row,.htn-admin .htn-hours-row{grid-template-columns:1fr 1fr}.htn-wrap .htn-hours-row>strong,.htn-admin .htn-hours-row>strong{grid-column:1}}


/* v0.1.21 - One consistent field outline across every HTN listing form.
   WordPress themes sometimes override individual types (especially text, tel, and
   URL) differently from selects and date pickers. Restrict these overrides to
   the listing submit/update forms; leave checkboxes, file uploads and buttons to
   their existing dedicated styles. */
.htn-wrap form[data-htn-upload-form] .htn-field :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="datetime-local"],select,textarea){
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid #b9c9d9!important;
  border-radius:7px!important;
  background-color:#fff!important;
  box-shadow:none!important;
  color:#192d42!important;
  -webkit-text-fill-color:#192d42!important;
  font:400 15px/1.45 Arial,Helvetica,sans-serif!important;
  text-indent:0!important;
  letter-spacing:normal!important;
  opacity:1!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
/* Keep native dropdown chevrons and calendar/time picker buttons intact. */
.htn-wrap form[data-htn-upload-form] .htn-field :is(select,input[type="datetime-local"]){
  appearance:auto!important;
  -webkit-appearance:auto!important;
}
.htn-wrap form[data-htn-upload-form] .htn-field textarea{
  min-height:86px!important;
  height:auto;
  resize:vertical!important;
}
.htn-wrap form[data-htn-upload-form] .htn-field textarea[name="description"]{min-height:118px!important}
.htn-wrap form[data-htn-upload-form] .htn-field :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="datetime-local"],select,textarea):is(:focus,:focus-visible){
  border-color:#aa8437!important;
  outline:2px solid #aa8437!important;
  outline-offset:1px!important;
  box-shadow:0 0 0 2px rgba(170,132,55,.12)!important;
}
.htn-wrap form[data-htn-upload-form] .htn-field :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="datetime-local"],select,textarea):disabled{
  background-color:#f2f5f8!important;
  color:#677789!important;
  -webkit-text-fill-color:#677789!important;
}
/* Match the time fields inside the seven-day editor without changing their
   native picker behavior or the compact checkbox presentation. */
.htn-wrap form[data-htn-upload-form] .htn-hours-row input[type="time"]{
  box-sizing:border-box!important;
  min-height:38px!important;
  border:1px solid #b9c9d9!important;
  border-radius:7px!important;
  background-color:#fff!important;
  box-shadow:none!important;
  color:#192d42!important;
}
.htn-wrap form[data-htn-upload-form] .htn-hours-row input[type="time"]:focus{
  border-color:#aa8437!important;
  outline:2px solid #aa8437!important;
  outline-offset:1px!important;
}
.htn-wrap form[data-htn-upload-form] .htn-websites .htn-website-row input[type="url"]{
  flex:1 1 230px!important;
  width:0!important;
  min-width:180px!important;
}
@media(max-width:440px){
 .htn-wrap form[data-htn-upload-form] .htn-websites .htn-website-row input[type="url"]{width:100%!important;flex-basis:100%!important;min-width:0!important}
}


/* v0.1.21: Repeatable event dates and start/end time controls. */
.htn-wrap .htn-event-editor,.htn-admin .htn-event-editor{display:flex;flex-direction:column;gap:9px;max-width:100%;min-width:0}
.htn-wrap .htn-event-rows,.htn-admin .htn-event-rows{display:grid;gap:10px}
.htn-wrap .htn-event-row,.htn-admin .htn-event-row{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(125px,1fr) minmax(125px,1fr) auto;align-items:end;gap:10px;padding:12px;background:#f7f9fc;border:1px solid #dbe4ec;border-radius:8px}
.htn-wrap .htn-event-row>label,.htn-admin .htn-event-row>label{display:grid;gap:5px;margin:0;min-width:0;font-size:12px;font-weight:700;color:#0b284a}
.htn-wrap form[data-htn-upload-form] .htn-event-row input[type=date],
.htn-wrap form[data-htn-upload-form] .htn-event-row input[type=time],
.htn-admin form[data-htn-upload-form] .htn-event-row input[type=date],
.htn-admin form[data-htn-upload-form] .htn-event-row input[type=time]{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:46px!important;margin:0!important;padding:10px 12px!important;border:1px solid #b9c9d9!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important;color:#192d42!important;appearance:auto!important;-webkit-appearance:auto!important;font:400 15px/1.4 Arial,Helvetica,sans-serif!important}
.htn-wrap form[data-htn-upload-form] .htn-event-row input:is(:focus,:focus-visible),
.htn-admin form[data-htn-upload-form] .htn-event-row input:is(:focus,:focus-visible){border-color:#aa8437!important;outline:2px solid #aa8437!important;outline-offset:1px!important}
.htn-wrap .htn-event-add,.htn-admin .htn-event-add,.htn-wrap .htn-event-remove,.htn-admin .htn-event-remove{display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-sizing:border-box!important;width:auto!important;min-height:44px!important;padding:9px 13px!important;border:1px solid #0b284a!important;border-radius:7px!important;background:#0b284a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font:700 13px/1.2 Arial,Helvetica,sans-serif!important;text-decoration:none!important;white-space:nowrap!important}
.htn-wrap .htn-event-add,.htn-admin .htn-event-add{align-self:start;margin-top:1px}
.htn-wrap .htn-event-remove,.htn-admin .htn-event-remove{background:#fff!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important}
.htn-wrap .htn-event-add:hover,.htn-admin .htn-event-add:hover,.htn-wrap .htn-event-remove:hover,.htn-admin .htn-event-remove:hover{background:#aa8437!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important}
.htn-wrap .htn-event-add:disabled,.htn-admin .htn-event-add:disabled{opacity:.5!important;cursor:not-allowed!important}
.htn-event-profile-list{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:8px}
.htn-event-profile-list li{display:flex;justify-content:flex-start;align-items:baseline;gap:6px 14px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid #e7edf3}
.htn-event-profile-list li:last-child{border-bottom:none}
.htn-event-profile-list span{font-weight:700;color:#0b284a}
@media(max-width:680px){.htn-wrap .htn-event-row,.htn-admin .htn-event-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.htn-wrap .htn-event-row>label:first-child,.htn-admin .htn-event-row>label:first-child{grid-column:1/-1}.htn-wrap .htn-event-remove,.htn-admin .htn-event-remove{grid-column:1/-1;justify-self:start}}
@media(max-width:390px){.htn-wrap .htn-event-row,.htn-admin .htn-event-row{grid-template-columns:minmax(0,1fr)}.htn-wrap .htn-event-row>label:first-child,.htn-admin .htn-event-row>label:first-child,.htn-wrap .htn-event-remove,.htn-admin .htn-event-remove{grid-column:1}}
/* Keep seven-day Operating Hours usable in narrow columns, not just narrow windows. */
@media(max-width:550px){
 .htn-wrap form[data-htn-upload-form] .htn-hours-row,
 .htn-admin form[data-htn-upload-form] .htn-hours-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .htn-wrap form[data-htn-upload-form] .htn-hours-row>strong,
 .htn-admin form[data-htn-upload-form] .htn-hours-row>strong{grid-column:auto!important}
 .htn-wrap form[data-htn-upload-form] .htn-hours-row>label,
 .htn-admin form[data-htn-upload-form] .htn-hours-row>label{white-space:normal!important;justify-content:space-between!important;gap:8px!important}
 .htn-wrap form[data-htn-upload-form] .htn-hours-row input[type=time],
 .htn-admin form[data-htn-upload-form] .htn-hours-row input[type=time]{max-width:170px!important;flex:1 1 115px!important}
}

/* HTN v0.1.22: readable warning for saved gallery images whose files are absent. */
.htn-gallery-thumb .htn-photo-missing{display:flex;min-height:95px;align-items:center;justify-content:center;border:1px solid #bdc9d4;border-radius:6px;background:#f5f8fb;color:#0b284a;padding:8px;font-size:12px;text-align:center}


/* v0.1.24: unify Add Listing and Update Listing form widths. All outer
   sections, labels, upload areas and repeaters use the same content column.
   Specialized image previews, checkboxes and buttons stay compact. */
.htn-wrap form.htn-listing-form[data-htn-upload-form]{
 box-sizing:border-box!important;width:100%!important;max-width:960px!important;
 min-width:0!important;margin-left:auto!important;margin-right:auto!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] > :is(.htn-field,.htn-event-editor,.htn-weekly-hours,.htn-header-picker,.htn-seo-listing-fields,.htn-gallery-upload,.htn-form-actions),
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-header-picker .htn-header-file,
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-websites,
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-website-row{
 box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;
 margin-left:0!important;margin-right:0!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-field > :is(input:not([type="checkbox"]):not([type="file"]),textarea,select),
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-gallery-upload input[type="file"],
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-header-file input[type="file"]{
 box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
}
/* URL controls should not be shorter than other listing fields when their
   Remove action is present. Put the action on its own right-aligned line. */
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-website-row{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:6px!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-website-row input[type="url"]{
 width:100%!important;min-width:0!important;max-width:100%!important;flex:1 1 auto!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-website-row .htn-website-remove{justify-self:end!important}
/* Date/Start/End controls share equal tracks in each repeatable event row. */
@media(min-width:681px){
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row{
  grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
 }
}
/* Keep the weekly-hours and image sections aligned to the form edges. */
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-weekly-hours,
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-header-picker{
 padding:clamp(12px,2vw,20px)!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-hours-row input[type="time"]{
 width:100%!important;max-width:100%!important;min-width:0!important;
}
@media(max-width:560px){
 .htn-wrap form.htn-listing-form[data-htn-upload-form]{max-width:100%!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-website-row .htn-website-remove{min-height:40px!important}
}

/* v0.1.24: compact matching event date and times. The event panel keeps
   the same outer width as the other fields while the 3 controls form a
   closely-spaced date/time group in matching native picker formats. */
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-editor{width:100%!important;max-width:100%!important;min-width:0!important}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-rows{display:grid!important;gap:12px!important;width:100%!important;min-width:0!important}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row{
 display:grid!important;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr) minmax(0,1fr) auto!important;
 gap:8px!important;align-items:end!important;box-sizing:border-box!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 padding:12px!important;margin:0!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label{
 display:flex!important;flex-direction:column!important;gap:5px!important;
 min-width:0!important;width:100%!important;margin:0!important;
 font-size:13px!important;line-height:1.35!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label>input:is([type="date"],[type="time"]){
 box-sizing:border-box!important;display:block!important;
 width:100%!important;min-width:0!important;max-width:100%!important;
 min-height:46px!important;height:46px!important;
 padding:9px 10px!important;margin:0!important;
 border:1px solid #b9c9d9!important;border-radius:7px!important;
 background:#fff!important;color:#192d42!important;
 box-shadow:none!important;letter-spacing:normal!important;
 font:400 14px/1.35 Arial,Helvetica,sans-serif!important;
}
.htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row .htn-event-remove{align-self:end!important;min-height:46px!important;margin:0!important}
@media(max-width:680px){
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row{grid-template-columns:minmax(0,1.17fr) minmax(0,1fr) minmax(0,1fr)!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label:first-child{grid-column:1!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row .htn-event-remove{grid-column:1/-1!important;justify-self:start!important;min-height:38px!important}
}
@media(max-width:540px){
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding:10px!important;gap:7px!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label:first-child{grid-column:1/-1!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label:nth-child(2){grid-column:1!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label:nth-child(3){grid-column:2!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row .htn-event-remove{grid-column:1/-1!important}
}
@media(max-width:340px){
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row{grid-template-columns:minmax(0,1fr)!important}
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label:nth-child(2),
 .htn-wrap form.htn-listing-form[data-htn-upload-form] .htn-event-row>label:nth-child(3){grid-column:1!important}
}

/* v0.1.27: event-specific address mapping, scoped to the public listing panel. */
.htn-wrap .htn-location-map{margin:22px 0 0;border-top:1px solid #e3eaf1;padding-top:18px}
.htn-wrap .htn-location-map h3{font-size:18px;line-height:1.3;margin:0 0 8px;color:#0b284a}
.htn-wrap .htn-map-container{margin-top:12px;border:1px solid #ced9e4;border-radius:9px;overflow:hidden;background:#f4f7fb;width:100%;min-width:0}
.htn-wrap .htn-map-container iframe{width:100%;height:320px;max-width:100%;display:block;border:0}
.htn-wrap .htn-location-map .htn-map-privacy{color:#718295;font-size:12px;margin:10px 0 0;line-height:1.5}
@media(max-width:520px){.htn-wrap .htn-map-container iframe{height:280px}}

/* v0.1.30: local-only preview for selected profile cover uploads. */
.htn-header-picker .htn-header-upload-preview:not([hidden]){box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:360px;margin-top:12px;padding:10px;border:1px solid #cbd7e4;border-radius:8px;background:#fff}
.htn-header-picker .htn-header-upload-preview[hidden]{display:none!important}
.htn-header-picker .htn-header-upload-preview img{display:block!important;max-width:100%!important;width:auto!important;max-height:180px!important;height:auto!important;object-fit:contain!important;border-radius:5px!important}
.htn-header-picker .htn-header-upload-preview p{margin:0;font-size:13px;line-height:1.5;color:#0b284a}

.htn-header-picker .htn-header-upload-preview img[hidden]{display:none!important}

/* v0.1.32: Operating Hours remains inside Listing Information. */
.htn-wrap.htn-profile .htn-hours-subsection{margin-top:20px;padding-top:18px;border-top:1px solid #e5eaf0}
.htn-wrap.htn-profile .htn-hours-subsection h3{margin:0 0 10px;color:#0b284a;font-size:18px}
.htn-wrap.htn-profile .htn-profile-details{min-width:0}

/* v0.1.33: owner-moderated listing comments. Email and review URLs are never public. */
.htn-wrap.htn-profile .htn-comments{min-width:0}
.htn-wrap.htn-profile .htn-comments h2{margin-top:0}
.htn-wrap .htn-approved-comments{display:grid;gap:12px;margin:12px 0 22px}
.htn-wrap .htn-comment{padding:14px 16px;border:1px solid #dce5ef;border-radius:8px;background:#f8fafc;overflow-wrap:anywhere}
.htn-wrap .htn-comment h3{font-size:16px;line-height:1.35;color:#0b284a;margin:0 0 7px}
.htn-wrap .htn-comment p{margin:0;line-height:1.65;white-space:normal;overflow-wrap:anywhere}
.htn-wrap .htn-comment-form{display:grid;gap:14px;margin-top:15px;max-width:720px}
.htn-wrap .htn-comment-form .htn-field{margin:0}
.htn-wrap .htn-comment-form :is(input[type="text"],input[type="email"],textarea){display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;border:1px solid #b9c9d9!important;border-radius:6px!important;min-height:44px!important;padding:10px 12px!important;background:#fff!important;color:#0b284a!important;box-shadow:none!important}
.htn-wrap .htn-comment-form textarea{min-height:125px!important;resize:vertical}
.htn-wrap .htn-comment-form :is(input,textarea):focus{border-color:#aa8437!important;outline:2px solid #aa8437!important;outline-offset:1px!important}
.htn-wrap .htn-comment-form .htn-button{justify-self:start;min-height:44px!important;background:#0b284a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:2px solid #0b284a!important}
.htn-wrap .htn-comment-notice{border-left:4px solid #aa8437;background:#f8f4e9;padding:12px 15px;border-radius:5px}
.htn-wrap .htn-comment-review blockquote{white-space:normal;overflow-wrap:anywhere;border-left:4px solid #aa8437;padding:10px 15px;background:#f8fafc;margin:15px 0}
@media(max-width:520px){.htn-wrap .htn-comment{padding:12px}.htn-wrap .htn-comment-form .htn-button{width:100%!important;justify-self:stretch}}

/* v0.1.34: keep secure comment moderation buttons in approved HTN navy/gold,
   even when Elementor or the active WordPress theme injects button styles. */
.htn-comment-review button.htn-button.htn-comment-action,
.htn-site .htn-comment-review button.htn-button.htn-comment-action,
.htn-wrap .htn-comment-review button.htn-button.htn-comment-action{
 appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;
 align-items:center!important;justify-content:center!important;width:auto!important;min-height:44px!important;
 padding:11px 20px!important;margin:0!important;border:2px solid #0b284a!important;
 border-radius:6px!important;background:#0b284a!important;background-image:none!important;
 color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:14px!important;font-weight:700!important;
 line-height:1.4!important;text-transform:none!important;letter-spacing:normal!important;
 box-shadow:none!important;opacity:1!important;cursor:pointer!important;
}
.htn-comment-review button.htn-button.htn-comment-action:hover,
.htn-site .htn-comment-review button.htn-button.htn-comment-action:hover{
 background:#aa8437!important;border-color:#aa8437!important;color:#0b284a!important;-webkit-text-fill-color:#0b284a!important;
}
.htn-comment-review button.htn-button.htn-comment-action:focus-visible{
 outline:3px solid #aa8437!important;outline-offset:3px!important;
}
.htn-comment-disabled{padding:13px 15px;border-left:4px solid #aa8437;border-radius:6px;background:#f6f8fb;color:#0b284a;font-weight:600}
.htn-admin .htn-comments-admin-toggle{display:flex;align-items:center;gap:9px;margin:16px 0;font-weight:700;color:#0b284a}
.htn-admin .htn-comments-admin-toggle input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;flex:0 0 18px!important;margin:0!important;accent-color:#0b284a!important}

/* HTN custom-form Turnstile integration; the installed plugin controls widget styling. */
.htn-wrap .htn-turnstile{width:100%;max-width:100%;overflow-x:auto;margin:14px 0 17px;box-sizing:border-box}
.htn-wrap .htn-turnstile iframe{max-width:100%}
.htn-wrap :is(.htn-comment-form,.htn-update-link-form,.htn-report-form,.htn-listing-form) .htn-turnstile{grid-column:1/-1}

/* v0.1.37: Add Listing CAPTCHA sits close to its submit action, without affecting
   other public forms or the embedded challenge's own height and error messages. */
.htn-wrap.htn-add-listing-page form.htn-listing-form[data-htn-upload-form] > .htn-turnstile{
 margin-top:10px!important;margin-bottom:3px!important;
}
.htn-wrap.htn-add-listing-page form.htn-listing-form[data-htn-upload-form] > .htn-turnstile + .htn-form-actions{
 margin-top:3px!important;
}

/* HTN Advertising Manager: responsive manual ad placements, zero external preview assets. */
.htn-ad-slot{box-sizing:border-box;clear:both;min-width:0;width:calc(100% - 36px);max-width:1080px;margin:24px auto;padding:12px 16px 16px;background:#fafbfc;border:1px solid #dde5ec;border-radius:10px;text-align:center;overflow:hidden}
.htn-ad-slot .htn-ad-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#5b697a;margin:0 0 9px}
.htn-ad-slot .adsbygoogle{display:block;min-width:0;max-width:100%}
.htn-grid>.htn-ad-slot{grid-column:1/-1;margin:4px auto 7px;width:100%;max-width:100%;}
.htn-ad-preview .htn-ad-preview-box{min-height:125px;padding:24px 14px;display:flex;gap:8px;justify-content:center;align-items:center;flex-direction:column;border:1px dashed #b9c6d4;border-radius:6px;background:#f2f5f8;color:#0b284a}
.htn-ad-preview .htn-ad-preview-box span{font-weight:400;font-size:13px;color:#596b7b}
.htn-home>.htn-ad-slot{margin:28px auto 32px}
@media(max-width:600px){.htn-ad-slot{width:calc(100% - 24px);padding:10px 8px 12px;margin:16px auto}.htn-ad-preview .htn-ad-preview-box{min-height:90px}}
