#tsf-app{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111827}
.tsf-app-shell{max-width:100%;padding:0 0 110px}
.tsf-top-search{position:sticky;top:0;z-index:20;background:#fff;padding:10px 0 12px;border-bottom:1px solid #e5e7eb}
.tsf-top-row,.tsf-sub-row{display:grid;gap:10px}
.tsf-top-row{grid-template-columns:1fr auto}
.tsf-sub-row{grid-template-columns:1fr 120px auto auto;margin-top:10px}
.tsf-top-search input,.tsf-top-search select,.tsf-auth-form input,.tsf-submit-form input,.tsf-submit-form textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:14px;padding:13px 14px;background:#fff}
.tsf-submit-form textarea{min-height:110px}
.tsf-primary,.tsf-secondary,.tsf-top-search button,.tsf-stop-actions button,.tsf-card-actions button,.tsf-auth-form button,.tsf-submit-form button{border:0;border-radius:14px;padding:13px 16px;background:#0f172a;color:#fff;cursor:pointer}
.tsf-secondary{background:#eef2ff;color:#0f172a}
.tsf-link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.tsf-filter-panel{margin-top:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:12px}
.tsf-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tsf-check-grid label{display:flex;align-items:center;gap:8px;font-size:14px}
.tsf-inline-message{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}
.tsf-map-stage{position:relative}
.tsf-map-canvas,.tsf-map-fallback{height:62vh;min-height:420px;border-radius:0;border-left:0;border-right:0;overflow:hidden;background:#f3f4f6}
.tsf-map-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center}
.tsf-map-top-overlay{position:absolute;top:0;left:0;right:0;padding:12px;z-index:10}
.tsf-map-top-overlay .tsf-top-search{position:static;border:0;background:transparent;padding:0;max-width:980px;margin:0 auto}
.tsf-map-top-overlay .tsf-top-search input,.tsf-map-top-overlay .tsf-top-search select{background:rgba(255,255,255,.96);backdrop-filter:blur(6px)}
.tsf-map-bottom-overlay{position:absolute;left:14px;right:14px;bottom:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(15,23,42,.82);color:#fff;border-radius:18px;padding:12px 14px;z-index:10}
.tsf-sheet-toggle-wrap{display:flex;justify-content:center;margin-top:-22px;position:relative;z-index:11}
.tsf-sheet-toggle{border:0;border-radius:999px;padding:10px 16px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12);cursor:pointer}
.tsf-results-sheet{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:14px}
.tsf-bottom-sheet{max-width:1120px;margin:0 auto;border-top-left-radius:26px;border-top-right-radius:26px;min-height:160px}
.tsf-bottom-sheet.is-collapsed .tsf-results-list{display:none}
.tsf-results-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.tsf-results-head h3{margin:0;font-size:22px}
.tsf-results-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px}
.tsf-stop-card{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff}
.tsf-stop-card.is-selected{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.tsf-stop-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.tsf-stop-main strong{font-size:26px;line-height:1.1}
.tsf-featured-badge{background:#fef3c7;color:#92400e;border-radius:999px;padding:6px 10px;font-size:12px;white-space:nowrap}
.tsf-stop-meta,.tsf-card-meta{color:#6b7280;font-size:14px}
.tsf-stop-badges,.tsf-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tsf-stop-badges span{background:#f3f4f6;border-radius:999px;padding:6px 10px;font-size:13px}
.tsf-stop-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:15px}
.tsf-empty-card,.tsf-card,.tsf-duplicate{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff}
.tsf-card-title{font-weight:700;font-size:18px;margin-bottom:6px}
.tsf-mini-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #f1f5f9}
.tsf-mini-row:first-child{border-top:0}
.tsf-link{background:none;border:0;padding:0;color:#1d4ed8;cursor:pointer;text-align:left}
.tsf-link-danger{color:#b91c1c}
.tsf-detail-drawer{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top-left-radius:22px;border-top-right-radius:22px;box-shadow:0 -10px 40px rgba(0,0,0,.15);max-height:72vh;overflow:auto}
.tsf-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px 16px 10px;border-bottom:1px solid #e5e7eb}
.tsf-detail-head h3{margin:0;font-size:26px}
.tsf-detail-body{padding:16px}
.tsf-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.tsf-review{padding:10px 0;border-top:1px solid #f1f5f9}
.tsf-review:first-child{border-top:0}
.tsf-fab-right,.tsf-fab-left,.tsf-fab-top{position:fixed;z-index:50}
.tsf-fab-right{right:16px;bottom:18px}
.tsf-fab-left{left:16px;bottom:18px}
.tsf-fab-top{right:16px;top:86px}
.tsf-fab{width:56px;height:56px;border-radius:999px;border:0;background:#0f172a;color:#fff;font-size:20px;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer}
.tsf-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:16px}
.tsf-modal{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:16px}
.tsf-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.tsf-modal-head h3{margin:0}
.tsf-close{background:none;border:0;font-size:34px;line-height:1;cursor:pointer}
.tsf-auth-form,.tsf-submit-form{display:grid;gap:10px}
.tsf-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}
.tsf-stat{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:14px}
.tsf-stat strong{display:block;font-size:22px}
.tsf-stat span{display:block;color:#6b7280;font-size:13px;margin-top:2px}
@media (max-width: 899px){
  .tsf-top-row{grid-template-columns:1fr}
  .tsf-sub-row{grid-template-columns:1fr 96px}
  .tsf-sub-row button:nth-child(3), .tsf-sub-row button:nth-child(4){grid-column:span 1}
  .tsf-map-canvas,.tsf-map-fallback{height:50vh;min-height:340px}
  .tsf-map-top-overlay{padding:10px}
  .tsf-map-top-overlay .tsf-top-search{max-width:none}
  .tsf-results-list{grid-template-columns:1fr}
  .tsf-stop-main strong{font-size:20px}
  .tsf-check-grid{grid-template-columns:1fr 1fr}
  .tsf-detail-grid{grid-template-columns:1fr}
  .tsf-stats-grid{grid-template-columns:1fr 1fr}
  .tsf-fab-top{top:auto;right:16px;bottom:88px}
}


/* V4.7 true app mode */
body.tsf-app-mode,
body.tsf-app-mode #main,
body.tsf-app-mode .site,
body.tsf-app-mode .site-content,
body.tsf-app-mode .block-content,
body.tsf-app-mode .container,
body.tsf-app-mode .container-fullwidth,
body.tsf-app-mode .fullwidth-block,
body.tsf-app-mode .vc_row,
body.tsf-app-mode .wpb_wrapper{
  max-width:100% !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

body.tsf-app-mode header,
body.tsf-app-mode footer,
body.tsf-app-mode .site-footer,
body.tsf-app-mode .page-title-block,
body.tsf-app-mode .title-area,
body.tsf-app-mode .breadcrumbs,
body.tsf-app-mode #page-title,
body.tsf-app-mode .top-area,
body.tsf-app-mode .header-wrapper,
body.tsf-app-mode .top-panel,
body.tsf-app-mode .mobile-menu-slide-wrapper,
body.tsf-app-mode #site-header,
body.tsf-app-mode .site-header{
  display:none !important;
}

html.tsf-app-mode-html, body.tsf-app-mode{
  height:100% !important;
  overflow:auto !important;
  background:#f8fafc !important;
}

body.tsf-app-mode #tsf-app{
  position:relative !important;
  z-index:9999 !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}

body.tsf-app-mode.admin-bar #tsf-app{
  margin-top:0 !important;
}

.tsf-app-shell-v46{
  min-height:100vh;
  background:#f8fafc;
}

.tsf-map-stage{
  min-height:70vh;
}

.tsf-map-canvas-full{
  border-radius:0 !important;
  min-height:68vh !important;
  height:68vh !important;
}

.tsf-map-top-overlay{
  padding:16px !important;
}

.tsf-map-top-overlay .tsf-top-search{
  max-width:900px !important;
}

.tsf-map-bottom-overlay{
  max-width:900px;
  margin:0 auto;
  left:16px;
  right:16px;
}

.tsf-bottom-sheet{
  width:min(100%, 1100px);
  margin:-18px auto 0 !important;
  border-top-left-radius:28px !important;
  border-top-right-radius:28px !important;
  box-shadow:0 -10px 30px rgba(15,23,42,.08);
}

.tsf-fab-top{ top:16px !important; right:16px !important; }
.tsf-fab-left{ left:16px !important; bottom:16px !important; }
.tsf-fab-right{ right:16px !important; bottom:16px !important; }

@media (max-width: 899px){
  body.tsf-app-mode #tsf-app{
    width:100vw !important;
    max-width:100vw !important;
  }
  .tsf-map-canvas-full{
    height:58vh !important;
    min-height:58vh !important;
  }
  .tsf-map-top-overlay{
    padding:10px !important;
  }
  .tsf-map-bottom-overlay{
    left:10px;
    right:10px;
    bottom:12px;
  }
  .tsf-bottom-sheet{
    width:100% !important;
    margin:-12px 0 0 !important;
    border-radius:24px 24px 0 0 !important;
  }
}


/* V4.8 standalone page shell */
html body.tsf-standalone-app{
  margin:0 !important;
  padding:0 !important;
  background:#f8fafc !important;
  min-height:100vh;
  overflow-x:hidden !important;
}
body.tsf-standalone-app #wpadminbar,
body.tsf-standalone-app header,
body.tsf-standalone-app footer,
body.tsf-standalone-app .site-header,
body.tsf-standalone-app .site-footer,
body.tsf-standalone-app .top-area,
body.tsf-standalone-app .top-panel,
body.tsf-standalone-app .header-wrapper,
body.tsf-standalone-app .page-title-block,
body.tsf-standalone-app .breadcrumbs,
body.tsf-standalone-app .mobile-menu-slide-wrapper,
body.tsf-standalone-app .panel,
body.tsf-standalone-app .block-content:not(#tsf-app-shell-page),
body.tsf-standalone-app .container:not(#tsf-app-shell-page),
body.tsf-standalone-app .container-fullwidth:not(#tsf-app-shell-page){
  display:none !important;
}
body.tsf-standalone-app #tsf-app-shell-page{
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
}
body.tsf-standalone-app #tsf-app{
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
}


/* V4.9 Google Maps style polish */
html.tsf-app-mode-html,
html body.tsf-standalone-app{
  margin:0 !important;
  padding:0 !important;
  background:#eef3f7 !important;
}

body.tsf-standalone-app{
  padding-top:0 !important;
}

body.tsf-standalone-app #wpadminbar,
html body.tsf-standalone-app #wpadminbar{
  display:none !important;
}

.tsf-app-shell-v46{
  background:#eef3f7 !important;
  padding-bottom:96px !important;
}

.tsf-map-stage{
  min-height:64vh !important;
  background:#dbeafe;
}

.tsf-map-canvas-full{
  height:64vh !important;
  min-height:64vh !important;
  border-radius:0 !important;
}

.tsf-map-top-overlay{
  padding:14px !important;
}

.tsf-map-top-overlay .tsf-top-search{
  max-width:760px !important;
}

.tsf-map-top-overlay .tsf-top-row{
  grid-template-columns:1fr 132px !important;
  gap:8px !important;
}

.tsf-map-top-overlay .tsf-sub-row{
  grid-template-columns:1fr 96px 1fr 120px !important;
  gap:8px !important;
  margin-top:8px !important;
}

.tsf-map-top-overlay .tsf-top-search input,
.tsf-map-top-overlay .tsf-top-search select{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(148,163,184,.35) !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(15,23,42,.10) !important;
  padding:14px 16px !important;
}

.tsf-primary{
  border-radius:18px !important;
  box-shadow:0 10px 22px rgba(15,23,42,.12) !important;
}

.tsf-secondary{
  background:rgba(255,255,255,.90) !important;
  color:#0f172a !important;
  border:1px solid rgba(148,163,184,.30) !important;
  border-radius:18px !important;
  box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
}

.tsf-filter-panel{
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(148,163,184,.25) !important;
  box-shadow:0 16px 40px rgba(15,23,42,.12) !important;
  border-radius:22px !important;
}

.tsf-map-bottom-overlay{
  max-width:720px !important;
  left:16px !important;
  right:16px !important;
  bottom:18px !important;
  background:rgba(30,41,59,.78) !important;
  backdrop-filter:blur(12px) !important;
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(15,23,42,.20) !important;
}

.tsf-sheet-toggle-wrap{
  margin-top:-26px !important;
}

.tsf-sheet-toggle{
  background:rgba(255,255,255,.96) !important;
  border-radius:999px !important;
  box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
  padding:12px 18px !important;
}

.tsf-bottom-sheet{
  background:rgba(255,255,255,.98) !important;
  backdrop-filter:blur(14px) !important;
  border:1px solid rgba(148,163,184,.18) !important;
  box-shadow:0 -12px 36px rgba(15,23,42,.10) !important;
  position:relative;
}

.tsf-bottom-sheet:before{
  content:"";
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  width:56px;
  height:6px;
  border-radius:999px;
  background:#cbd5e1;
}

.tsf-results-head{
  padding-top:12px;
}

.tsf-stop-card{
  border-radius:22px !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
  border:1px solid rgba(148,163,184,.18) !important;
}

.tsf-stop-card.is-selected{
  box-shadow:0 0 0 3px rgba(96,165,250,.24), 0 10px 28px rgba(15,23,42,.08) !important;
}

.tsf-stop-badges span{
  background:#f8fafc !important;
}

.tsf-fab{
  width:58px !important;
  height:58px !important;
  border-radius:999px !important;
  background:#0f172a !important;
  box-shadow:0 14px 34px rgba(15,23,42,.22) !important;
}

.tsf-fab-top{ top:18px !important; right:18px !important; }
.tsf-fab-left{ left:18px !important; bottom:18px !important; }
.tsf-fab-right{ right:18px !important; bottom:18px !important; }

.tsf-detail-drawer{
  background:rgba(255,255,255,.98) !important;
  backdrop-filter:blur(14px) !important;
  border-top-left-radius:28px !important;
  border-top-right-radius:28px !important;
  box-shadow:0 -16px 40px rgba(15,23,42,.18) !important;
}

@media (max-width: 899px){
  .tsf-map-top-overlay{
    padding:10px !important;
  }
  .tsf-map-top-overlay .tsf-top-row{
    grid-template-columns:1fr 104px !important;
  }
  .tsf-map-top-overlay .tsf-sub-row{
    grid-template-columns:1fr 82px !important;
  }
  .tsf-map-top-overlay .tsf-sub-row button{
    grid-column:span 1 !important;
  }
  .tsf-map-canvas-full{
    height:58vh !important;
    min-height:58vh !important;
  }
  .tsf-bottom-sheet{
    margin-top:-10px !important;
  }
}


/* V4.10 polish pass */
.tsf-map-top-overlay{
  padding-top: max(12px, env(safe-area-inset-top)) !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box !important;
}

.tsf-map-top-overlay .tsf-top-search{
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
}

.tsf-map-top-overlay .tsf-top-row{
  grid-template-columns: minmax(0, 1fr) 136px !important;
  gap: 10px !important;
}

.tsf-map-top-overlay .tsf-sub-row{
  grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1fr) 110px !important;
  gap: 10px !important;
  align-items: center !important;
}

.tsf-map-top-overlay .tsf-top-search input,
.tsf-map-top-overlay .tsf-top-search select{
  min-width: 0 !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  font-size: 16px !important;
}

.tsf-map-top-overlay .tsf-primary,
.tsf-map-top-overlay .tsf-secondary{
  min-width: 0 !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  font-size: 15px !important;
  white-space: nowrap !important;
}

.tsf-map-bottom-overlay{
  padding: 10px 14px !important;
  font-size: 14px !important;
  background: rgba(30,41,59,.72) !important;
}

.tsf-map-bottom-overlay strong{
  font-size: 16px !important;
}

.tsf-sheet-toggle{
  padding: 11px 18px !important;
}

.tsf-bottom-sheet:before{
  width: 70px !important;
  height: 5px !important;
  top: 12px !important;
}

.tsf-fab-top{
  top: auto !important;
  right: 18px !important;
  bottom: 160px !important;
}

.tsf-fab-top .tsf-fab{
  width: 54px !important;
  height: 54px !important;
}

.tsf-fab-right .tsf-fab,
.tsf-fab-left .tsf-fab{
  width: 56px !important;
  height: 56px !important;
}

.tsf-results-head{
  align-items: flex-start !important;
}

.tsf-results-head h3{
  letter-spacing: .02em;
}

@media (max-width: 899px){
  .tsf-map-top-overlay{
    padding-top: max(10px, env(safe-area-inset-top)) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .tsf-map-top-overlay .tsf-top-row{
    grid-template-columns: minmax(0, 1fr) 98px !important;
    gap: 8px !important;
  }

  .tsf-map-top-overlay .tsf-sub-row{
    grid-template-columns: minmax(0, 1fr) 98px !important;
    gap: 8px !important;
  }

  .tsf-map-top-overlay .tsf-top-search input,
  .tsf-map-top-overlay .tsf-top-search select{
    padding: 11px 13px !important;
    border-radius: 15px !important;
  }

  .tsf-map-top-overlay .tsf-primary,
  .tsf-map-top-overlay .tsf-secondary{
    padding: 11px 12px !important;
    border-radius: 15px !important;
    font-size: 14px !important;
  }

  .tsf-map-canvas-full{
    height: 56vh !important;
    min-height: 56vh !important;
  }

  .tsf-map-bottom-overlay{
    left: 12px !important;
    right: 12px !important;
    bottom: 14px !important;
  }

  .tsf-fab-top{
    right: 12px !important;
    bottom: 146px !important;
  }
}


/* V4.11 simplified Google Maps layout */
.tsf-map-top-overlay .tsf-top-search.single{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 132px !important;
  gap:10px !important;
}

.tsf-quick-actions{
  display:flex;
  gap:10px;
  margin-top:10px;
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}

.tsf-quick-actions .tsf-secondary{
  flex:1;
}

.tsf-filter-panel-compact{
  max-width:920px !important;
  margin:10px auto 0 !important;
}

.tsf-filter-row-mini{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:10px;
  margin-bottom:10px;
}

.tsf-map-hint{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  background:rgba(15,23,42,.48);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
  pointer-events:none;
  backdrop-filter:blur(4px);
  box-shadow:0 8px 20px rgba(15,23,42,.15);
  z-index:11;
}

.tsf-bottom-nav{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:14px;
  z-index:52;
  display:flex;
  gap:10px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border:1px solid rgba(148,163,184,.2);
  border-radius:999px;
  padding:8px;
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}

.tsf-bottom-nav-btn{
  border:0;
  background:transparent;
  color:#0f172a;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  font-weight:600;
}

.tsf-bottom-nav-btn.is-primary{
  background:#0f172a;
  color:#fff;
}

.tsf-fab-right{
  right:18px !important;
  bottom:86px !important;
}

.tsf-fab-top{
  right:18px !important;
  bottom:150px !important;
}

@media (max-width: 899px){
  .tsf-map-top-overlay .tsf-top-search.single{
    grid-template-columns:minmax(0,1fr) 96px !important;
    gap:8px !important;
  }
  .tsf-quick-actions{
    gap:8px;
    margin-top:8px;
  }
  .tsf-filter-row-mini{
    grid-template-columns:minmax(0,1fr) 88px;
    gap:8px;
  }
  .tsf-map-hint{
    font-size:13px;
    padding:7px 12px;
  }
  .tsf-bottom-nav{
    width:calc(100% - 24px);
    justify-content:space-between;
    bottom:10px;
    gap:6px;
    padding:6px;
  }
  .tsf-bottom-nav-btn{
    flex:1;
    text-align:center;
    padding:10px 8px;
    font-size:14px;
  }
  .tsf-fab-right{
    right:12px !important;
    bottom:78px !important;
  }
  .tsf-fab-top{
    right:12px !important;
    bottom:142px !important;
  }
}


/* V4.12 final spacing and weight polish */
.tsf-map-top-overlay{
  padding-top: max(8px, env(safe-area-inset-top)) !important;
}

.tsf-map-top-overlay .tsf-top-search.single{
  grid-template-columns:minmax(0,1fr) 118px !important;
  gap:8px !important;
  max-width:860px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.tsf-map-top-overlay .tsf-top-search.single input{
  padding:11px 14px !important;
  min-height:48px !important;
}

.tsf-map-top-overlay .tsf-top-search.single .tsf-primary{
  padding:11px 12px !important;
  min-height:48px !important;
  font-size:15px !important;
}

.tsf-quick-actions{
  margin-top:8px !important;
  gap:8px !important;
  max-width:860px !important;
}

.tsf-quick-actions .tsf-secondary{
  min-height:46px !important;
  padding:10px 12px !important;
  font-size:15px !important;
}

.tsf-quick-actions .tsf-secondary:first-child{
  background:rgba(219,234,254,.92) !important;
  border-color:rgba(96,165,250,.32) !important;
  color:#1d4ed8 !important;
  font-weight:600 !important;
}

.tsf-map-stage{
  min-height:62vh !important;
}

.tsf-map-canvas-full{
  height:62vh !important;
  min-height:62vh !important;
}

.tsf-map-bottom-overlay{
  padding:9px 14px !important;
  border-radius:20px !important;
}

.tsf-map-bottom-overlay strong{
  font-size:15px !important;
}

.tsf-sheet-toggle-wrap{
  margin-top:-18px !important;
}

.tsf-sheet-toggle{
  padding:10px 16px !important;
  font-size:14px !important;
}

.tsf-bottom-sheet{
  margin-top:-6px !important;
}

.tsf-results-head{
  padding-top:8px !important;
}

.tsf-results-head h3{
  font-size:18px !important;
  margin-bottom:2px !important;
}

.tsf-card-meta{
  font-size:13px !important;
}

.tsf-stop-card{
  padding:16px !important;
}

.tsf-stop-main strong{
  font-size:18px !important;
}

.tsf-stop-badges span{
  font-size:12px !important;
  padding:5px 10px !important;
}

.tsf-stop-actions button{
  min-height:44px !important;
  padding:10px 14px !important;
}

.tsf-bottom-nav{
  bottom:10px !important;
  padding:6px !important;
  gap:8px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.10) !important;
}

.tsf-bottom-nav-btn{
  padding:9px 12px !important;
  font-size:15px !important;
}

.tsf-bottom-nav-btn.is-primary{
  box-shadow:none !important;
}

.tsf-fab-user{
  right:14px !important;
  bottom:84px !important;
}

.tsf-fab-user .tsf-fab{
  width:52px !important;
  height:52px !important;
  font-size:18px !important;
}

@media (max-width: 899px){
  .tsf-map-top-overlay .tsf-top-search.single{
    grid-template-columns:minmax(0,1fr) 96px !important;
  }
  .tsf-map-top-overlay .tsf-top-search.single input{
    min-height:46px !important;
    padding:10px 13px !important;
  }
  .tsf-map-top-overlay .tsf-top-search.single .tsf-primary{
    min-height:46px !important;
    padding:10px 10px !important;
    font-size:14px !important;
  }
  .tsf-quick-actions .tsf-secondary{
    min-height:44px !important;
    padding:10px !important;
    font-size:14px !important;
  }
  .tsf-map-canvas-full{
    height:54vh !important;
    min-height:54vh !important;
  }
  .tsf-sheet-toggle{
    padding:9px 14px !important;
    font-size:13px !important;
  }
  .tsf-bottom-nav{
    width:calc(100% - 20px) !important;
    bottom:8px !important;
  }
  .tsf-bottom-nav-btn{
    font-size:14px !important;
    padding:9px 8px !important;
  }
  .tsf-fab-user{
    right:10px !important;
    bottom:78px !important;
  }
}


/* V4.13 action button click reliability */
.tsf-stop-actions{
  position:relative;
  z-index:5;
}
.tsf-stop-actions button{
  position:relative;
  z-index:6;
  pointer-events:auto !important;
}
.tsf-stop-main{
  position:relative;
  z-index:1;
}


/* V5.0 production baseline */
.tsf-card-actions .tsf-link-btn{
  min-height:44px;
  padding:10px 14px;
}
.tsf-card-actions{
  align-items:center;
}
.tsf-sheet-toggle,
.tsf-bottom-nav-btn,
.tsf-primary,
.tsf-secondary,
.tsf-stop-actions button{
  -webkit-tap-highlight-color: transparent;
}


/* V5.1 tap reliability fix */
.tsf-stop-card{
  position:relative;
  z-index:1;
  cursor:pointer;
}
.tsf-stop-actions{
  position:relative;
  z-index:20;
  pointer-events:auto !important;
}
.tsf-stop-actions button,
.tsf-card-actions button,
.tsf-card-actions a{
  position:relative;
  z-index:21;
  pointer-events:auto !important;
  touch-action:manipulation;
}
.tsf-stop-main,
.tsf-stop-stats,
.tsf-stop-badges{
  pointer-events:none;
}


/* V5.2 details/card tap fix */
.tsf-stop-card,
.tsf-stop-main,
.tsf-stop-top,
.tsf-stop-meta,
.tsf-stop-badges,
.tsf-stop-stats{
  pointer-events:auto !important;
}
.tsf-stop-card{
  touch-action:manipulation;
}
.tsf-stop-actions{
  pointer-events:auto !important;
}
.tsf-stop-actions .tsf-secondary,
.tsf-stop-actions button{
  touch-action:manipulation;
}


/* V5.3 instant detail drawer fallback */
.tsf-detail-drawer{
  z-index:80 !important;
}
.tsf-detail-head{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(10px);
  z-index:2;
}
.tsf-detail-body{
  padding-bottom:24px;
}


/* V5.5 ratings UI */
.tsf-rating-box{
  margin:12px 0;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  background:#fff;
}








/* V5.6 usability pass */
.tsf-stop-stats-primary{
  margin-top:8px;
  font-weight:600;
}
.tsf-stop-stats-primary span{
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.18);
  border-radius:999px;
  padding:6px 10px;
}
.tsf-empty-card .tsf-card-actions{
  margin-top:12px;
}
.tsf-filter-help{
  font-size:13px;
  color:#64748b;
  margin-bottom:10px;
}


/* V5.9 hybrid site mode */
html.tsf-app-mode-html, body.tsf-app-mode, body.tsf-standalone-app {
  background: unset !important;
}

body.tsf-app-mode #wpadminbar,
body.tsf-standalone-app #wpadminbar,
body.tsf-standalone-app header,
body.tsf-standalone-app footer,
body.tsf-app-mode header,
body.tsf-app-mode footer {
  display: initial !important;
}

body.tsf-standalone-app #tsf-app-shell-page,
body.tsf-standalone-app #tsf-app,
body.tsf-app-mode #tsf-app {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  left: auto !important;
  transform: none !important;
  position: relative !important;
}

#tsf-app {
  position: relative;
  z-index: 1;
}

.tsf-app-shell,
.tsf-app-shell-v46 {
  max-width: 1180px;
  margin: 0 auto;
  padding: 16px 16px 120px;
  background: transparent !important;
}

.tsf-map-stage {
  border-radius: 28px;
  overflow: hidden;
  background: #dbeafe;
  box-shadow: 0 16px 36px rgba(15,23,42,.08);
}

.tsf-map-canvas-full,
.tsf-map-canvas,
.tsf-map-fallback {
  height: 54vh !important;
  min-height: 420px !important;
  border-radius: 28px !important;
}

.tsf-map-top-overlay {
  padding-top: 16px !important;
}

.tsf-map-top-overlay .tsf-top-search.single,
.tsf-quick-actions,
.tsf-filter-panel-compact {
  max-width: 860px !important;
}

.tsf-bottom-sheet {
  margin-top: 14px !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.08) !important;
}

.tsf-sheet-toggle-wrap {
  margin-top: -18px !important;
  position: relative;
  z-index: 3;
}

.tsf-bottom-nav {
  left: 50%;
  transform: translateX(-50%);
  bottom: 18px;
}

.tsf-fab-user {
  right: 18px !important;
  bottom: 92px !important;
}

.tsf-detail-drawer {
  max-width: 860px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 12px;
  border-radius: 28px !important;
}

@media (max-width: 899px) {
  .tsf-app-shell,
  .tsf-app-shell-v46 {
    padding: 12px 10px 118px;
  }

  .tsf-map-canvas-full,
  .tsf-map-canvas,
  .tsf-map-fallback {
    height: 46vh !important;
    min-height: 320px !important;
    border-radius: 22px !important;
  }

  .tsf-map-stage {
    border-radius: 22px;
  }

  .tsf-map-top-overlay {
    padding-top: 10px !important;
  }

  .tsf-map-top-overlay .tsf-top-search.single {
    grid-template-columns: minmax(0,1fr) 96px !important;
  }

  .tsf-quick-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .tsf-bottom-sheet {
    margin-top: 12px !important;
    border-radius: 24px !important;
  }

  .tsf-fab-user {
    right: 10px !important;
    bottom: 84px !important;
  }

  .tsf-bottom-nav {
    width: calc(100% - 20px);
    bottom: 10px;
  }
}


/* V6.0 hybrid theme-gap fix */
body .block-content > #tsf-app,
body .entry-content > #tsf-app,
body .post-content > #tsf-app,
body .wpb_wrapper > #tsf-app{
  margin-top:0 !important;
  padding-top:0 !important;
}

body .block-content:has(#tsf-app),
body .entry-content:has(#tsf-app),
body .post-content:has(#tsf-app),
body .wpb_wrapper:has(#tsf-app){
  margin-top:0 !important;
  padding-top:0 !important;
}

#tsf-app{
  margin-top:0 !important;
}

.tsf-app-shell,
.tsf-app-shell-v46{
  margin-top:-140px !important;
  padding-top:0 !important;
}

@media (max-width: 1199px){
  .tsf-app-shell,
  .tsf-app-shell-v46{
    margin-top:-120px !important;
  }
}

@media (max-width: 899px){
  .tsf-app-shell,
  .tsf-app-shell-v46{
    margin-top:-88px !important;
    padding-top:0 !important;
  }
}

/* safer integration inside common theme wrappers */
body.page .container,
body.page .block-content,
body.page .entry-content{
  box-sizing:border-box;
}

body.page .container:has(#tsf-app),
body.page .block-content:has(#tsf-app),
body.page .entry-content:has(#tsf-app){
  padding-top:0 !important;
}

/* keep header/footer visible while tightening the finder start */
.tsf-map-stage{
  margin-top:0 !important;
}


/* V6.1 header overlap fix in hybrid mode */
#tsf-app{
  clear: both;
}

.tsf-app-shell,
.tsf-app-shell-v46{
  margin-top: 0 !important;
  padding-top: 16px !important;
  position: relative;
  z-index: 1;
}

body.page .container:has(#tsf-app),
body.page .block-content:has(#tsf-app),
body.page .entry-content:has(#tsf-app),
body.page .wpb_wrapper:has(#tsf-app){
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.tsf-map-stage{
  margin-top: 0 !important;
}

.tsf-map-stage,
.tsf-bottom-sheet{
  scroll-margin-top: 110px;
}

@media (max-width: 899px){
  .tsf-app-shell,
  .tsf-app-shell-v46{
    padding-top: 10px !important;
    margin-top: 0 !important;
  }

  .tsf-map-stage{
    border-radius: 20px;
  }

  .tsf-map-canvas-full,
  .tsf-map-canvas,
  .tsf-map-fallback{
    margin-top: 0 !important;
  }
}


/* V7.0 reviews/account/submission polish */
.tsf-review-form textarea{
  width:100%;
  min-height:100px;
  box-sizing:border-box;
  border:1px solid #d1d5db;
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
}
.tsf-review-tag-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0;
}
.tsf-tag-toggle{
  border:1px solid rgba(148,163,184,.22);
  background:#fff;
  color:#0f172a;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
}
.tsf-tag-toggle.is-active{
  background:#dbeafe;
  color:#1d4ed8;
  border-color:#93c5fd;
}

.tsf-review-form{margin-bottom:80px;} .tsf-review-form textarea{font-size:16px;}


/* V7.2 review interaction fix */
.tsf-review-form{
  margin-bottom:80px;
}
.tsf-review-form .tsf-card-actions{
  margin-top:14px;
}
.tsf-review-form textarea{
  font-size:16px;
}
.tsf-tag-toggle,
.tsf-star-btn,
.tsf-review-form button{
  touch-action:manipulation;
}


/* V7.3 review control interaction hardening */
.tsf-review-form{
  position: relative;
  z-index: 8;
}
.tsf-review-form .tsf-review-tag-row,
.tsf-review-form .tsf-rating-row,
.tsf-review-form .tsf-card-actions{
  position: relative;
  z-index: 9;
}
.tsf-review-form .tsf-tag-toggle,
.tsf-review-form .tsf-star-btn,
.tsf-review-form .tsf-card-actions button{
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}


/* V7.4 review defaults and interaction polish */
.tsf-review-form .tsf-tag-toggle.is-active{
  background:#dbeafe !important;
  color:#1d4ed8 !important;
  border-color:#93c5fd !important;
}
.tsf-review-form 

.tsf-review-form 



/* V7.5 simple reviews */
.tsf-review-form 



/* V7.6 review feedback */
.tsf-review-feedback{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  font-size:14px;
}
.tsf-review-error{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
}
.tsf-review-success{
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  color:#065f46;
}


/* V7.7 review confirmation-only state */
.tsf-review-form-confirmation .tsf-card-title{
  margin-bottom: 10px;
}


/* V7.8 rating display fix */
.tsf-star-display{
  font-size:18px;
  margin-right:4px;
  color:#d1d5db;
}
.tsf-star-display.is-active{
  color:#fbbf24;
}


/* V7.9 display-only rating summary */
.tsf-rating-display-row{
  gap:8px;
}
.tsf-star-display{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:16px;
  background:#e5e7eb;
  color:#475569;
  font-size:30px;
  line-height:1;
  user-select:none;
  pointer-events:none;
}
.tsf-star-display.is-active{
  background:#facc15;
  color:#854d0e;
}


/* V8.2 saved/account polish */
.tsf-segmented{
  display:flex;
  gap:8px;
  margin:0 0 14px;
}
.tsf-segmented button{
  flex:1 1 0;
  min-height:42px;
  border:1px solid rgba(148,163,184,.22);
  background:#fff;
  border-radius:14px;
  cursor:pointer;
}
.tsf-segmented button.is-active{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
}
.tsf-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:6px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.18);
  color:#334155;
  font-size:13px;
  text-transform:capitalize;
}


/* V9.0 launch polish */
.tsf-status-pill.tsf-status-approved{
  background:#ecfdf5;
  border-color:#a7f3d0;
  color:#065f46;
}
.tsf-status-pill.tsf-status-pending{
  background:#fffbeb;
  border-color:#fde68a;
  color:#92400e;
}
.tsf-status-pill.tsf-status-rejected,
.tsf-status-pill.tsf-status-declined{
  background:#fef2f2;
  border-color:#fecaca;
  color:#991b1b;
}
.tsf-submission-row .tsf-link[disabled]{
  opacity:.8;
  cursor:default;
  text-decoration:none;
}
.tsf-submission-row .tsf-link{
  text-align:left;
}
.tsf-card-meta{
  line-height:1.45;
}


/* V9.2 small card stars */
.tsf-rating-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.tsf-rating-inline-count{
  color:#0f172a;
}
.tsf-stars-small{
  display:inline-flex;
  gap:2px;
  line-height:1;
}
.tsf-stars-small-star{
  font-size:15px;
  color:#cbd5e1;
}
.tsf-stars-small-star.is-active{
  color:#facc15;
}


/* V9.3 small card star boxes to match large card */
.tsf-rating-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.tsf-stars-box{
  display:inline-flex;
  gap:6px;
  pointer-events:none;
}
.tsf-star-box{
  width:18px;
  height:18px;
  border-radius:6px;
  background:#e5e7eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  color:#64748b;
  line-height:1;
}
.tsf-star-box.is-active{
  background:#facc15;
  color:#92400e;
}
.tsf-rating-inline-count{
  font-size:13px;
  color:#64748b;
}


/* V9.4 half stars + decimal label */
.tsf-rating-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.tsf-stars-box{
  display:inline-flex;
  gap:6px;
  pointer-events:none;
}
.tsf-star-box{
  position:relative;
  width:18px;
  height:18px;
  border-radius:6px;
  background:#e5e7eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  line-height:1;
  overflow:hidden;
  color:#64748b;
}
.tsf-star-box.is-full{
  background:#facc15;
  color:#92400e;
}
.tsf-star-box.is-half{
  background:#e5e7eb;
  color:#64748b;
}
.tsf-star-box.is-half::before{
  content:"★";
  position:absolute;
  inset:0 auto 0 0;
  width:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#facc15;
  color:#92400e;
  overflow:hidden;
}
.tsf-rating-inline-value{
  font-size:13px;
  color:#0f172a;
  font-weight:600;
}
.tsf-rating-inline-count{
  font-size:13px;
  color:#64748b;
}


/* V9.5 discovery & engagement */
.tsf-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:2px;
}
.tsf-card-heading strong{
  flex:1 1 auto;
  min-width:0;
}
.tsf-listing-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  border:1px solid transparent;
}
.tsf-badge-top-rated{
  background:#fef3c7;
  color:#92400e;
  border-color:#fde68a;
}
.tsf-badge-trending{
  background:#dbeafe;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
.tsf-badge-new{
  background:#ecfeff;
  color:#0f766e;
  border-color:#a5f3fc;
}
.tsf-rating-inline-count{
  color:#64748b;
  font-size:13px;
  white-space:nowrap;
}


/* V10.0 map intelligence */
.tsf-map-preview-card{
  position:absolute;
  left:14px;
  right:14px;
  bottom:16px;
  z-index:6;
  max-width:420px;
  background:#fff;
  border:1px solid rgba(148,163,184,.18);
  border-radius:22px;
  box-shadow:0 18px 36px rgba(15,23,42,.16);
  padding:14px;
}
.tsf-map-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.tsf-map-preview-close{
  min-width:36px;
  min-height:36px;
}
.tsf-map-preview-rating{
  margin-top:10px;
  margin-bottom:10px;
}
@media (min-width: 900px){
  .tsf-map-preview-card{
    left:20px;
    right:auto;
  }
}


/* V10.5 map polish */
.tsf-search-area-btn{
  display:block;
  width:100%;
  margin:10px 0 0;
  padding:12px 16px;
  border-radius:18px;
  border:1px solid #c9d7ef;
  background:#ffffff;
  color:#0b1538;
  font-weight:700;
}
.tsf-search-area-btn:active{
  transform:translateY(1px);
}


/* V10.8 filter polish */
.tsf-chip-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.tsf-chip{
  border:1px solid #c9d7ef;
  background:#fff;
  color:#0b1538;
  border-radius:999px;
  padding:10px 14px;
  font-weight:700;
}
.tsf-chip.is-active{
  background:#0b1538;
  color:#fff;
  border-color:#0b1538;
}
.tsf-filter-actions-row{
  display:flex;
  gap:12px;
  align-items:flex-end;
  justify-content:space-between;
  margin-top:12px;
  flex-wrap:wrap;
}
.tsf-rating-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:700;
  color:#4f5d78;
}
.tsf-rating-filter select{
  min-width:120px;
  border:1px solid #d8e2f1;
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}
.tsf-clear-filters{
  border:1px solid #d8e2f1;
  background:#fff;
  color:#0b1538;
  border-radius:14px;
  padding:11px 14px;
  font-weight:700;
}


/* V10.9 filter polish */
.tsf-chip.is-active{
  background:#0b1538;
  color:#fff;
  border-color:#0b1538;
  box-shadow:0 4px 10px rgba(0,0,0,0.15);
}
.tsf-chip:active{
  transform:scale(0.96);
}
.tsf-filter-panel{
  padding-bottom:20px;
}
.tsf-clear-filters{
  background:#fff;
  border:2px solid #ff4d4f;
  color:#ff4d4f;
}
.tsf-active-filters{
  margin-top:10px;
  color:#4f5d78;
  font-weight:700;
  line-height:1.4;
}


/* V10.9.1 layout fix */
.tsf-filter-panel{
  margin-top:10px;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  position:relative;
  z-index:5;
  box-shadow:0 10px 25px rgba(0,0,0,0.12);
}


/* V10.9.2 results bar below map */
.tsf-map-bottom-overlay{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  top:auto !important;
  margin:10px 16px 0 !important;
  z-index:1 !important;
  display:block;
}


/* V11.0 map polish */
.tsf-search-area-btn{
  display:block;
  width:100%;
  margin:12px 0 0;
  padding:13px 16px;
  border-radius:16px;
  border:1px solid #0b1538;
  background:#0b1538;
  color:#fff;
  font-weight:800;
  box-shadow:0 8px 18px rgba(11,21,56,0.18);
}
.tsf-search-area-btn:active{
  transform:translateY(1px);
}
.tsf-map-status{
  margin-top:10px;
  color:#4f5d78;
  font-weight:700;
  line-height:1.4;
}


/* V11.0.2 results bar spacing fix */
.tsf-map-bottom-overlay{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tsf-map-bottom-overlay strong{
  margin-right:0 !important;
  display:inline;
}


/* V11.2.1 saved searches */
.tsf-saved-search-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.tsf-saved-search-label{
  flex:1;
  cursor:pointer;
}
.tsf-saved-search-remove{
  border:0;
  background:transparent;
  color:#dc2626;
  font-weight:700;
}


/* V11.3 stop detail polish */
.tsf-detail-drawer{
  padding:18px 16px 28px;
}
.tsf-detail-head{
  margin-bottom:14px;
}
.tsf-detail-head h3,
.tsf-detail-title{
  line-height:1.15;
  margin-bottom:8px;
}
.tsf-detail-body{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.tsf-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.tsf-card,
.tsf-detail-card{
  border-radius:18px;
  padding:14px;
}
.tsf-card-title{
  margin-bottom:8px;
}
.tsf-stop-badges,
.tsf-detail-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tsf-stop-badges > *,
.tsf-detail-badges > *{
  border-radius:999px;
  padding:7px 11px;
}
.tsf-rating-row,
.tsf-rating-box,
.tsf-rating-display-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tsf-photo-grid,
.tsf-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.tsf-photo-grid img,
.tsf-gallery-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
}
.tsf-stop-actions,
.tsf-detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.tsf-stop-actions .tn-btn,
.tsf-detail-actions .tn-btn,
.tsf-stop-actions button,
.tsf-detail-actions button{
  min-height:46px;
  border-radius:14px;
  padding:12px 16px;
  font-weight:700;
}
.tsf-review-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.tsf-review-item{
  border-radius:16px;
  padding:14px;
}
.tsf-card-meta,
.tsf-detail-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  line-height:1.4;
}
@media (max-width: 640px){
  .tsf-detail-grid,
  .tsf-photo-grid,
  .tsf-gallery-grid{
    grid-template-columns:1fr;
  }
  .tsf-stop-actions,
  .tsf-detail-actions{
    flex-direction:column;
  }
  .tsf-stop-actions .tn-btn,
  .tsf-detail-actions .tn-btn,
  .tsf-stop-actions button,
  .tsf-detail-actions button{
    width:100%;
  }
}


/* V11.3.1 list-card action row restore */
.tsf-stop-card,
.tsf-stop-main{
  padding-bottom:16px;
}
.tsf-stop-actions{
  display:flex;
  flex-direction:row !important;
  gap:12px;
  flex-wrap:nowrap;
}
.tsf-stop-actions .tn-btn,
.tsf-stop-actions button{
  width:auto !important;
  flex:1 1 0;
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
}
@media (max-width: 480px){
  .tsf-stop-actions{
    gap:10px;
  }
  .tsf-stop-actions .tn-btn,
  .tsf-stop-actions button{
    min-height:42px;
    padding:10px 12px;
    font-size:1rem;
  }
}


/* V11.3.2 remove bottom nav, add floating add-stop button */
.tsf-bottom-nav{
  display:none !important;
}
.tsf-fab-add{
  right:18px !important;
  bottom:86px !important;
  position:fixed;
  z-index:52;
}
.tsf-fab-add-btn{
  width:56px !important;
  height:56px !important;
  font-size:30px !important;
  line-height:1 !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tsf-fab-user{
  right:18px !important;
  bottom:154px !important;
  top:auto !important;
}
@media (max-width: 899px){
  .tsf-fab-add{
    right:16px !important;
    bottom:84px !important;
  }
  .tsf-fab-user{
    right:16px !important;
    bottom:150px !important;
    top:auto !important;
  }
}


/* V11.3.3 add-stop mobile form fix */
.tsf-submit-sheet,
.tsf-submit-modal,
.tsf-submit-drawer{
  max-height:calc(100vh - 90px);
  overflow:auto;
  padding:22px 16px 28px;
  box-sizing:border-box;
}

.tsf-submit-head,
.tsf-submit-header{
  position:sticky;
  top:0;
  background:#fff;
  z-index:3;
  padding-top:4px;
  margin-bottom:12px;
}

.tsf-submit-head h3,
.tsf-submit-header h3,
.tsf-submit-title{
  margin:0 0 10px;
  line-height:1.1;
}

.tsf-submit-body,
.tsf-submit-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.tsf-submit-form input,
.tsf-submit-form textarea,
.tsf-submit-form select,
.tsf-submit-body input,
.tsf-submit-body textarea,
.tsf-submit-body select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.tsf-submit-grid,
.tsf-submit-fields{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.tsf-submit-checks,
.tsf-submit-facilities,
.tsf-facility-grid,
.tsf-checkbox-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px 16px;
  align-items:start;
}

.tsf-submit-checks label,
.tsf-submit-facilities label,
.tsf-facility-grid label,
.tsf-checkbox-grid label{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  line-height:1.3;
  white-space:normal;
  word-break:break-word;
}

.tsf-submit-checks input[type="checkbox"],
.tsf-submit-facilities input[type="checkbox"],
.tsf-facility-grid input[type="checkbox"],
.tsf-checkbox-grid input[type="checkbox"]{
  flex:0 0 auto;
  margin:0;
}

.tsf-submit-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}

.tsf-submit-actions button,
.tsf-submit-actions .tn-btn{
  width:100%;
}

@media (max-width: 640px){
  .tsf-submit-sheet,
  .tsf-submit-modal,
  .tsf-submit-drawer{
    max-height:calc(100vh - 74px);
    padding:18px 14px 24px;
    border-radius:24px 24px 0 0;
  }

  .tsf-submit-checks,
  .tsf-submit-facilities,
  .tsf-facility-grid,
  .tsf-checkbox-grid{
    grid-template-columns:1fr 1fr;
    gap:10px 12px;
  }
}

@media (max-width: 420px){
  .tsf-submit-checks,
  .tsf-submit-facilities,
  .tsf-facility-grid,
  .tsf-checkbox-grid{
    grid-template-columns:1fr;
  }
}


/* V11.3.4 fixed viewport FABs */
.tsf-fab-top,
.tsf-fab-right,
.tsf-fab-user,
.tsf-fab-add{
  position: fixed !important;
  z-index: 9999 !important;
  pointer-events: auto;
  transform: none !important;
}

.tsf-fab-user{
  right: 16px !important;
  bottom: 150px !important;
  top: auto !important;
  left: auto !important;
}

.tsf-fab-add{
  right: 16px !important;
  bottom: 82px !important;
  top: auto !important;
  left: auto !important;
}

.tsf-fab,
.tsf-fab-add-btn{
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 24px rgba(15,23,42,0.24) !important;
}

.tsf-submit-sheet ~ .tsf-fab-user,
.tsf-submit-sheet ~ .tsf-fab-add,
.tsf-account-sheet ~ .tsf-fab-user,
.tsf-account-sheet ~ .tsf-fab-add{
  position: fixed !important;
}

@media (max-width: 640px){
  .tsf-fab-user{
    right: 14px !important;
    bottom: 146px !important;
  }
  .tsf-fab-add{
    right: 14px !important;
    bottom: 78px !important;
  }
}


/* V11.3.6 hide FABs during overlays + tidy submit header */
.tsf-submit-sheet,
.tsf-submit-modal,
.tsf-submit-drawer{
  padding-top: 18px !important;
}

.tsf-submit-head,
.tsf-submit-header{
  margin-bottom: 10px !important;
}

.tsf-submit-head h3,
.tsf-submit-header h3,
.tsf-submit-title{
  margin-top: 0 !important;
  line-height: 1.05 !important;
}


/* V11.3.7 submit form mobile repair */
@media (max-width: 640px){
  .tsf-submit-sheet,
  .tsf-submit-modal,
  .tsf-submit-drawer{
    margin-top: 74px !important;
    max-height: calc(100vh - 92px) !important;
    padding-top: 26px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-bottom: 28px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  .tsf-submit-head,
  .tsf-submit-header{
    position: sticky !important;
    top: 0 !important;
    background: #fff !important;
    z-index: 4 !important;
    padding-top: 2px !important;
    margin-bottom: 12px !important;
  }

  .tsf-submit-head h3,
  .tsf-submit-header h3,
  .tsf-submit-title{
    font-size: 2rem !important;
    line-height: 1.02 !important;
    margin: 0 0 8px !important;
    padding-right: 56px !important;
    word-break: break-word !important;
  }

  .tsf-submit-body,
  .tsf-submit-form{
    overflow: visible !important;
  }

  .tsf-submit-checks,
  .tsf-submit-facilities,
  .tsf-facility-grid,
  .tsf-checkbox-grid{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .tsf-submit-checks label,
  .tsf-submit-facilities label,
  .tsf-facility-grid label,
  .tsf-checkbox-grid label{
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  .tsf-submit-checks input[type="checkbox"],
  .tsf-submit-facilities input[type="checkbox"],
  .tsf-facility-grid input[type="checkbox"],
  .tsf-checkbox-grid input[type="checkbox"]{
    margin-right: 10px !important;
  }
}


/* V11.3.8 aggressive mobile submit-sheet repair */
@media (max-width: 640px){
  /* Likely outer overlays/sheets */
  .tsf-submit-sheet,
  .tsf-submit-modal,
  .tsf-submit-drawer,
  .tsf-sheet,
  .tsf-modal,
  .tsf-drawer,
  .tsf-overlay-card{
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 96px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 16px 14px 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border-radius: 24px !important;
  }

  /* Header row / title area */
  .tsf-submit-head,
  .tsf-submit-header,
  .tsf-modal-head,
  .tsf-sheet-head{
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    background: #fff !important;
    padding: 0 0 10px !important;
    margin: 0 0 8px !important;
  }

  .tsf-submit-head h3,
  .tsf-submit-header h3,
  .tsf-submit-title,
  .tsf-modal-head h3,
  .tsf-sheet-head h3{
    font-size: 1.9rem !important;
    line-height: 1.02 !important;
    margin: 0 !important;
    padding-right: 56px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Keep close button pinned and above title */
  .tsf-submit-head .close,
  .tsf-submit-header .close,
  .tsf-submit-close,
  .tsf-modal-close,
  .tsf-sheet-close,
  .tsf-submit-head button[aria-label="Close"],
  .tsf-submit-header button[aria-label="Close"]{
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 6 !important;
  }

  /* Body scroll area */
  .tsf-submit-body,
  .tsf-submit-form,
  .tsf-modal-body,
  .tsf-sheet-body{
    height: calc(100% - 56px) !important;
    max-height: calc(100% - 56px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: 2px !important;
    box-sizing: border-box !important;
  }

  /* Inputs full width */
  .tsf-submit-form input,
  .tsf-submit-form textarea,
  .tsf-submit-form select,
  .tsf-submit-body input,
  .tsf-submit-body textarea,
  .tsf-submit-body select,
  .tsf-modal-body input,
  .tsf-modal-body textarea,
  .tsf-modal-body select,
  .tsf-sheet-body input,
  .tsf-sheet-body textarea,
  .tsf-sheet-body select{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Force checkbox/facility groups into single column */
  .tsf-submit-checks,
  .tsf-submit-facilities,
  .tsf-facility-grid,
  .tsf-checkbox-grid,
  .tsf-check-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .tsf-submit-checks label,
  .tsf-submit-facilities label,
  .tsf-facility-grid label,
  .tsf-checkbox-grid label,
  .tsf-check-grid label{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
  }

  .tsf-submit-checks input[type="checkbox"],
  .tsf-submit-facilities input[type="checkbox"],
  .tsf-facility-grid input[type="checkbox"],
  .tsf-checkbox-grid input[type="checkbox"],
  .tsf-check-grid input[type="checkbox"]{
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}


/* V11.3.9 real mobile fix for Add stop form */
.tsf-submit-modal{
  width:min(92vw, 760px);
  max-height:min(86vh, 900px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.tsf-submit-head{
  position:sticky;
  top:0;
  z-index:5;
  background:#fff;
  padding:18px 18px 12px;
  margin:0;
}
.tsf-submit-title{
  margin:0;
  line-height:1.05;
  padding-right:56px;
}
.tsf-submit-close{
  position:absolute;
  top:16px;
  right:16px;
}
.tsf-submit-form{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.tsf-submit-body{
  padding:0 18px 18px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tsf-submit-actions{
  padding:0 18px 18px;
  background:#fff;
}
.tsf-submit-form input,
.tsf-submit-form textarea,
.tsf-submit-form select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.tsf-check-grid-mobile{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 16px;
}
.tsf-check-grid-mobile label{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.tsf-check-grid-mobile label span{
  white-space:normal;
  word-break:break-word;
}
@media (max-width:640px){
  .tsf-submit-modal{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 96px);
    margin-top:76px;
    border-radius:24px;
  }
  .tsf-submit-head{
    padding:16px 14px 10px;
  }
  .tsf-submit-title{
    font-size:1.9rem;
    padding-right:52px;
  }
  .tsf-submit-body{
    padding:0 14px 16px;
  }
  .tsf-submit-actions{
    padding:0 14px 16px;
  }
  .tsf-check-grid-mobile{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* V11.4.0 submit facilities rebuild */
.tsf-submit-modal{
  overflow: hidden;
}
.tsf-submit-form{
  min-height: 0;
}
.tsf-submit-body{
  overflow-y: auto;
  overflow-x: hidden;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tsf-submit-facilities-fieldset{
  border:1px solid #d8dee8;
  border-radius:18px;
  padding:14px;
  margin:0;
  min-width:0;
}
.tsf-submit-facilities-fieldset legend{
  padding:0 6px;
  font-weight:700;
  color:#1f2937;
}
.tsf-submit-facilities-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.tsf-submit-facility-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  word-break:break-word !important;
}
.tsf-submit-facility-item input[type="checkbox"]{
  flex:0 0 auto !important;
  margin:0 !important;
}
.tsf-submit-facility-item span{
  flex:1 1 auto;
  min-width:0;
}
@media (max-width:640px){
  .tsf-submit-modal{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 96px);
  }
  .tsf-submit-body{
    padding-bottom:18px;
  }
}


/* V11.4.3 clean rollback tweaks */
.tsf-submit-form select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}


/* V11.4.4 clean facilities fieldset hardening */
.tsf-submit-facilities-fieldset{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.tsf-submit-facilities-fieldset legend{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  padding:0 8px !important;
  margin:0 0 8px !important;
  white-space:normal !important;
}

.tsf-submit-facilities-fieldset .tsf-submit-facilities-list{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.tsf-submit-facilities-fieldset .tsf-submit-facility-item{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  position:static !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 0 12px 0 !important;
  padding:0 !important;
  gap:14px !important;
  overflow:visible !important;
  white-space:normal !important;
  text-align:left !important;
}

.tsf-submit-facilities-fieldset .tsf-submit-facility-item:last-child{
  margin-bottom:0 !important;
}

.tsf-submit-facilities-fieldset .tsf-submit-facility-item input[type="checkbox"]{
  flex:0 0 22px !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  margin:0 !important;
}

.tsf-submit-facilities-fieldset .tsf-submit-facility-item span{
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  overflow:visible !important;
  white-space:normal !important;
  word-break:normal !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  text-align:left !important;
}

@media (max-width:640px){
  .tsf-submit-facilities-fieldset{
    padding:14px !important;
  }
}


/* V11.5.0 Google autofill in Add stop form */
.tsf-google-lookup-box{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tsf-google-lookup-btn{
  width:100%;
}
.tsf-google-lookup-error{
  color:#b91c1c;
  font-weight:600;
  line-height:1.4;
}
.tsf-google-lookup-results{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.tsf-google-lookup-result{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  text-align:left;
  border:1px solid #dbe3ee;
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
}
.tsf-google-lookup-result span{
  color:#6b7280;
  line-height:1.35;
}


/* V11.5.1 live Google suggestions */
.tsf-google-lookup-loading{
  color:#475569;
  font-weight:600;
  line-height:1.4;
}


/* V11.6.3 Google-style dropdown suggestions */
.tsf-google-dropdown-wrap{
  position:relative;
}

.tsf-google-lookup-results{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:8px;
  background:#fff;
  border:1px solid #dbe3ee;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,0.10);
  overflow:hidden;
}

.tsf-google-lookup-result{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  width:100% !important;
  margin:0 !important;
  padding:12px 14px !important;
  background:#fff !important;
  color:#0f172a !important;
  border:0 !important;
  border-bottom:1px solid #e8edf5 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}

.tsf-google-lookup-result:last-child{
  border-bottom:0 !important;
}

.tsf-google-lookup-result strong{
  display:block;
  font-size:1rem;
  line-height:1.3;
  color:#111827;
  font-weight:700;
}

.tsf-google-lookup-result span{
  display:block;
  font-size:0.92rem;
  line-height:1.35;
  color:#6b7280 !important;
}

.tsf-google-lookup-result:active,
.tsf-google-lookup-result:hover{
  background:#f8fafc !important;
}

.tsf-google-lookup-loading{
  margin-top:8px;
  color:#475569;
  font-weight:600;
}

.tsf-google-lookup-error{
  margin-top:8px;
}

@media (max-width:640px){
  .tsf-google-lookup-results{
    border-radius:16px;
    margin-top:6px;
  }
  .tsf-google-lookup-result{
    padding:11px 12px !important;
  }
  .tsf-google-lookup-result strong{
    font-size:0.98rem;
  }
  .tsf-google-lookup-result span{
    font-size:0.88rem;
  }
}


/* V11.6.4 proper floating Google dropdown */
.tsf-google-dropdown-wrap{
  position:relative !important;
}

.tsf-google-lookup-results{
  position:absolute !important;
  top:100% !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;
  margin-top:6px !important;
  background:#fff !important;
  border:1px solid #dbe3ee !important;
  border-radius:14px !important;
  box-shadow:0 12px 28px rgba(0,0,0,0.15) !important;
  max-height:260px !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.tsf-google-lookup-result:active{
  background:#eef2ff !important;
}

@media (max-width:640px){
  .tsf-google-lookup-results{
    max-height:220px !important;
  }
}


/* V11.6.5 tighter Google autocomplete UI */
.tsf-google-lookup-box{
  gap:0 !important;
}

.tsf-google-dropdown-wrap > input{
  position:relative;
  z-index:2;
}

.tsf-google-lookup-loading,
.tsf-google-lookup-error{
  margin-top:8px !important;
  padding:0 2px;
}

.tsf-google-lookup-results{
  position:absolute !important;
  top:calc(100% + 6px) !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;
  width:100% !important;
  margin-top:0 !important;
  display:block !important;
  background:#fff !important;
  border:1px solid #dadce0 !important;
  border-radius:12px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12) !important;
  overflow:hidden !important;
  max-height:280px !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.tsf-google-lookup-result{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  width:100% !important;
  gap:2px !important;
  padding:11px 14px !important;
  border:0 !important;
  border-bottom:1px solid #edf1f5 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  text-align:left !important;
  cursor:pointer !important;
}

.tsf-google-lookup-result:last-child{
  border-bottom:none !important;
}

.tsf-google-lookup-result strong{
  display:block;
  width:100%;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#202124 !important;
  font-weight:600 !important;
}

.tsf-google-lookup-result span{
  display:block;
  width:100%;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#5f6368 !important;
}

.tsf-google-lookup-result:hover,
.tsf-google-lookup-result:focus,
.tsf-google-lookup-result:active{
  background:#f5f7f9 !important;
}

@media (max-width:640px){
  .tsf-google-lookup-results{
    max-height:240px !important;
    border-radius:10px !important;
  }

  .tsf-google-lookup-result{
    padding:10px 12px !important;
  }
}


/* V11.7 autocomplete visibility, keyboard nav, and Google-like styling */
.tsf-submit-backdrop{
  z-index:70 !important;
}

.tsf-submit-modal,
.tsf-submit-form,
.tsf-submit-body,
.tsf-google-lookup-box,
.tsf-google-dropdown-wrap{
  overflow:visible !important;
}

.tsf-submit-body{
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.tsf-google-dropdown-wrap{
  position:relative !important;
  z-index:20 !important;
}

.tsf-google-dropdown-wrap > input{
  min-height:58px;
  border:1px solid #d8dee8 !important;
  border-radius:18px !important;
  padding:0 18px !important;
  font-size:16px !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.tsf-google-dropdown-wrap > input:focus{
  border-color:#1a73e8 !important;
  box-shadow:0 0 0 4px rgba(26,115,232,.14) !important;
  outline:none !important;
}

.tsf-google-lookup-results{
  z-index:99999 !important;
  top:calc(100% + 8px) !important;
  border:1px solid #dadce0 !important;
  border-radius:18px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.16) !important;
}

.tsf-google-lookup-result{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:12px 14px !important;
}

.tsf-google-lookup-result:hover,
.tsf-google-lookup-result.is-active{
  background:#f8f9fa !important;
}

.tsf-google-lookup-result strong,
.tsf-google-lookup-result span{
  display:block;
}

.tsf-google-lookup-pin{
  flex:0 0 auto;
  line-height:1.35;
  font-size:16px;
}

.tsf-google-lookup-copy{
  min-width:0;
  flex:1 1 auto;
}

.tsf-google-lookup-copy strong{
  color:#202124;
  font-size:14px;
  font-weight:600;
}

.tsf-google-lookup-copy span{
  color:#5f6368;
  font-size:12px;
  margin-top:2px;
  white-space:normal;
}

.tsf-google-lookup-copy mark{
  background:transparent;
  color:inherit;
  font-weight:700;
}


/* V11.7.1 fix floating dropdown item layout on mobile */
.tsf-google-lookup-results{
  display:block !important;
}

.tsf-google-lookup-result{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  min-height:0 !important;
  height:auto !important;
  width:100% !important;
  box-sizing:border-box !important;
  white-space:normal !important;
}

.tsf-google-lookup-pin{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 20px !important;
  width:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  margin-top:2px !important;
  line-height:1 !important;
}

.tsf-google-lookup-copy{
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
}

.tsf-google-lookup-copy strong,
.tsf-google-lookup-copy span{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}

.tsf-google-lookup-result > span:not(.tsf-google-lookup-pin):not(.tsf-google-lookup-copy){
  width:auto !important;
}

@media (max-width:640px){
  .tsf-google-lookup-results{
    max-height:200px !important;
  }
  .tsf-google-lookup-result{
    padding:10px 12px !important;
  }
}

/* V11.8 modern card-style add stop form */
.tsf-submit-form-cards{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}
.tsf-submit-body-cards{
  gap:16px;
}
.tsf-submit-hero-card,
.tsf-submit-card{
  background:#fff;
  border:1px solid #e7ecf3;
  border-radius:22px;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.tsf-submit-hero-card{
  padding:18px;
  background:linear-gradient(135deg,#0b1b49 0%, #2046cf 100%);
  color:#fff;
}
.tsf-submit-hero-kicker{
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.85;
  margin-bottom:8px;
}
.tsf-submit-hero-title{
  font-size:24px;
  font-weight:800;
  line-height:1.15;
  margin-bottom:6px;
}
.tsf-submit-hero-copy{
  font-size:14px;
  line-height:1.45;
  opacity:.92;
}
.tsf-submit-card{
  padding:16px;
}
.tsf-submit-card-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.tsf-submit-card-head h4{
  margin:0 0 4px;
  font-size:18px;
  line-height:1.2;
  color:#0f172a;
}
.tsf-submit-card-head p{
  margin:0;
  font-size:13px;
  line-height:1.45;
  color:#64748b;
}
.tsf-submit-card-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef4ff;
  font-size:20px;
}
.tsf-submit-field-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tsf-submit-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.tsf-submit-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.tsf-submit-field-wide{
  grid-column:1 / -1;
}
.tsf-submit-label{
  font-size:13px;
  font-weight:700;
  color:#334155;
  padding-left:2px;
}
.tsf-submit-form-cards input,
.tsf-submit-form-cards textarea,
.tsf-submit-form-cards select{
  border:1px solid #dbe3ee;
  border-radius:16px;
  background:#f8fafc;
  padding:15px 16px;
  font-size:16px;
  line-height:1.35;
  min-height:54px;
  box-shadow:none;
}
.tsf-submit-form-cards input:focus,
.tsf-submit-form-cards textarea:focus,
.tsf-submit-form-cards select:focus{
  outline:none;
  border-color:#2563eb;
  background:#fff;
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
.tsf-submit-field-featured input{
  background:#fff;
}
.tsf-submit-facilities-cardset{
  margin:0;
  padding:0;
  border:0;
}
.tsf-submit-facilities-cardset legend{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.tsf-submit-facilities-chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tsf-submit-facility-chip{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #dbe3ee;
  border-radius:18px;
  background:#f8fafc;
  padding:14px 14px;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.tsf-submit-facility-chip:hover{
  border-color:#b8c6da;
  transform:translateY(-1px);
}
.tsf-submit-facility-chip input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
  min-height:0;
}
.tsf-submit-facility-chip input:checked + .tsf-submit-chip-icon{
  background:#1d4ed8;
  color:#fff;
}
.tsf-submit-facility-chip:has(input:checked){
  background:#eef4ff;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.tsf-submit-chip-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  flex:0 0 34px;
}

.tsf-submit-steps-wrap{margin:0 0 14px;}
.tsf-submit-progress{height:8px;border-radius:999px;background:#dbe7ff;overflow:hidden;margin:0 0 12px;}
.tsf-submit-progress-bar{height:100%;background:#2458FF;border-radius:999px;transition:width .2s ease;}
.tsf-submit-steps{display:flex;gap:8px;overflow:auto;padding-bottom:2px;}
.tsf-submit-step{display:flex;align-items:center;gap:8px;border:1px solid #dbe3ee;background:#fff;color:#0f172a;border-radius:999px;padding:10px 12px;font-size:13px;font-weight:700;white-space:nowrap;}
.tsf-submit-step.is-active{background:#0b1b49;color:#fff;border-color:#0b1b49;}
.tsf-submit-step.is-complete{border-color:#2458FF;color:#2458FF;}
.tsf-submit-step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(36,88,255,.12);font-size:12px;font-weight:800;}
.tsf-submit-step.is-active .tsf-submit-step-num{background:rgba(255,255,255,.18);color:#fff;}
.tsf-submit-card.is-hidden-step{display:none;}
.tsf-submit-review-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.tsf-submit-review-item{border:1px solid #dbe3ee;background:#f8fafc;border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;}
.tsf-submit-review-item span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;}
.tsf-submit-review-item strong{font-size:15px;color:#0f172a;}
.tsf-submit-actions-row{display:flex;gap:10px;align-items:center;}
.tsf-submit-actions-row > *{flex:1;}
.tsf-submit-actions-spacer{display:block;}
@media (max-width:640px){
  .tsf-submit-step-label{display:none;}
}
.tsf-submit-actions-sticky{
  padding-top:6px;
}
.tsf-submit-actions-copy{
  font-size:13px;
  color:#64748b;
  margin:0 0 10px;
}
.tsf-submit-actions-sticky button{
  width:100%;
  min-height:56px;
  border-radius:18px;
  font-size:17px;
  font-weight:700;
  box-shadow:0 12px 24px rgba(15,23,42,.14);
}
@media (max-width:640px){
  .tsf-submit-hero-title{
    font-size:22px;
  }
  .tsf-submit-card,
  .tsf-submit-hero-card{
    border-radius:20px;
  }
  .tsf-submit-grid-2,
  .tsf-submit-facilities-chips{
    grid-template-columns:1fr;
  }
}

/* V11.9 driver-value fields */
.tsf-submit-facility-groups{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tsf-submit-facility-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tsf-submit-group-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#64748b;
  padding-left:2px;
}
.tsf-choice-chips,
.tsf-choice-cards{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.tsf-choice-chip,
.tsf-choice-card{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border:1px solid #dbe3ee;
  border-radius:999px;
  background:#f8fafc;
  color:#0f172a;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:all .18s ease;
}
.tsf-choice-card{
  min-height:48px;
  border-radius:16px;
  padding:0 16px;
  font-weight:600;
}
.tsf-choice-chip input,
.tsf-choice-card input{
  position:absolute;
  inset:0;
  opacity:0;
  min-height:0;
  cursor:pointer;
}
.tsf-choice-chip:hover,
.tsf-choice-card:hover{
  border-color:#b8c6da;
  transform:translateY(-1px);
}
.tsf-choice-chip:has(input:checked),
.tsf-choice-card:has(input:checked){
  background:#1d4ed8;
  border-color:#1d4ed8;
  color:#fff;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.tsf-submit-quality-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.tsf-detail-grid-meta{
  margin-top:10px;
}
@media (max-width:640px){
  .tsf-submit-quality-grid{
    grid-template-columns:1fr;
  }
  .tsf-choice-chip,
  .tsf-choice-card{
    flex:1 1 calc(50% - 10px);
  }
}


/* V11.9.1 nested facility detail fields */
.tsf-submit-facility-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tsf-submit-facility-detail{
  padding:0 4px 2px 10px;
}
.tsf-submit-sublabel{
  display:block;
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.tsf-submit-facility-detail .tsf-choice-card{
  min-height:42px;
  font-size:13px;
}


/* V11.9.2 structured facilities */
.tsf-submit-facility-detail{
  padding:0;
  margin-top:4px;
}
.tsf-submit-facility-detail-spaced{
  margin-top:18px;
}
.tsf-submit-facility-stack{
  gap:0;
}
.tsf-submit-facility-detail .tsf-choice-cards{
  gap:10px;
}
.tsf-submit-facility-detail .tsf-choice-card{
  min-height:44px;
}
.tsf-choice-card.is-selected,
.tsf-choice-chip.is-selected{
  background:#1d4ed8;
  border-color:#1d4ed8;
  color:#fff;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}


/* V11.9.6 detail polish */
.tsf-detail-line{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;}
.tsf-detail-line-label{font-weight:600;color:#0f172a;}
.tsf-detail-line-value{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center;}
.tsf-meta-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef3fb;border:1px solid #d7e4f7;font-size:12px;font-weight:600;color:#334155;}
.tsf-detail-grid-meta{grid-template-columns:1fr !important;}


.tsf-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.tsf-photo-card {
  display: block;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
}

.tsf-photo-card img {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.tsf-photo-meta {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  font-size: 12px;
  color: #6b7280;
}

.tsf-photo-meta strong {
  font-size: 13px;
  color: #111827;
}

.tsf-photo-upload-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.tsf-photo-upload-grid label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}

.tsf-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #fff;
}

@media (max-width: 700px) {
  .tsf-photo-upload-grid {
    grid-template-columns: 1fr;
  }
}


/* 12.2.1 filter polish */
.tsf-chip-row{
  gap:10px;
}
.tsf-chip{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
@media (max-width: 700px){
  .tsf-chip-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .tsf-chip{
    width:100%;
    padding:12px 14px;
  }
}


/* 12.2.2 mobile filter sheet scrolling fix */
.tsf-filters-panel,
.tsf-filter-panel,
.tsf-filters-card,
.tsf-sheet-filters {
  max-height: min(72vh, calc(100vh - 180px));
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.tsf-filters-panel-inner,
.tsf-filter-panel-inner,
.tsf-filters-content {
  min-height: 0;
}

@media (max-width: 700px) {
  .tsf-filters-panel,
  .tsf-filter-panel,
  .tsf-filters-card,
  .tsf-sheet-filters {
    max-height: min(68vh, calc(100svh - 200px));
    padding-bottom: 18px;
  }
}




/* 12.3.1 engagement layer */
.tsf-user-state {
  background: #eef3ff;
  border: 1px solid rgba(36,88,255,0.15);
  color: #0b1538;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 600;
  margin: 10px 0 14px;
}

.tsf-toast-message {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  background: #2458FF;
  color: #fff;
  padding: 12px 18px;
  border-radius: 12px;
  font-weight: 600;
  z-index: 999999;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
  max-width: calc(100vw - 24px);
}


/* 12.3.2 stars proper fix */
.tsf-review-stars-native{
  display:flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:8px;
  margin:0 0 18px;
}

.tsf-review-radio{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}

.tsf-review-star-native{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  line-height:1;
  color:#cbd5e1;
  cursor:pointer;
  user-select:none;
  padding:4px;
  border:0;
  background:transparent;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.tsf-review-star-native:hover,
.tsf-review-star-native:hover ~ .tsf-review-star-native{
  color:#2458FF;
}

.tsf-review-radio:checked + .tsf-review-star-native,
.tsf-review-radio:checked + .tsf-review-star-native ~ .tsf-review-star-native{
  color:#2458FF;
}

@media (max-width:700px){
  .tsf-review-star-native{
    font-size:38px;
    padding:6px;
  }
}


/* 12.3.2.5 review style match */
.tsf-review-heading-match{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:28px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  color:#0b1538 !important;
  margin:0 0 12px !important;
}

.tsf-review-copy-match{
  font-size:16px !important;
  line-height:1.55 !important;
  color:#6b7280 !important;
  margin:0 0 18px !important;
}

.tsf-review-form,
.tsf-card.tsf-review-form{
  background:#f8fafc !important;
  border:1px solid #d9dee8 !important;
  border-radius:18px !important;
  padding:28px !important;
  box-shadow:none !important;
}

.tsf-review-stars-large{
  display:flex !important;
  justify-content:flex-start !important;
  gap:16px !important;
  margin:0 0 22px !important;
}

.tsf-review-star-tile,



.tsf-review-star-tile span{
  font-size:46px !important;
  line-height:1 !important;
}

.tsf-review-text,
.tsf-review-form textarea,
#tsf-review-text,
#tsf-single-review-text{
  min-height:180px !important;
  border-radius:18px !important;
  border:2px solid #d5d9e2 !important;
  padding:22px !important;
  font-size:16px !important;
  line-height:1.5 !important;
  background:#fff !important;
  color:#0b1538 !important;
  box-shadow:none !important;
}

.tsf-review-form .tsf-card-actions,
.tsf-review-actions{
  margin-top:18px !important;
}

.tsf-review-form .tsf-card-actions button,
.tsf-review-actions button,
#tsf-single-review-form button[type="submit"]{
  min-height:64px !important;
  border-radius:18px !important;
  padding:0 34px !important;
  background:#07153b !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:700 !important;
  border:0 !important;
}

.tsf-review-form .tsf-card-meta:last-child,
.tsf-review-note{
  color:#6b7280 !important;
  font-size:15px !important;
  margin-top:16px !important;
}

@media (max-width:700px){
  .tsf-review-form,
  .tsf-card.tsf-review-form{
    padding:28px 24px !important;
    border-radius:18px !important;
  }

  .tsf-review-heading-match{
    font-size:28px !important;
  }

  .tsf-review-stars-large{
    gap:16px !important;
  }

  .tsf-review-star-tile,
  


  .tsf-review-star-tile span{
    font-size:30px !important;
  }

  .tsf-review-text,
  .tsf-review-form textarea,
  #tsf-review-text,
  #tsf-single-review-text{
    min-height:140px !important;
    padding:18px !important;
  }

  .tsf-review-form .tsf-card-actions button,
  .tsf-review-actions button,
  #tsf-single-review-form button[type="submit"]{
    min-height:60px !important;
    font-size:18px !important;
    border-radius:18px !important;
  }
}






/* Selected stars only */









/* hide app-rendered review forms anywhere else */
.tsf-app .tsf-review-form,
.tsf-app .tsf-review-form-confirmation {
  display: none !important;
}

@media (min-width: 701px) {
  

}


/* 12.3.7 safety: large detail drawer should never appear */
.tsf-detail-drawer {
  display: none !important;
}


/* 12.3.8 listing review submit fix */
.tsf-review-form {
  background: #f8fafc;
  border: 1px solid #d9dee8;
  border-radius: 18px;
  padding: 24px;
  margin-top: 18px;
}

.tsf-review-heading-match {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  color: #33345a !important;
  margin: 0 0 12px !important;
}

.tsf-review-form-copy {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.5;
  color: #66748b;
}










#tsf-single-review-text {
  width: 100%;
  min-height: 150px;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 18px;
  padding: 18px;
  background: #fff;
  font-size: 16px;
}

.tsf-review-feedback {
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
}

.tsf-review-feedback.is-error {
  background: #fef2f2;
  color: #991b1b;
}

.tsf-review-feedback.is-success {
  background: #ecfdf5;
  color: #065f46;
}

/* make sure app review box never shows */
.tsf-app .tsf-review-form,
.tsf-app .tsf-review-form-confirmation {
  display: none !important;
}


/* 12.3.8.2 saved review stars */
.tsf-review-display-stars {
  display: flex;
  gap: 4px;
  margin-bottom: 6px;
}
.tsf-review-display-star {
  font-size: 18px;
  line-height: 1;
  color: #d1d5db;
}
.tsf-review-display-star.is-active {
  color: #facc15;
}


/* 12.3.8.4 actual star fix */
.tsf-rating-row {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  align-items: stretch !important;
}

.tsf-star-btn {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-width: 0 !important;
  height: auto !important;
  border-radius: 16px !important;
  background: #e5e7eb !important;
  color: #9ca3af !important;
  font-size: 30px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}

.tsf-star-btn.is-active {
  background: #facc15 !important;
  color: #8a4b00 !important;
}

@media (min-width: 701px) {
  .tsf-star-btn {
    font-size: 34px !important;
  }
}


/* 12.3.8.6 review star hard click fix */
.tsf-rating-row{position:relative !important;z-index:20 !important;pointer-events:auto !important;}
.tsf-rating-row .tsf-star-btn{position:relative !important;z-index:21 !important;pointer-events:auto !important;}


/* 12.3.8.7 native review stars */
.tsf-rating-fieldset{border:0;margin:0 0 18px;padding:0;}
.tsf-rating-legend{margin:0 0 10px;padding:0;font-size:15px;font-weight:700;color:#0f172a;}
.tsf-rating-row{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:10px !important;align-items:stretch !important;}
.tsf-star-radio{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;}
.tsf-star-btn{position:relative !important;z-index:5 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:100% !important;aspect-ratio:1 / 1 !important;min-width:0 !important;height:auto !important;padding:0 !important;margin:0 !important;border-radius:16px !important;border:1px solid #d1d5db !important;background:#e5e7eb !important;color:#9ca3af !important;box-shadow:none !important;cursor:pointer !important;-webkit-tap-highlight-color:transparent !important;touch-action:manipulation !important;user-select:none !important;}
.tsf-star-btn span{display:block;font-size:30px;line-height:1;color:inherit;}
.tsf-star-btn:hover,.tsf-star-btn:active{background:#dbe1e8 !important;}
.tsf-star-radio:focus + .tsf-star-btn{outline:3px solid rgba(59,130,246,.18) !important;outline-offset:2px !important;}
.tsf-star-radio:checked + .tsf-star-btn{background:#f2cc43 !important;border-color:#f2cc43 !important;color:#8a4b00 !important;}
@media (min-width:701px){.tsf-star-btn span{font-size:34px !important;}}

/* Deep clean modal: hero card removed */
.tsf-submit-form-cards .tsf-submit-body-cards { gap: 14px; }
.tsf-submit-form-cards .tsf-submit-card-location { margin-top: 0; }


/* v12.4.3 search bar location icon */
.tsf-top-search-with-location .tsf-search-field-wrap{
  position:relative;
  min-width:0;
}
.tsf-top-search-with-location .tsf-search-input{
  padding-right:56px !important;
}
.tsf-location-icon-btn{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#0f172a;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tsf-quick-actions{
  justify-content:flex-start;
}
.tsf-quick-actions .tsf-secondary{
  flex:0 0 auto;
  min-width:140px;
}


/* v12.4.4 crosshair location icon polish */
.tsf-location-icon-btn{
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
}


/* v12.4.5 active location icon */
.tsf-location-icon-btn.is-active{
  color:#3155e7;
}


/* v12.4.6 location icon polish */
.tsf-location-icon-btn{
  background:#ffffff !important;
  color:#3155e7 !important;
  border:1px solid #d7def0 !important;
  box-shadow:none !important;
}
.tsf-location-icon-btn.is-active,
.tsf-location-icon-btn[data-active="1"]{
  background:#eaf0ff !important;
  color:#3155e7 !important;
  border-color:#9fb5ff !important;
}


/* v12.4.7 account modal scroll fix */
.tsf-modal-backdrop{
  overflow:hidden;
}
.tsf-modal{
  display:flex;
  flex-direction:column;
}
.tsf-modal > *{
  min-width:0;
}
@media (max-width: 768px){
  .tsf-modal{
    max-height: 85vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 24px;
  }
  .tsf-modal-backdrop{
    align-items:flex-end;
    padding: 12px;
  }
}


/* v12.4.8 actual account modal scroll fix */
.tsf-modal{
  display:flex;
  flex-direction:column;
  max-height:88dvh;
}
.tsf-account-body{
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  min-height:0;
  flex:1 1 auto;
  padding-right:2px;
}
.tsf-account-body .tsf-modal-head{
  position:sticky;
  top:0;
  background:#fff;
  z-index:2;
  padding-bottom:10px;
}
@media (max-width:768px){
  .tsf-modal{
    max-height:85dvh;
  }
  .tsf-account-body{
    padding-bottom:20px;
  }
}


/* v12.4.9 account modal footer + full page account */
.tsf-account-footer{
  margin-top:16px;
  padding-top:12px;
}
.tsf-account-full-btn{
  display:block;
  width:100%;
  text-align:center;
  text-decoration:none;
}
.tsf-account-page-wrap{
  position:relative;
  padding:24px 12px 40px;
}
.tsf-account-page-wrap .tsf-modal{
  margin:0 auto;
  max-width:860px;
  width:100%;
  box-shadow:none;
}


/* v12.4.12 account page mode */
#tsf-app[data-tsf-account-page="1"] .tsf-map-wrap,
#tsf-app[data-tsf-account-page="1"] .tsf-top-search,
#tsf-app[data-tsf-account-page="1"] .tsf-quick-actions,
#tsf-app[data-tsf-account-page="1"] .tsf-fab,
#tsf-app[data-tsf-account-page="1"] .tsf-floating-actions,
#tsf-app[data-tsf-account-page="1"] .tsf-results-bar,
#tsf-app[data-tsf-account-page="1"] .tsf-results-sheet-handle,
#tsf-app[data-tsf-account-page="1"] .tsf-search-this-area,
#tsf-app[data-tsf-account-page="1"] .tsf-save-search,
#tsf-app[data-tsf-account-page="1"] .tsf-topbar,
#tsf-app[data-tsf-account-page="1"] .tsf-map-overlay {
  display:none !important;
}

#tsf-app[data-tsf-account-page="1"]{
  display:block;
  min-height:60vh;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-page-wrap{
  position:relative !important;
  inset:auto !important;
  background:transparent !important;
  padding:24px 12px 40px !important;
  display:block !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-modal{
  margin:0 auto !important;
  max-width:980px !important;
  width:100% !important;
  max-height:none !important;
  height:auto !important;
  box-shadow:none !important;
  border-radius:28px !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-body{
  overflow:visible !important;
  max-height:none !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-modal-head{
  position:static !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-footer{
  margin-top:16px;
  padding-top:12px;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-full-btn{
  display:none !important;
}


/* v12.4.13 actual my-account page mode */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-only{
  min-height:60vh;
  padding:24px 12px 40px;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-wrap{
  position:relative !important;
  inset:auto !important;
  background:transparent !important;
  display:block !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-modal{
  margin:0 auto !important;
  max-width:980px !important;
  width:100% !important;
  max-height:none !important;
  height:auto !important;
  box-shadow:none !important;
  border-radius:28px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-body{
  overflow:visible !important;
  max-height:none !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-modal-head{
  position:static !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-full-btn{
  display:none !important;
}


/* v12.4.14 account page only render */
#tsf-app[data-tsf-account-page="1"] .tsf-map-wrap,
#tsf-app[data-tsf-account-page="1"] .tsf-top-search,
#tsf-app[data-tsf-account-page="1"] .tsf-quick-actions,
#tsf-app[data-tsf-account-page="1"] .tsf-fab,
#tsf-app[data-tsf-account-page="1"] .tsf-floating-actions,
#tsf-app[data-tsf-account-page="1"] .tsf-results-bar,
#tsf-app[data-tsf-account-page="1"] .tsf-results-sheet-handle,
#tsf-app[data-tsf-account-page="1"] .tsf-search-this-area,
#tsf-app[data-tsf-account-page="1"] .tsf-save-search,
#tsf-app[data-tsf-account-page="1"] .tsf-topbar,
#tsf-app[data-tsf-account-page="1"] .tsf-map-overlay,
#tsf-app[data-tsf-account-page="1"] .tsf-results,
#tsf-app[data-tsf-account-page="1"] .tsf-bottom-bar {
  display:none !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-only{
  min-height:60vh;
  padding:24px 12px 40px;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-wrap{
  position:relative !important;
  inset:auto !important;
  background:transparent !important;
  display:block !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-modal{
  margin:0 auto !important;
  max-width:980px !important;
  width:100% !important;
  max-height:none !important;
  height:auto !important;
  box-shadow:none !important;
  border-radius:28px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-body{
  overflow:visible !important;
  max-height:none !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-modal-head{
  position:static !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-full-btn{
  display:none !important;
}


/* v12.5.0 account page standalone */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-only{
  min-height:60vh;
  padding:24px 12px 40px;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-wrap{
  position:relative !important;
  inset:auto !important;
  background:transparent !important;
  display:block !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-modal{
  margin:0 auto !important;
  max-width:980px !important;
  width:100% !important;
  max-height:none !important;
  height:auto !important;
  box-shadow:none !important;
  border-radius:28px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-body{
  overflow:visible !important;
  max-height:none !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-full-btn{display:none !important;}


/* v12.5.1 dedicated account page layout */
#tsf-app[data-tsf-account-page="1"]{
  display:block;
  padding:0;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-page-only{
  padding:0 !important;
  min-height:auto;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-page-wrap{
  position:static !important;
  inset:auto !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-modal{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-body{
  overflow:visible !important;
  max-height:none !important;
  padding:24px 16px 40px !important;
  background:#fff !important;
  border-radius:0 !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-modal-head{
  position:static !important;
  background:transparent !important;
  padding:0 0 18px !important;
  margin:0 !important;
  border:0 !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-modal-head .tsf-close{
  display:none !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-page-title{
  margin:0 !important;
  font-size:42px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#2e2a4a;
}

#tsf-app[data-tsf-account-page="1"] .tsf-stats-grid{
  margin-top:8px;
}

#tsf-app[data-tsf-account-page="1"] .tsf-segmented{
  margin-top:12px;
}

#tsf-app[data-tsf-account-page="1"] .tsf-account-footer,
#tsf-app[data-tsf-account-page="1"] .tsf-account-full-btn{
  display:none !important;
}

#tsf-app[data-tsf-account-page="1"] .tsf-card-actions{
  margin-top:20px;
}

@media (max-width:768px){
  #tsf-app[data-tsf-account-page="1"] .tsf-account-body{
    padding:20px 14px 28px !important;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-title{
    font-size:28px;
  }
}


/* v12.5.2 true page styling for my-account */
.tsf-account-page-only{
  display:block !important;
  min-height:60vh;
  padding:0 !important;
}

.tsf-account-page-only .tsf-account-page-wrap{
  position:static !important;
  inset:auto !important;
  background:transparent !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
}

.tsf-account-page-only .tsf-modal{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
}

.tsf-account-page-only .tsf-account-body{
  overflow:visible !important;
  max-height:none !important;
  padding:24px 16px 40px !important;
  background:#fff !important;
  border-radius:0 !important;
}

.tsf-account-page-only .tsf-modal-head{
  position:static !important;
  background:transparent !important;
  padding:0 0 18px !important;
  margin:0 !important;
  border:0 !important;
}

.tsf-account-page-only .tsf-modal-head .tsf-close{
  display:none !important;
}

.tsf-account-page-only .tsf-account-page-title{
  margin:0 !important;
  font-size:42px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#2e2a4a;
}

.tsf-account-page-only .tsf-account-footer,
.tsf-account-page-only .tsf-account-full-btn{
  display:none !important;
}

@media (max-width:768px){
  .tsf-account-page-only .tsf-account-body{
    padding:20px 14px 28px !important;
  }
  .tsf-account-page-only .tsf-account-page-title{
    font-size:28px;
  }
}


/* v12.5.3 standalone my-account shell */
.tsf-account-page-standalone{
  position:relative;
  display:block;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}
.tsf-account-page-shell{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  max-height:none !important;
  overflow:visible !important;
}
.tsf-account-page-body{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:24px 16px 40px !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.tsf-account-page-body .tsf-modal-head{
  margin:0 0 18px !important;
  padding:0 !important;
  background:transparent !important;
  position:static !important;
  border:0 !important;
}
.tsf-account-page-body .tsf-close{
  display:none !important;
}
.tsf-account-page-body .tsf-account-page-title{
  margin:0 !important;
  font-size:42px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#2e2a4a;
}
.tsf-account-page-body .tsf-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  box-shadow:0 2px 12px rgba(15,23,42,.04);
}
.tsf-account-page-body .tsf-card-actions{
  margin-top:20px;
}
@media (max-width:768px){
  .tsf-account-page-body{
    padding:20px 14px 28px !important;
  }
  .tsf-account-page-body .tsf-account-page-title{
    font-size:28px;
  }
}


/* v12.5.4 account settings */
.tsf-account-settings-form{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.tsf-account-settings-form input{
  width:100%;
  box-sizing:border-box;
}


/* v12.5.6 toast + loading states */
.tsf-toast{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  background:#0b1538;
  color:#fff;
  padding:12px 16px;
  border-radius:999px;
  z-index:99999;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  font-weight:600;
  max-width:calc(100vw - 32px);
  text-align:center;
}
.tsf-account-settings-form button[disabled]{
  opacity:.72;
}
.tsf-account-settings-form button.is-loading{
  cursor:wait;
}


/* v12.5.7 inline form messages */
.tsf-form-status{
  margin-top:2px;
  margin-bottom:2px;
  padding:10px 12px;
  border-radius:12px;
  font-weight:600;
  font-size:14px;
  line-height:1.4;
}
.tsf-form-status.success{
  background:#edf9f0;
  color:#17663a;
  border:1px solid #bfe5c8;
}
.tsf-form-status.error{
  background:#fff1f1;
  color:#a12828;
  border:1px solid #f0c1c1;
}


/* v12.5.9 auth loading */
.tsf-auth-form button[disabled]{
  opacity:.72;
}
.tsf-auth-form button.is-loading{
  cursor:wait;
}


/* v12.5.10 forgot password link */
.tsf-auth-links{
  margin-top:2px;
  margin-bottom:4px;
  text-align:right;
}
.tsf-auth-link{
  color:#4861d9;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}
.tsf-auth-link:hover{
  text-decoration:underline;
}


/* v12.5.11 custom forgot password */
.tsf-auth-link-btn{
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}

/* v12.5.14 minimal account auth overhaul */
.tsf-auth-screen{
  display:grid;
  gap:20px;
}
.tsf-auth-hero{
  max-width:760px;
}
.tsf-auth-eyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:14px;
  padding:8px 14px;
  border-radius:999px;
  background:#eef3ff;
  color:#3457e8;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tsf-auth-screen .tsf-modal-head{
  align-items:flex-start;
  margin-bottom:0;
}
.tsf-auth-screen .tsf-modal-head h3{
  margin:0;
  font-size:clamp(28px,4.4vw,42px);
  line-height:1.02;
  letter-spacing:-.04em;
  color:#20263a;
}
.tsf-auth-copy{
  margin-top:12px;
  max-width:640px;
  font-size:18px;
  line-height:1.6;
  color:#667085;
}
.tsf-auth-card{
  max-width:760px;
  background:#fff;
  border:1px solid #e6ebf2;
  border-radius:24px;
  padding:28px;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
.tsf-auth-card .tsf-auth-form{
  gap:14px;
}
.tsf-auth-card .tsf-auth-form input{
  min-height:60px;
  border-radius:16px;
  padding:16px 18px;
  border:1px solid #cfd7e6;
  background:#fff;
  color:#111827;
  font-size:17px;
  box-shadow:none;
}
.tsf-auth-card .tsf-auth-form input::placeholder{
  color:#9aa4b2;
}
.tsf-auth-card .tsf-auth-form input:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}
.tsf-auth-card .tsf-auth-form button,
.tsf-auth-card .tsf-auth-form .tsf-secondary{
  width:100%;
  min-height:58px;
  border-radius:16px;
  font-size:17px;
  font-weight:700;
}
.tsf-auth-card .tsf-auth-form > button[type="submit"]{
  margin-top:6px;
}
.tsf-auth-card .tsf-auth-form .tsf-secondary{
  border:1px solid #d8deea;
  background:#fff;
  color:#182033;
}
.tsf-auth-card .tsf-auth-form .tsf-secondary:hover{
  background:#f8fafc;
}
.tsf-auth-link-inline{
  appearance:none;
  align-self:center;
  justify-self:center;
  background:transparent !important;
  color:#3558e8;
  border:0 !important;
  box-shadow:none !important;
  padding:2px 0 0;
  min-height:auto !important;
  width:auto !important;
  font-size:15px !important;
  font-weight:600 !important;
  text-decoration:none;
}
.tsf-auth-link-inline:hover{
  color:#1d4ed8;
  background:transparent !important;
}
.tsf-account-page-standalone{
  padding-top:40px !important;
  background:#f7f9fc;
}
.tsf-account-page-body{
  max-width:980px;
  padding:56px 18px 64px !important;
}
.tsf-account-page-body .tsf-card{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.tsf-auth-screen-page{
  gap:22px;
}
.tsf-auth-card-page{
  max-width:760px;
}
#tsf-app[data-tsf-account-page="1"]{
  background:#f7f9fc;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-wrap,
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-only,
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
  background:#f7f9fc;
}
@media (max-width: 768px){
  .tsf-account-page-standalone{
    padding-top:88px !important;
  }
  .tsf-account-page-body{
    padding:44px 16px 40px !important;
  }
  .tsf-auth-screen{
    gap:18px;
  }
  .tsf-auth-eyebrow{
    margin-bottom:12px;
    padding:7px 12px;
    font-size:10px;
  }
  .tsf-auth-screen .tsf-modal-head h3{
    font-size:clamp(22px,8vw,34px);
  }
  .tsf-auth-copy{
    font-size:15px;
    line-height:1.55;
  }
  .tsf-auth-card{
    padding:18px;
    border-radius:22px;
  }
  .tsf-auth-card .tsf-auth-form input,
  .tsf-auth-card .tsf-auth-form button,
  .tsf-auth-card .tsf-auth-form .tsf-secondary{
    min-height:56px;
    font-size:16px;
  }
  .tsf-auth-link-inline{
    font-size:14px !important;
  }
}


/* v12.5.21 account dashboard cleanup */
.tsf-account-sections{display:grid;gap:16px;padding:18px 0 28px}
.tsf-account-hero-card{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#fff;border-radius:22px;padding:18px 18px 16px;box-shadow:0 10px 28px rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.06)}
.tsf-account-hero-card .tsf-card-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body .tsf-card{box-shadow:0 10px 28px rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.06)}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-title{margin:4px 0 0}
#tsf-app[data-tsf-account-page="1"] .tsf-card-title{font-size:22px}
#tsf-app[data-tsf-account-page="1"] .tsf-mini-row{align-items:flex-start}
#tsf-app[data-tsf-account-page="1"] .tsf-mini-row .tsf-link{text-align:left}
#tsf-app[data-tsf-account-page="1"] .tsf-auth-form{gap:12px}
#tsf-app[data-tsf-account-page="1"] .tsf-auth-form input{background:#fff}
@media (max-width:700px){
  .tsf-account-hero-card{flex-direction:column;align-items:stretch}
  .tsf-account-hero-card .tsf-card-actions{justify-content:stretch}
  .tsf-account-hero-card .tsf-card-actions .tsf-secondary{width:100%}
}


/* v12.5.22 account ui polish */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{padding-top:96px !important;padding-bottom:72px !important;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-sections{gap:18px;padding-top:0;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card,
#tsf-app[data-tsf-account-page="1"] .tsf-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:24px;box-shadow:0 12px 34px rgba(15,23,42,.05);}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card{padding:22px;}
#tsf-app[data-tsf-account-page="1"] .tsf-card{padding:18px 18px 16px;}
#tsf-app[data-tsf-account-page="1"] .tsf-card-title{font-size:20px;line-height:1.15;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-title{font-size:clamp(34px,5.4vw,56px);line-height:.96;letter-spacing:-.045em;max-width:8ch;}
#tsf-app[data-tsf-account-page="1"] .tsf-auth-eyebrow{margin-bottom:18px;}
#tsf-app[data-tsf-account-page="1"] .tsf-card-actions{gap:12px;margin-top:18px;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card .tsf-card-actions .tsf-secondary{min-height:54px;border-radius:16px;padding:14px 18px;font-weight:700;transition:all .2s ease;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card .tsf-card-actions .tsf-secondary:first-child{background:#fff;border:1px solid #d7dfeb;color:#182033;box-shadow:none;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card .tsf-card-actions .tsf-secondary:last-child{background:#fff5f5;border:1px solid #f1c5c5;color:#b42318;box-shadow:none;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card .tsf-card-actions .tsf-secondary:first-child:hover{background:#f8fafc;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card .tsf-card-actions .tsf-secondary:last-child:hover{background:#ffe9e9;}
#tsf-app[data-tsf-account-page="1"] .tsf-stats-grid{gap:12px;margin:2px 0 2px;}
#tsf-app[data-tsf-account-page="1"] .tsf-stat{padding:18px 14px;text-align:center;border-radius:20px;background:#fff;}
#tsf-app[data-tsf-account-page="1"] .tsf-stat strong{font-size:clamp(28px,5vw,40px);line-height:1;}
#tsf-app[data-tsf-account-page="1"] .tsf-stat span{margin-top:6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
#tsf-app[data-tsf-account-page="1"] .tsf-mini-row{padding:14px 0;gap:12px;}
#tsf-app[data-tsf-account-page="1"] .tsf-mini-row .tsf-link{font-weight:500;line-height:1.35;}
#tsf-app[data-tsf-account-page="1"] .tsf-mini-row .tsf-link.tsf-link-danger{color:#d14343;font-weight:600;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-settings-form{gap:14px;margin-top:8px;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-settings-form input{min-height:58px;border-radius:16px;}
#tsf-app[data-tsf-account-page="1"] .tsf-auth-form button{transition:all .2s ease;}
#tsf-app[data-tsf-account-page="1"] .tsf-auth-form > button[type="submit"]{min-height:58px;border-radius:16px;}
#tsf-app[data-tsf-account-page="1"] .tsf-auth-form input:focus{box-shadow:0 0 0 2px rgba(37,99,235,.15);}
@media (max-width:768px){
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{padding-top:112px !important;padding-left:16px !important;padding-right:16px !important;padding-bottom:48px !important;}
  #tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card{padding:18px;}
  #tsf-app[data-tsf-account-page="1"] .tsf-card{padding:16px;}
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-title{font-size:clamp(28px,12vw,42px);max-width:7ch;}
  #tsf-app[data-tsf-account-page="1"] .tsf-card-title{font-size:18px;}
  #tsf-app[data-tsf-account-page="1"] .tsf-mini-row{align-items:center;}
}

/* v12.5.23 tabbed account dashboard */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{padding-top:132px !important;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-tabs{display:block;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar{position:sticky;top:88px;z-index:8;margin:4px 0 2px;padding:6px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid rgba(15,23,42,.06);box-shadow:0 10px 26px rgba(15,23,42,.05);border-radius:18px;overflow:auto;flex-wrap:nowrap;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar button{white-space:nowrap;min-width:max-content;font-weight:700;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar button.is-active{background:#0b1742;color:#fff;box-shadow:none;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-sections{margin-top:14px;}
#tsf-app[data-tsf-account-page="1"] .tsf-submissions{max-height:520px;overflow:auto;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-overview-actions .tsf-card-actions .tsf-secondary{min-height:52px;border-radius:16px;}
#tsf-app[data-tsf-account-page="1"] .tsf-card-actions .tsf-secondary{background:#fff;border:1px solid #d7dfeb;color:#182033;box-shadow:none;}
#tsf-app[data-tsf-account-page="1"] .tsf-card-actions .tsf-secondary:hover{background:#f8fafc;}
@media (max-width:768px){
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{padding-top:128px !important;}
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar{top:78px;}
}


/* v12.5.24 account page display + fixed tabs */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
  padding-top:40px !important;
  padding-bottom:56px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card{
  margin-top:0 !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-stats-grid{
  margin:14px 0 16px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar{
  position:sticky;
  top:12px;
  z-index:30;
  display:flex;
  gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  margin:0 0 16px !important;
  padding:8px;
  background:rgba(245,247,251,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(15,23,42,.06);
  border-radius:20px;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar button{
  flex:0 0 auto;
  white-space:nowrap;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-sections{
  margin-top:0 !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-card{
  scroll-margin-top:84px;
}
@media (max-width: 767px){
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
    padding-top:20px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar{
    top:8px;
    margin:0 0 14px !important;
  }
}


/* v12.5.25 account tabs fixed properly + tighter hero spacing */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
  position:relative;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar-placeholder{
  display:none;
  height:0;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar{
  position:relative;
  top:auto !important;
  z-index:20;
  scroll-behavior:smooth;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar.is-fixed{
  position:fixed;
  top:76px;
  left:16px;
  right:16px;
  width:auto;
  margin:0 !important;
  z-index:120;
  background:rgba(245,247,251,.98);
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar.is-fixed + .tsf-account-sections,
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar-placeholder + .tsf-account-tabbar + .tsf-account-sections{
  margin-top:14px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-sections{
  scroll-margin-top:160px;
}
@media (max-width: 767px){
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
    margin-top:-44px;
    padding-top:12px !important;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-hero-card{
    margin-top:0 !important;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar{
    margin:10px 0 16px !important;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar.is-fixed{
    top:74px;
    left:12px;
    right:12px;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar-placeholder.is-active{
    display:block;
  }
}


/* v12.5.27 true mobile bottom account nav */
#tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
  padding-bottom:140px !important;
}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar-placeholder{display:none !important;}
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar,
#tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar.is-fixed{
  position:static;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  width:auto !important;
  margin:0 !important;
  box-shadow:none;
}
@media (max-width: 767px){
  #tsf-app[data-tsf-account-page="1"] .tsf-account-page-body{
    padding-bottom:170px !important;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar,
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar.is-fixed{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:calc(8px + env(safe-area-inset-bottom));
    top:auto !important;
    z-index:9999;
    display:flex;
    gap:10px;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:10px;
    border-radius:24px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 14px 34px rgba(15,23,42,.14);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    transform:translateZ(0);
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-tabbar button{
    flex:1 0 auto;
    min-width:max-content;
  }
  #tsf-app[data-tsf-account-page="1"] .tsf-account-sections{
    margin-top:0 !important;
  }
}


/* V12.7.5 submit page mode fix */
.tsf-fab-add{z-index:10010 !important;}
.tsf-fab-add-btn.is-open{background:#0b1538;transform:rotate(90deg);}
.tsf-add-stop-prompt{position:fixed;right:86px;bottom:112px;z-index:10000;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.16);padding:14px;max-width:260px;display:flex;flex-direction:column;gap:10px;}
.tsf-add-stop-prompt-title{font-weight:700;font-size:15px;line-height:1.3;color:#0b1538;}
.tsf-add-stop-prompt .tsf-primary{width:100%;justify-content:center;display:inline-flex;align-items:center;}
#tsf-app[data-tsf-submit-page="1"] > .tsf-app-shell{display:block !important;}
#tsf-app[data-tsf-submit-page="1"] .tsf-app-shell > :not(.tsf-submit-backdrop):not(.tsf-auth-screen):not(.tsf-auth-screen-page){display:none !important;}
#tsf-app[data-tsf-submit-page="1"] .tsf-sheet{display:none !important;}
#tsf-app[data-tsf-submit-page="1"] .tsf-fab,#tsf-app[data-tsf-submit-page="1"] .tsf-fab-add,#tsf-app[data-tsf-submit-page="1"] .tsf-fab-user,#tsf-app[data-tsf-submit-page="1"] .tsf-add-stop-prompt{display:none !important;}
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-backdrop{position:static !important;inset:auto !important;background:transparent !important;padding:24px 12px !important;display:block !important;min-height:auto !important;}
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-modal{position:relative !important;max-width:760px;width:100%;margin:0 auto;max-height:none !important;height:auto !important;border-radius:22px;}
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-close{display:none !important;}
@media (max-width: 767px){
  .tsf-add-stop-prompt{left:16px;right:16px;bottom:110px;max-width:none;}
  #tsf-app[data-tsf-submit-page="1"] .tsf-submit-backdrop{padding:12px !important;}
  #tsf-app[data-tsf-submit-page="1"] .tsf-submit-modal{border-radius:18px;}
}

/* V12.7.9 submit page standalone layout polish */
body.tsf-submit-page #tsf-app-shell-page,
body.tsf-submit-page #tsf-app,
#tsf-app[data-tsf-submit-page="1"],
#tsf-app[data-tsf-submit-page="1"] > .tsf-app-shell{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  min-height:auto !important;
  background:transparent !important;
}

#tsf-app[data-tsf-submit-page="1"] .tsf-submit-backdrop{
  padding:16px 12px 28px !important;
}

#tsf-app[data-tsf-submit-page="1"] .tsf-submit-modal{
  overflow:visible !important;
  max-height:none !important;
  min-height:auto !important;
  box-shadow:0 16px 36px rgba(15,23,42,.08) !important;
}

#tsf-app[data-tsf-submit-page="1"] .tsf-submit-form,
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-body,
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-form-cards,
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-body-cards{
  overflow:visible !important;
  max-height:none !important;
  min-height:auto !important;
}

#tsf-app[data-tsf-submit-page="1"] .tsf-submit-body{
  padding-bottom:12px !important;
}

#tsf-app[data-tsf-submit-page="1"] .tsf-submit-actions,
#tsf-app[data-tsf-submit-page="1"] .tsf-submit-actions-sticky{
  position:sticky !important;
  bottom:0 !important;
  background:#fff !important;
  padding:12px 18px 18px !important;
  border-top:1px solid #e5e7eb !important;
  z-index:6 !important;
}

#tsf-app[data-tsf-submit-page="1"] .tsf-sheet-toggle-wrap,
#tsf-app[data-tsf-submit-page="1"] .tsf-bottom-sheet,
#tsf-app[data-tsf-submit-page="1"] .tsf-results-sheet,
#tsf-app[data-tsf-submit-page="1"] .tsf-map-bottom-overlay,
#tsf-app[data-tsf-submit-page="1"] .tsf-map-top-overlay,
#tsf-app[data-tsf-submit-page="1"] .tsf-map-stage{
  display:none !important;
}

body.tsf-submit-page .page-title-block,
body.tsf-submit-page .breadcrumbs{
  display:none !important;
}


/* V12.7.11 true standalone submit page layout */
#tsf-app[data-tsf-submit-page="1"]{display:block !important;width:100% !important;max-width:100% !important;background:transparent !important;}
#tsf-app[data-tsf-submit-page="1"] > .tsf-app-shell{display:block !important;}
.tsf-submit-page-only{max-width:1120px;margin:0 auto;padding:0 16px 48px;}
.tsf-submit-page-only .tsf-modal-backdrop.tsf-submit-backdrop{position:static !important;inset:auto !important;display:block !important;min-height:auto !important;background:transparent !important;padding:0 !important;}
.tsf-submit-page-only .tsf-modal.tsf-submit-modal{position:relative !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;transform:none !important;width:100% !important;max-width:none !important;height:auto !important;max-height:none !important;margin:0 !important;border-radius:24px !important;box-shadow:0 10px 30px rgba(15,23,42,.08) !important;overflow:visible !important;}
.tsf-submit-page-only .tsf-submit-body,
.tsf-submit-page-only .tsf-submit-form,
.tsf-submit-page-only .tsf-submit-form-cards,
.tsf-submit-page-only .tsf-submit-body-cards{max-height:none !important;height:auto !important;overflow:visible !important;}
.tsf-submit-page-only .tsf-submit-actions,
.tsf-submit-page-only .tsf-submit-actions-sticky{position:sticky !important;bottom:0 !important;background:#fff !important;z-index:8 !important;padding:16px 18px 18px !important;border-top:1px solid #e5e7eb !important;}
body.tsf-submit-page .site-main,
body.tsf-submit-page .entry-content,
body.tsf-submit-page article,
body.tsf-submit-page .inside-article{overflow:visible !important;max-width:none !important;}
body.tsf-submit-page .page-header,
body.tsf-submit-page .entry-header,
body.tsf-submit-page .page-title-block,
body.tsf-submit-page .breadcrumbs{display:none !important;}
body.tsf-submit-page footer,
body.tsf-submit-page .site-footer{display:block !important;}
@media (max-width: 767px){
  .tsf-submit-page-only{padding:0 12px 32px;}
  .tsf-submit-page-only .tsf-modal.tsf-submit-modal{border-radius:20px !important;}
}


/* V12.7.12 submit page content wrapper fix */
body.tsf-submit-page .tsf-submit-page-content-area{max-width:1200px;margin:0 auto;padding:0 0 48px;}
body.tsf-submit-page .tsf-submit-page-entry,
body.tsf-submit-page .tsf-submit-page-entry-content{max-width:none !important;overflow:visible !important;background:transparent !important;}
body.tsf-submit-page .site-content,
body.tsf-submit-page .content-area,
body.tsf-submit-page .site-main{overflow:visible !important;}
body.tsf-submit-page .site-footer, body.tsf-submit-page footer{display:block !important;visibility:visible !important;}


/* 12.7.13 submit page via normal theme content */
body.tsf-submit-page #primary,
body.tsf-submit-page .content-area,
body.tsf-submit-page .site-main,
body.tsf-submit-page .entry-content{
  width:100%;
}
body.tsf-submit-page .entry-content > #tsf-app[data-tsf-submit-page="1"]{
  max-width:100%;
}


/* V12.8 submit quality upgrade */
.tsf-submit-error{margin-top:8px;font-size:13px;line-height:1.5;color:#b91c1c;font-weight:600}
.tsf-submit-success{border:1px solid #dbeafe;border-radius:20px;padding:18px;background:#eff6ff;margin:0 0 16px}.tsf-submit-success h4{margin:0 0 8px;font-size:26px;line-height:1.1;color:#0b1538}.tsf-submit-success p{margin:0 0 10px;font-size:18px;font-weight:700;color:#1d4ed8}.tsf-submit-success-icon{font-size:28px;margin:0 0 8px}.tsf-submit-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tsf-submit-review-item{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:12px 14px}.tsf-submit-review-item span{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.tsf-submit-review-item strong{display:block;font-size:15px;line-height:1.45;color:#0b1538}.tsf-submit-actions-row button.is-disabled,.tsf-submit-actions-row button:disabled{opacity:.55;cursor:not-allowed}.tsf-submit-field select:invalid{color:#6b7280}@media (max-width:767px){.tsf-submit-review-grid{grid-template-columns:1fr}.tsf-submit-success h4{font-size:22px}}


/* 13.0.3 review category UI */
.tsf-review-category-summary{display:grid;gap:10px;margin:0 0 16px;}
.tsf-review-category-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06);}
.tsf-review-category-label{font-weight:600;}
.tsf-review-category-value{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.tsf-review-category-text{font-size:13px;color:#6b7280;}
.tsf-review-category-block{margin:12px 0;}
.tsf-review-category-heading{font-size:13px;font-weight:700;margin:0 0 6px;color:#374151;}
.tsf-review-stars-inline .tsf-review-star-tile{padding:8px 10px;}
.tsf-rating-row-category .tsf-star-btn.is-selected span{color:#f59e0b;}

.tsf-review-star-tile{touch-action:manipulation;cursor:pointer;}


/* 13.0.5 category review star active state */
.tsf-review-star-tile{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:2px solid #c8d0dc !important;
  background:#eef2f7 !important;
  border-radius:18px !important;
  padding:12px 14px !important;
  min-width:74px !important;
  min-height:74px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.tsf-review-star-tile span{
  color:#a7b0be !important;
}
.tsf-review-star-tile.is-active{
  background:#f2cc43 !important;
  border-color:#f2cc43 !important;
}
.tsf-review-star-tile.is-active span{
  color:#8a5100 !important;
}


/* 13.0.6 single listing category stars */
.tsf-rating-row-category .tsf-star-btn{
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.tsf-rating-row-category .tsf-star-btn.is-selected{
  border-color:#f2cc43 !important;
  background:#fff7d6 !important;
}
.tsf-rating-row-category .tsf-star-btn.is-selected span{
  color:#f59e0b !important;
}

.tsf-review-submit-hint{margin:14px 0 10px;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:14px;line-height:1.45;font-weight:600}.tsf-review-submit-hint.is-ready{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.tsf-card-actions button.is-disabled,.tsf-card-actions button:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.75)}

/* 13.8 profile and review polish */
.tsf-review-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.tsf-review-avatar{width:40px;height:40px;border-radius:999px;object-fit:cover;border:2px solid rgba(36,88,255,.16);box-shadow:0 6px 16px rgba(15,23,42,.06)}
.tsf-review-meta{display:flex;flex-direction:column;gap:4px}
.tsf-review-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tsf-review-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:12px;font-weight:700}


/* 15.1 UX polish */
.tsf-review-submit-hint{margin-top:16px}
.tsf-review-submit-hint:not(.is-ready){background:#fff7ed;border-color:#fdba74;color:#9a3412}
.tsf-review-submit-hint.is-ready{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.tsf-rating-row-category .tsf-star-btn,
.tsf-review-star-native{
  transition: transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease, box-shadow .12s ease;
}
.tsf-rating-row-category .tsf-star-btn:hover,
.tsf-rating-row-category .tsf-star-btn:active{
  border-color:#9db4ff !important;
  background:#f4f7ff !important;
  transform:translateY(-1px) scale(1.02);
}
.tsf-review-star-native:hover,
.tsf-review-star-native:active,
.tsf-review-star-native:focus{
  color:#2458FF;
  transform:scale(1.06);
}
.tsf-single-section .tsf-review-controls{margin-bottom:16px}
.tsf-single-section .tsf-review-form{margin-top:18px}
.tsf-single-meta + h2{margin-top:28px}

