/* Townhub public shell, shared by native theme pages and Bootstrap workflows. */
.main-header.th-public-header{position:fixed;inset:0 0 auto;height:80px;width:100%;z-index:1050;display:flex;align-items:center;gap:0;padding:0 30px;background:#2e3f6e;border-bottom:1px solid #ffffff16;box-sizing:border-box;font-family:Roboto,Arial,sans-serif}
.main-header.th-public-header::before{display:none}
.th-public-header .th-logo{float:none;position:static;display:flex;align-items:center;gap:10px;flex-shrink:0;height:80px;margin:0!important;padding:0;color:#fff;font:800 22px Raleway,Arial,sans-serif;text-decoration:none;white-space:nowrap}
.th-public-header .th-logo-mark,.th-public-footer .th-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:5px;background:#cc0000;color:#2e3f6e;font:bold 18px Roboto,Arial,sans-serif;letter-spacing:-1px}
.th-public-header .nav-holder{position:static;float:none;width:auto;height:auto;margin:0 20px 0 auto;padding:0;opacity:1;visibility:visible;background:transparent}
.th-public-header .nav-holder nav{display:block;float:none}
.th-public-header .nav-holder nav ul{position:static;display:flex;align-items:center;gap:0;float:none;margin:0;padding:0;width:auto;list-style:none;opacity:1;visibility:visible;background:transparent;border:0;box-shadow:none}
.th-public-header .nav-holder nav li{position:static;float:none;width:auto;margin:0;padding:0;border:0}
.th-public-header .nav-holder nav li a{position:relative;display:block;float:none;width:auto;padding:29px 10px;color:#fff;font-size:12px;line-height:22px;font-weight:600;white-space:nowrap;text-decoration:none}
.th-public-header .nav-holder nav li a::before{display:none}
.th-public-header .nav-holder nav li a:hover,.th-public-header .nav-holder nav li a.act-link{color:#8bd2ff}
.th-public-header .th-account{position:static;float:none;flex-shrink:0;padding:29px 20px;border:0;border-left:1px solid #ffffff20;color:#fff;font-size:12px;line-height:22px;font-weight:600;white-space:nowrap;text-decoration:none}
.th-public-header .th-account i{color:#8bd2ff;margin-right:8px}
.th-public-header .add-list{position:static;float:none;display:flex;align-items:center;justify-content:center;gap:14px;height:44px;line-height:20px;width:auto;margin:0 0 0 6px;padding:12px 18px;border-radius:4px;background:#cc0000;color:#172c51;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none;box-sizing:border-box}
.th-public-header .add-list i{position:static;margin:0;color:inherit;font-size:14px}
.th-public-header .add-list:hover{background:#8bd2ff}
.th-public-header .th-menu-toggle{position:static;display:none;float:none;flex:0 0 42px;align-items:center;justify-content:center;width:42px;height:42px;line-height:1;margin:0;border:1px solid #ffffff35;border-radius:4px;background:transparent;color:#fff;font-size:18px;cursor:pointer}
.th-public-header .th-mobile-add{display:none!important}
.th-public-header :where(a,button):focus-visible{outline:3px solid #8bd2ff;outline-offset:3px}
.th-public-footer{position:relative;float:none;clear:both;width:100%;margin:0;padding:0;background:#2e3f6e;color:#fff;font:13px/1.7 Roboto,Arial,sans-serif;text-align:left}
.th-public-footer .container{width:calc(100% - 48px);max-width:1240px;margin-inline:auto;padding-inline:0}
.th-public-footer .th-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px;padding-top:58px;padding-bottom:45px;text-align:left}
.th-public-footer .container::before,.th-public-footer .container::after{display:none}
.th-public-footer .th-logo{float:none;display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 23px Raleway,Arial,sans-serif}
.th-public-footer p{max-width:380px;padding:0;margin:22px 0 0;color:#c7d2e8;font:13px/1.9 Roboto,Arial,sans-serif}
.th-public-footer h3{float:none;padding:0;margin:0 0 22px;color:#fff;font:700 16px Raleway,Arial,sans-serif}
.th-public-footer .th-footer-grid>div>a:not(.th-logo){display:block;margin:0 0 13px;color:#c7d2e8;text-decoration:none;font-size:13px}
.th-public-footer .sub-footer{float:none;width:100%;padding:0;background:#26365f;border-top:1px solid #ffffff12}
.th-public-footer .th-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;color:#c7d2e8;font-size:12px}
.th-public-footer .th-footer-bottom nav{display:flex;gap:22px}
.th-public-footer .th-footer-bottom a{margin:0;color:#c7d2e8;text-decoration:none}
.th-public-footer a:hover{color:#8bd2ff!important}
.th-public-footer a:focus-visible{outline:3px solid #8bd2ff;outline-offset:4px}
body.townhub-public{--mb-font:"Roboto","Segoe UI",Arial,sans-serif;--mb-font-display:"Raleway","Roboto",Arial,sans-serif;--mb-primary:#176b9b;--mb-primary-hover:#11577f;--mb-primary-rgb:23,107,155;--mb-primary-soft:#fff1f1;--mb-primary-border:#7aafcf;--mb-ink:#2e3f6e;--mb-muted:#5f6e86;--mb-page:#f6f7fa;--mb-paper:#fff;--mb-paper-alt:#f1f5fa;--mb-line:#e3e9f1;--mb-line-strong:#b4c2d3;--mb-accent:#176b9b;--mb-accent-hover:#11577f;--mb-accent-soft:#fff1f1;--mb-blue:#176b9b;--mb-blue-tint:#fff1f1;--mb-blue-400:#176b9b;--mb-blue-500:#176b9b;--mb-blue-600:#176b9b;--mb-button-bg:#176b9b;--mb-button-orange:#176b9b;--mb-button-orange-hover:#11577f;--mb-button-hover:#11577f;--mb-button-hover-border:#11577f;--mb-button-border:#176b9b;--mb-button-text:#fff;--mb-button-radius:4px;--mb-radius-sm:4px;--mb-radius-md:5px;--mb-radius-lg:6px;--mb-input-bg:#fff;--mb-input-border:#b4c2d3;--mb-input-disabled-bg:#f1f5fa;--mb-focus-color:#176b9b;--mb-focus:0 0 0 3px #176b9b25;--mb-container:1240px;--mb-font:Roboto,Arial,sans-serif;--bs-font-sans-serif:var(--mb-font);--bs-body-font-family:var(--mb-font);--bs-body-bg:#f6f7fa;--bs-body-color:#2e3f6e;--bs-primary:#176b9b;--bs-primary-rgb:23,107,155;--bs-link-color-rgb:23,107,155;--bs-border-color:#e3e9f1;background:#f6f7fa;color:#2e3f6e;font-family:var(--mb-font);font-size:15px;line-height:1.7;color-scheme:light;margin:0}
.townhub-public #main_app{display:block;min-height:55vh;margin:0;padding:80px 0 0;background:transparent}
.townhub-public .container{max-width:1240px}
.townhub-public :where(h1,h2,h3,h4){font-family:var(--mb-font-display);color:#2e3f6e;line-height:1.35;letter-spacing:0}
.townhub-public h1{font-size:clamp(26px,3vw,36px)}
.townhub-public :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #176b9b;outline-offset:3px}
.townhub-public .mb-skip{z-index:1300}
.townhub-public .mb-section{padding:55px 0 65px}
.townhub-public :where(.mb-panel,.card.mb-card,.mb-empty){border:1px solid var(--mb-line);border-radius:6px;background:#fff;box-shadow:0 5px 20px #2e3f6e05}
.townhub-public .btn{font-size:13px;line-height:1.5}
.townhub-public .form-control,.townhub-public .form-select{min-height:44px;border-radius:4px;font-size:14px}
.townhub-public .form-label,.townhub-public label{font-size:13px;color:#455779}
.townhub-public .text-muted{color:#5f6e86!important}
.townhub-public .bg-gradient{background:#f6f7fa!important}
.th-page-hero{padding:48px 0 52px;background:#2e3f6e;color:#fff}
.th-page-hero .container{position:relative}
.th-page-hero h1,.townhub-public .th-page-hero h1{color:#fff;margin:15px 0 12px;font-weight:700}
.th-page-hero p{max-width:700px;margin:0;color:#d8e3f3;font-size:15px;line-height:1.8}
.th-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#c7d2e8;font-size:11px}
.th-breadcrumbs a{color:#d8e3f3;text-decoration:none}
.th-breadcrumbs a:hover{color:#fff;text-decoration:underline}
.th-kicker-line{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#176b9b;font-weight:700}
.th-workspace-card{padding:32px;background:#fff;border:1px solid #e3e9f1;border-radius:6px}
.th-help-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px;align-items:start}
.th-help-nav{position:sticky;top:105px;background:#fff;border:1px solid #e3e9f1;border-radius:6px;overflow:hidden}
.th-help-nav a{display:block;padding:17px 20px;border-bottom:1px solid #e3e9f1;color:#455779;font-size:13px;text-decoration:none}
.th-help-nav a:last-child{border:0}
.th-help-nav a[aria-current],.th-help-nav a:hover{background:#fff1f1;color:#176b9b}
.th-help-copy{background:#fff;border:1px solid #e3e9f1;border-radius:6px;padding:38px;min-height:270px}
.th-help-copy h2{font-size:24px;margin-bottom:18px}
.th-help-copy p{max-width:70ch;color:#5f6e86;line-height:1.9}
.th-error-page{background:linear-gradient(#15284ed9,#15284ed9),url('../images/bg/29.jpg') center/cover;min-height:580px;padding:85px 24px;text-align:center;color:#fff}
.th-error-number{font:800 clamp(90px,14vw,170px)/1 Raleway,Arial,sans-serif;letter-spacing:8px;color:#ffffff1c;margin-bottom:5px}
.townhub-public .th-error-page h1{color:#fff;font-size:clamp(25px,4vw,36px);margin:18px 0}
.th-error-page p{max-width:560px;margin:0 auto 28px;color:#d8e3f3;line-height:1.8}
.th-error-page form{display:flex;gap:10px;max-width:560px;margin:0 auto 28px;padding:10px;background:#fff;border-radius:6px}
.th-error-page input{min-width:0}
.th-error-page>a{color:#fff;text-decoration:underline}
/* Account entrance and system pages follow Townhub's login-sign form layout. */
.townhub-public .mb-auth-section{position:relative;background:linear-gradient(#172c4ecf,#172c4ecf),url('../images/bg/18.jpg') center/cover;padding:70px 0}
.townhub-public .th-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:75px;align-items:center}
.townhub-public .th-auth-story{color:#fff;max-width:500px}
.th-auth-story .th-kicker-line{color:#8bd2ff}
.townhub-public .th-auth-story h2{color:#fff;font-size:clamp(28px,3.8vw,44px);line-height:1.2;margin:20px 0 22px;font-weight:700}
.th-auth-story>p{color:#d8e3f3;line-height:1.9;max-width:440px}
.th-auth-story ul{list-style:none;padding:0;margin:30px 0 0}
.th-auth-story li{display:flex;align-items:center;gap:15px;margin-top:18px;color:#e4edf9;font-size:14px}
.th-auth-story li i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff25;border-radius:50%;color:#8bd2ff}
.townhub-public .mb-auth{max-width:none;width:100%;padding:32px;background:#fff;border-radius:6px;border:1px solid #e3e9f1;box-shadow:0 12px 40px #00000012}
.townhub-public .mb-auth-card{padding:0;border:0;box-shadow:none;background:transparent}
.townhub-public .mb-auth h1{margin-bottom:10px;font-size:28px}
.townhub-public .mb-auth form button[type=submit]:not(.gsi-material-button){min-height:44px;border-radius:4px;background:#176b9b;border-color:#176b9b;color:#fff}
.townhub-public .mb-auth form button[type=submit]:not(.gsi-material-button):hover{background:#11577f}
.townhub-public .mb-auth input:not([type=hidden]):not([type=checkbox]):not([type=radio]){min-height:46px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:4px;font-size:14px}
.townhub-public .mb-auth .helptext{font-size:12px;line-height:1.7}
.townhub-public .mb-auth p{font-size:14px;line-height:1.8}
/* Public add/claim pages preserve the established multi-step form. */
.th-claim-page .mb-claim-narrow{max-width:1040px}
.th-claim-page .mb-claim-search{padding:26px;gap:18px;border-radius:6px;box-shadow:0 5px 20px #2e3f6e06;align-items:end}
.th-claim-page .mb-claim-result{padding:23px;margin-bottom:14px;border-radius:6px}
.th-claim-page .mb-claim-result__name{font:700 18px Raleway,Arial,sans-serif}
.th-claim-page .th-claim-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:35px}
.th-claim-steps article{padding:25px;border:1px solid #e3e9f1;border-radius:6px;background:#fff}
.th-claim-steps span{display:block;color:#176b9b;font-size:12px;font-weight:700;margin-bottom:14px}
.th-claim-steps h2{font-size:18px;margin-bottom:12px}
.th-claim-steps p{font-size:13px;color:#5f6e86;margin:0;line-height:1.8}
.th-claim-page .mb-claim{padding-top:40px}
.th-claim-page .mb-claim-tabs-wrap{background:#fff;border:1px solid #e3e9f1;border-radius:6px 6px 0 0}
.th-claim-page .mb-claim-panes{border-radius:0 0 6px 6px;padding:32px}
.th-claim-page .mb-claim-tabs .nav-link{padding:18px;color:#5f6e86;font-size:13px}
.th-claim-page .mb-claim-tabs .nav-link.active{color:#176b9b;background:#fff1f1;border-bottom-color:#cc0000}
.th-claim-page .mb-claim-confirm{background:#fff1f1;border:1px solid #c9e0f2;border-radius:6px;padding:25px}
.th-action-page .bp-action-shell{max-width:820px;margin:0 auto;padding:40px 24px 65px}
.th-action-page .bp-card{border-radius:6px;padding:32px;border:1px solid #e3e9f1;background:#fff}
.th-action-page .bp-primary{background:#176b9b;color:#fff;border-color:#176b9b}
.th-action-page .bp-form input:not([type=radio]),.th-action-page .bp-form textarea,.th-action-page .bp-form select{background:#f8fafc;border-color:#b4c2d3;border-radius:4px;min-height:44px}
.th-directory-page .mb-card__body{padding:25px;gap:24px}
.th-directory-page .mb-card{border-radius:6px;margin-bottom:20px!important}
.th-directory-page .filters-col{box-shadow:none}
.th-directory-page .sidebar-filters-body{background:#fff;border:1px solid #e3e9f1;border-radius:6px;padding:24px!important}
@media(max-width:1279px){.main-header.th-public-header{padding-inline:22px}.th-public-header .th-logo{font-size:20px}.th-public-header .nav-holder{margin-right:8px}.th-public-header .nav-holder nav li a{padding-inline:7px;font-size:11px}.th-public-header .th-account{padding-inline:14px}.th-public-header .add-list{padding-inline:13px;font-size:11px}}
@media(max-width:1064px){.th-public-header .nav-holder{display:none;position:absolute;left:0;right:0;top:80px;width:100%;max-height:calc(100dvh - 80px);overflow:auto;padding:12px 24px;margin:0;background:#2e3f6e;border-top:1px solid #ffffff20}.th-public-header .nav-holder.is-open{display:block}.th-public-header .nav-holder nav ul{display:block}.th-public-header .nav-holder nav li{display:block;width:100%}.th-public-header .nav-holder nav li a{width:100%;padding:13px 5px;font-size:14px}.th-public-header .th-menu-toggle{display:flex;margin-left:18px}.th-public-header .th-account{margin-left:auto}.th-public-header .th-mobile-add{display:block!important}.th-auth-layout{gap:35px!important}.th-help-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}}
@media(max-width:767px){.th-public-header .add-list{display:none}.th-public-footer .th-footer-grid{grid-template-columns:1fr 1fr;gap:32px 25px}.th-public-footer .th-footer-grid>div:first-child{grid-column:1/-1}.th-public-footer .th-footer-bottom{flex-wrap:wrap}.th-help-layout{grid-template-columns:1fr}.th-help-nav{position:static;display:flex;flex-wrap:wrap}.th-help-nav a{flex:1 1 auto;border-bottom:0;border-right:1px solid #e3e9f1}.th-help-copy{padding:26px}.townhub-public .th-auth-layout{display:block}.townhub-public .th-auth-story{margin:0 auto 28px;max-width:540px}.townhub-public .th-auth-story h2{font-size:29px;margin:12px 0}.th-auth-story ul{display:none}.townhub-public .mb-auth{max-width:540px;margin-inline:auto;padding:28px}.townhub-public .mb-auth-section{padding:35px 0 45px}.th-claim-page .th-claim-steps{grid-template-columns:1fr}.th-claim-page .mb-claim-search{padding:22px;grid-template-columns:1fr}.th-claim-page .mb-claim-panes{padding:22px}.townhub-public .mb-section{padding:35px 0 45px}.th-page-hero{padding:32px 0 38px}.th-page-hero p{font-size:13px}.th-workspace-card{padding:22px}.th-error-page{min-height:490px;padding:50px 20px}.th-action-page .bp-card{padding:24px}}
@media(max-width:480px){.main-header.th-public-header{padding-inline:15px}.th-public-header .th-logo{font-size:17px;gap:8px}.th-public-header .th-logo-mark{width:32px;height:32px;flex-basis:32px;font-size:15px}.th-public-header .th-account{padding-inline:10px;font-size:11px;border:0}.th-public-header .th-account i{display:none}.th-public-header .th-menu-toggle{margin-left:3px;width:38px;height:38px;flex-basis:38px}.th-public-footer .container{width:calc(100% - 36px)}.th-public-footer .th-footer-grid{gap:28px 20px;padding:42px 0 32px}.th-public-footer .th-footer-bottom{gap:15px}.th-public-footer .th-footer-bottom nav{gap:18px}.th-help-copy{padding:22px}.th-error-page form{flex-wrap:wrap}.th-error-page form input{flex:1 1 160px}.th-error-page form button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.townhub-public *,.townhub-public *::before,.townhub-public *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.townhub-public .mb-auth form button[type=submit][name=action_remove],.townhub-public .mb-auth form button[type=submit][value=remove]{background:#fff;color:#a62436;border-color:#a62436}
.townhub-public .mb-auth form button[type=submit][name=action_remove]:hover,.townhub-public .mb-auth form button[type=submit][value=remove]:hover{background:#fff1f3;color:#a62436;border-color:#a62436}
.th-directory-page .search-bar{background:#fff;padding:22px 0!important}
.th-directory-page .mb-searchbar{border-color:#e3e9f1;border-radius:5px}
.th-directory-results{padding:40px 0 65px}
.th-directory-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start}
.th-directory-filters h2{font-size:19px;margin:16px 0}
.th-directory-filters p{font-size:13px;color:#5f6e86;line-height:1.8}
.th-directory-filters .th-workspace-card{padding:24px}
.th-directory-filters legend{font-size:13px;font-weight:600;margin-bottom:17px;color:#455779}
.th-directory-filters .form-check-label{font-size:12px}
.th-directory-filters .form-check-input:checked{background-color:#176b9b;border-color:#176b9b}
.th-directory-map{display:flex;gap:13px;align-items:center;border-top:1px solid #e3e9f1;padding-top:20px;margin-top:22px;color:#176b9b;text-decoration:none;font-size:13px;font-weight:600}
.th-directory-map small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:#5f6e86}
.th-directory-map>i:last-child{margin-left:auto}
.th-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 25px}
.th-directory-toolbar h2{font-size:21px;margin:0}
.th-directory-toolbar>span{color:#5f6e86;font-size:12px;white-space:nowrap}
.th-directory-pagination{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;margin:28px 0 0}
.th-directory-pagination a,.th-directory-pagination span{padding:9px 13px;background:#fff;color:#455779;border:1px solid #e3e9f1;border-radius:4px;font-size:13px;text-decoration:none}
.th-directory-pagination a:hover,.th-directory-pagination span[aria-current]{background:#176b9b;color:#fff;border-color:#176b9b}
.th-directory-pagination .th-page-ellipsis{background:transparent;border:0}
@media(max-width:991px){.th-directory-layout{grid-template-columns:230px minmax(0,1fr);gap:22px}.th-directory-filters .th-workspace-card{padding:20px}.th-directory-page .mb-card__body{padding:20px;gap:18px}}
@media(max-width:767px){.th-directory-layout{grid-template-columns:1fr}.th-directory-filters{display:grid;grid-template-columns:1fr}.th-directory-filters>.th-workspace-card:last-child{display:none}.th-directory-results{padding:28px 0 45px}.th-directory-toolbar{flex-wrap:wrap;margin-bottom:18px}.th-directory-page .mb-card__body{padding:20px 16px;gap:15px}}
.th-directory-page .mb-card__initials{background:#eaf1fa;color:#2e3f6e}
@media(min-width:768px) and (max-width:991px){.townhub-public .th-auth-layout{display:block}.townhub-public .th-auth-story{max-width:540px;margin:0 auto 30px}.townhub-public .th-auth-story h2{font-size:32px;margin:12px 0}.th-auth-story ul{display:none}.townhub-public .mb-auth{max-width:540px;margin-inline:auto}.townhub-public .mb-auth-section{padding:40px 0 50px}}
/* Supplied wordmark: white backing keeps the charcoal lettering readable. */
.th-public-header .th-logo .mb-brand-logo,.th-public-footer .th-logo .mb-brand-logo { display:block;width:174px;height:auto;max-height:54px;object-fit:contain;background:#fff;padding:7px 10px;border-radius:5px; }
@media(max-width:480px){.th-public-header .th-logo .mb-brand-logo{width:140px;padding:6px 8px;}}
.th-public-header .add-list,.th-public-header .add-list:hover,.th-public-header .add-list i { color:#fff; }
