/* =========================================================
   TREINO PERTO — DESIGN SYSTEM 2026
   Referência de UX: Race Running | Identidade própria
   ========================================================= */

:root{
  --tp-bg:#f7f7f5;
  --tp-surface:#ffffff;
  --tp-ink:#111111;
  --tp-muted:#666b66;
  --tp-line:#e4e6e2;
  --tp-soft:#f0f2ed;
  --tp-accent:#c7ff45;
  --tp-accent-strong:#a8e62b;
  --tp-accent-ink:#172000;
  --tp-danger:#ef4766;
  --tp-radius:16px;
  --tp-shell:1240px;
  --tp-shadow:0 10px 30px rgba(17,17,17,.06);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body,.wp-site-blocks,
button,input,select,textarea,
h1,h2,h3,h4,h5,h6,p,a,span,strong,small,label{
  font-family:"Host Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
body{margin:0;background:var(--tp-bg);color:var(--tp-ink)}
img{max-width:100%}
.tp-shell{width:min(var(--tp-shell),calc(100% - 40px));margin-inline:auto}
.tp-kicker{margin:0 0 10px;font-size:12px;line-height:1;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7b8179}
.tp-home-modern,.tp-directory,.tp-static-page,.tp-single{background:var(--tp-bg);color:var(--tp-ink)}

/* HEADER */
header.wp-block-template-part{position:relative;z-index:100;margin:0!important}
header.wp-block-template-part .guten-IqVg6i{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid var(--tp-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px);
}
header.wp-block-template-part .gutenverse-menu{gap:2px!important}
header.wp-block-template-part .gutenverse-menu>li>a{
  min-height:40px!important;
  padding:9px 13px!important;
  border-radius:10px!important;
  color:#1b1b1b!important;
  font-size:14px!important;
  font-weight:650!important;
  transition:.18s ease!important;
}
header.wp-block-template-part .gutenverse-menu>li>a:hover,
header.wp-block-template-part .gutenverse-menu>li.current-menu-item>a{
  background:#f0f2ed!important;color:#111!important;
}

/* HOME */
.tp-home-hero{
  padding:72px 0 0;
  background:linear-gradient(180deg,#fff 0%,#fbfcf9 100%);
  border-bottom:1px solid var(--tp-line);
}
.tp-home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:60px;
  align-items:end;
}
.tp-home-hero-copy{max-width:880px}
.tp-home-hero-copy h1{
  margin:0;
  max-width:900px;
  font-size:clamp(46px,5.6vw,76px);
  line-height:.94;
  letter-spacing:-.055em;
  color:#111;
}
.tp-home-hero-copy>p:not(.tp-kicker){
  max-width:730px;
  margin:20px 0 0;
  color:var(--tp-muted);
  font-size:18px;
  line-height:1.55;
}
.tp-home-hero-count{
  padding:18px 0 6px;
  border-top:2px solid #111;
}
.tp-home-hero-count strong{display:block;font-size:44px;line-height:1;font-weight:800;letter-spacing:-.04em}
.tp-home-hero-count span{display:block;margin-top:6px;color:var(--tp-muted);font-size:13px}
.tp-home-search-slot{padding:34px 0 34px}

/* SEARCH */
.tp-home-search-wrap{
  padding:18px;
  background:#fff;
  border:1px solid var(--tp-line);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(17,17,17,.05);
}
.tp-home-search-copy{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:0 0 14px;
}
.tp-home-search-copy strong{font-size:18px;line-height:1.2;letter-spacing:-.02em}
.tp-search-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#7a8079}
.tp-home-search{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr auto;
  gap:9px;
}
.tp-home-search label,.tp-filters label{
  display:flex;flex-direction:column;gap:6px;
  color:#70756f;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.tp-home-search input,.tp-home-search select,
.tp-filters input,.tp-filters select{
  width:100%;
  min-height:48px;
  padding:0 13px;
  border:1px solid #dfe3dd;
  border-radius:10px;
  background:#fff;
  color:#171717;
  font-size:14px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
  outline:none;
  transition:.18s;
}
.tp-home-search input:focus,.tp-home-search select:focus,
.tp-filters input:focus,.tp-filters select:focus{
  border-color:#95bb48;
  box-shadow:0 0 0 3px rgba(199,255,69,.18);
}
.tp-home-search button,.tp-filters button{
  align-self:end;
  min-height:48px;
  padding:0 18px;
  border:0;border-radius:10px;
  background:#111;color:#fff;
  font-size:13px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  cursor:pointer;transition:.18s;
}
.tp-home-search button:hover,.tp-filters button:hover{background:#292929;transform:translateY(-1px)}
.tp-quick-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.tp-quick-links a{
  display:inline-flex;align-items:center;min-height:32px;
  padding:0 11px;border:1px solid var(--tp-line);border-radius:999px;
  background:#fafbf9;color:#333;text-decoration:none;
  font-size:11px;font-weight:700;
}
.tp-quick-links a:hover{border-color:#111;color:#111}

/* HOME SHORTCUTS */
.tp-home-shortcuts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:44px;
  background:var(--tp-line);
  border:1px solid var(--tp-line);
  border-radius:16px;
  overflow:hidden;
}
.tp-home-shortcuts a{
  min-height:105px;padding:18px;
  background:#fff;color:#111;text-decoration:none;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:.18s;
}
.tp-home-shortcuts a:hover{background:#f5f7f1}
.tp-home-shortcuts strong{font-size:17px}
.tp-home-shortcuts span{font-size:12px;color:var(--tp-muted)}
.tp-home-section{padding:78px 0 0}
.tp-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
  margin-bottom:24px;
}
.tp-section-head h2{
  margin:0;max-width:720px;
  font-size:clamp(30px,3.5vw,46px);
  line-height:1;
  letter-spacing:-.045em;
}
.tp-section-head>a{color:#222;text-decoration:none;font-size:13px;font-weight:750}
.tp-section-head>a:hover{text-decoration:underline}
.tp-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tp-home-how{margin-top:90px;padding:64px 0 76px;background:#111;color:#fff}
.tp-home-how .tp-kicker{color:#aeb4ad}
.tp-home-how h2{color:#fff}
.tp-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343434;border:1px solid #343434;border-radius:16px;overflow:hidden}
.tp-how-grid article{min-height:190px;padding:22px;background:#171717}
.tp-how-grid span{font-size:11px;font-weight:800;color:#929892}
.tp-how-grid strong{display:block;margin-top:56px;font-size:22px;color:#fff}
.tp-how-grid p{margin:8px 0 0;color:#aeb4ae;line-height:1.5;font-size:14px}

/* DIRECTORY */
.tp-directory-hero{
  padding:58px 0 28px;
  background:#fff;
  border-bottom:1px solid var(--tp-line);
}
.tp-directory-hero-inner{
  display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:50px;align-items:end;
}
.tp-directory-hero h1{
  margin:0;max-width:780px;
  font-size:clamp(40px,5vw,64px);
  line-height:.96;
  letter-spacing:-.05em;
  color:#111;
}
.tp-directory-hero p:not(.tp-kicker){
  max-width:720px;margin:18px 0 0;
  color:var(--tp-muted);font-size:16px;line-height:1.55;
}
.tp-directory-stat{padding:14px 0 5px;border-top:2px solid #111}
.tp-directory-stat strong{display:block;font-size:34px;line-height:1;font-weight:800}
.tp-directory-stat span{display:block;margin-top:5px;color:var(--tp-muted);font-size:12px}
.tp-directory-content{padding:24px 0 90px}
.tp-filter-shell{
  padding:16px;
  background:#fff;
  border:1px solid var(--tp-line);
  border-radius:16px;
  box-shadow:none;
  margin:0 0 30px;
}
.tp-filter-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px}
.tp-filter-top strong{font-size:17px;letter-spacing:-.02em}
.tp-clear-filters{color:#666;text-decoration:none;font-size:12px;font-weight:700}
.tp-clear-filters:hover{color:#111;text-decoration:underline}

/* PLATFORM FILTER */
.tp-availability-filter{padding:14px 0 14px;border-top:1px solid #eceeea}
.tp-availability-filter>strong{display:block;margin-bottom:11px;font-size:15px;color:#222}
.tp-availability-options{display:flex;gap:8px;flex-wrap:wrap}
.tp-availability-pill{
  display:inline-flex;align-items:center;gap:8px;
  min-height:40px;padding:0 15px;
  border:1px solid #d7dad5;border-radius:999px;
  background:#fff;color:#252525;text-decoration:none;
  font-size:13px;font-weight:700;transition:.18s;
}
.tp-availability-pill:hover{border-color:#999;background:#fafafa}
.tp-availability-pill.is-active{border-color:#111;background:#111;color:#fff}
.tp-availability-icon{
  width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  font-size:12px;font-weight:900;
}
.tp-availability-pill--wellhub .tp-availability-icon{background:#cfff57;color:#173a15}
.tp-availability-pill--totalpass .tp-availability-icon{background:#e9ddff;color:#6e45cf}
.tp-filter-chips{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.tp-filter-chips a{
  min-height:34px;padding:0 12px;
  border:1px solid var(--tp-line);border-radius:999px;
  display:inline-flex;align-items:center;
  color:#444;background:#fafafa;text-decoration:none;font-size:12px;font-weight:700;
}
.tp-filter-chips a:hover,.tp-filter-chips a.is-active{border-color:#111;background:#111;color:#fff}
.tp-filters{
  display:grid;
  grid-template-columns:1.6fr repeat(5,minmax(120px,1fr)) auto;
  gap:9px;
}
.tp-filter-search{min-width:200px}
.tp-filters.is-loading{opacity:.55;pointer-events:none}
.tp-results-head{
  display:flex;align-items:end;justify-content:space-between;
  margin:0 0 18px;
}
.tp-results-label{display:block;margin-bottom:4px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#858a84}
.tp-results-head h2{margin:0;font-size:24px;letter-spacing:-.03em}

/* CARDS */
.tp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 22px}
.tp-card{min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.tp-card:hover{transform:none;box-shadow:none}
.tp-card-image{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:1.55/1;border-radius:14px;
  background:#e8eae6;border:1px solid #e0e3de;
}
.tp-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tp-card:hover .tp-card-image img{transform:scale(1.025)}
.tp-card-placeholder{height:100%;display:grid;place-items:center;color:#80857f;font-size:13px;font-weight:700}
.tp-card-platform-badge{
  position:absolute;left:10px;top:10px;
  display:inline-flex;align-items:center;gap:6px;
  min-height:28px;padding:0 10px;border-radius:999px;
  background:rgba(255,255,255,.94);color:#24522f;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
  font-size:10px;font-weight:800;
}
.tp-card-platform-badge:before{content:"";width:9px;height:9px;border-radius:50%;background:#9ee132}
.tp-card-body{padding:12px 0 0}
.tp-card-heading{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}
.tp-network-logo{
  width:48px;height:48px;border:1px solid #e0e3df;border-radius:11px;
  background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.tp-network-logo--selfit{color:#e83f58;font-size:15px;font-weight:800;font-style:italic;letter-spacing:-1px}
.tp-network-logo--smart{flex-direction:column;color:#191919;font-size:9px;font-weight:800;line-height:.82}
.tp-network-logo--smart b{color:#e6bf00;font-size:15px}
.tp-network-logo--generic{font-size:14px;font-weight:800}
.tp-card h2{margin:0;font-size:19px;line-height:1.1;letter-spacing:-.025em}
.tp-card h2 a{color:#151515;text-decoration:none}
.tp-card-details{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;padding-left:58px}
.tp-card-details p{margin:0;display:flex;align-items:flex-start;gap:5px;color:#606660;font-size:11.5px;line-height:1.35}
.tp-card-details p:first-child{max-width:100%}
.tp-card-details svg{width:15px;height:15px;fill:none;stroke:var(--tp-danger);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:1px}
.tp-card-tags{display:flex;gap:0;flex-wrap:wrap;margin-top:10px;color:#4d534e;font-size:12px}
.tp-card-tags span:not(:last-child):after{content:" • ";margin-right:3px}
.tp-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:12px 14px;border:0;border-radius:10px;background:var(--tp-ink);color:#fff;text-decoration:none;font-size:12px;font-weight:800;transition:transform .18s ease,opacity .18s ease}
.tp-card-link span:last-child{font-size:16px;transition:transform .18s}
.tp-card:hover .tp-card-link span:last-child{transform:translateX(3px)}
.tp-card-link:hover{transform:translateY(-1px);opacity:.92}
.tp-load-more{text-align:center;margin-top:34px}
.tp-load-more a{
  display:inline-flex;align-items:center;gap:9px;
  min-height:44px;padding:0 18px;border-radius:10px;
  background:#111;color:#fff;text-decoration:none;font-size:13px;font-weight:800;
}
.tp-empty{padding:48px 20px;text-align:center;background:#fff;border:1px solid var(--tp-line);border-radius:14px}
.tp-empty h2{margin:0 0 7px}
.tp-empty p{color:var(--tp-muted)}
.tp-empty a{display:inline-flex;margin-top:10px;color:#111;font-weight:700}

/* STATIC PAGES */
.tp-static-hero{padding:62px 0 48px;background:#fff;border-bottom:1px solid var(--tp-line)}
.tp-static-hero h1{margin:0;max-width:900px;font-size:clamp(42px,5vw,66px);line-height:.96;letter-spacing:-.05em;color:#111}
.tp-static-hero p:not(.tp-kicker){max-width:730px;margin:18px 0 0;color:var(--tp-muted);font-size:17px;line-height:1.6}
.tp-static-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding:70px 0}
.tp-static-grid h2{margin:0;font-size:clamp(32px,3.5vw,48px);line-height:1;letter-spacing:-.04em}
.tp-static-prose{font-size:17px;line-height:1.75;color:#505650}
.tp-static-prose p{margin:0 0 16px}
.tp-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:80px}
.tp-values-grid article{min-height:180px;padding:20px;border:1px solid var(--tp-line);border-radius:14px;background:#fff}
.tp-values-grid span{font-size:10px;font-weight:800;color:#878c86}
.tp-values-grid h3{margin:52px 0 7px;font-size:20px}
.tp-values-grid p{margin:0;color:#676d67;font-size:14px;line-height:1.55}
.tp-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:60px 0 90px}
.tp-contact-grid>a{min-height:200px;padding:22px;border:1px solid var(--tp-line);border-radius:14px;background:#fff;color:#111;text-decoration:none;display:flex;flex-direction:column}
.tp-contact-grid span{font-size:10px;font-weight:800;letter-spacing:.11em;color:#868b85}
.tp-contact-grid strong{margin-top:auto;font-size:22px}
.tp-contact-grid small{margin-top:7px;color:#6c726c}

/* SINGLE ACADEMY */
.tp-single-head{padding:42px 0 26px}
.tp-back{display:inline-block;margin-bottom:24px;color:#686e68;font-size:13px;font-weight:700;text-decoration:none}
.tp-single-head h1{margin:0;font-size:clamp(40px,5vw,64px);line-height:.96;letter-spacing:-.05em}
.tp-single-location{margin:12px 0 0;color:var(--tp-muted)}
.tp-single-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.7fr);gap:28px;align-items:start;padding-bottom:48px}
.tp-gallery-main,.tp-gallery-empty{overflow:hidden;border-radius:16px;background:#e8eae6;aspect-ratio:4/3}
.tp-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.tp-gallery-empty{display:grid;place-items:center;color:#767c76}
.tp-info-card{position:sticky;top:20px;padding:20px;background:#fff;border:1px solid var(--tp-line);border-radius:16px;box-shadow:none}
.tp-info-card>h2{margin:0 0 15px;font-size:22px}
.tp-info-section{padding:15px 0;border-top:1px solid var(--tp-line)}
.tp-info-section h3{margin:0 0 8px;font-size:13px}
.tp-info-section p{margin:6px 0;display:flex;justify-content:space-between;gap:16px;color:var(--tp-muted)}
.tp-info-section p strong{color:#111}
.tp-info-section a{color:#111;font-weight:700}
.tp-primary-cta{display:flex;justify-content:center;margin-top:9px;padding:14px;border-radius:10px;background:var(--tp-accent);color:var(--tp-accent-ink);font-weight:800;text-decoration:none}
.tp-feature-section,.tp-about-academia,.tp-nearby{padding:48px 0}
.tp-feature-section h2,.tp-about-academia h2,.tp-nearby h2{margin:0 0 18px;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.035em}
.tp-pill-grid{display:flex;flex-wrap:wrap;gap:8px}
.tp-pill-grid span{padding:10px 13px;background:#fff;border:1px solid var(--tp-line);border-radius:999px;font-size:13px;font-weight:650}
.tp-prose{max-width:850px;color:#4d544e;font-size:16px;line-height:1.72}
.tp-about-site{display:none}
.tp-nearby{padding-bottom:80px}

/* CORPORATE PLATFORMS ON SINGLE */
.tp-platforms{margin:0 0 22px}
.tp-platforms-title{margin:0 0 9px;font-size:17px;font-weight:700;color:#111}
.tp-platforms-row{display:flex;gap:8px;flex-wrap:wrap}
.tp-platform{position:relative;width:160px;height:54px;border:1px solid #dfe3dd;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center}
.tp-platform-logo{display:flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1}
.tp-platform--wellhub .tp-platform-logo{font-size:21px;font-weight:800;letter-spacing:-1.2px;color:#f34970}
.tp-platform--wellhub .tp-platform-logo:after{content:"✣";margin-left:4px;font-size:18px}
.tp-platform--totalpass .tp-platform-logo{font-size:15px;font-weight:900;letter-spacing:1.2px;font-style:italic;color:#18254e}
.tp-platform--totalpass .tp-platform-logo b{color:#2dcf78;margin-right:2px}
.tp-platform.is-inactive{background:#f1f2f1;border-color:#e1e3e1}
.tp-platform.is-inactive .tp-platform-logo,.tp-platform.is-inactive .tp-platform-logo b{color:#808580!important;filter:grayscale(1);opacity:.78}
.tp-platform-status{position:absolute;right:6px;top:6px}
.tp-platform-status details{position:relative}
.tp-platform-status summary{width:19px;height:19px;display:grid;place-items:center;border:1px solid #a3a8a3;border-radius:50%;background:#fff;color:#666;font-size:10px;font-weight:800;cursor:pointer;list-style:none}
.tp-platform-status summary::-webkit-details-marker{display:none}
.tp-platform-status details[open] summary{background:#111;color:#fff;border-color:#111}
.tp-platform-note{position:absolute;z-index:50;right:0;top:26px;width:280px;padding:11px 12px;border-radius:9px;background:#111;color:#fff;font-size:11.5px;line-height:1.45;font-weight:500;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.tp-platform-note:before{content:"";position:absolute;right:5px;top:-4px;width:9px;height:9px;background:#111;transform:rotate(45deg)}

/* FOOTER */
footer.wp-block-template-part{margin-top:0!important;background:#111!important}
footer.wp-block-template-part .guten-iq8TcH{background:#111!important;padding-top:56px!important}
footer.wp-block-template-part .guten-leZvqH{
  background:#181818!important;
  background-image:none!important;
  border:1px solid #2c2c2c!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
footer.wp-block-template-part .guten-b1hUSR{font-size:clamp(30px,4vw,48px)!important;color:#fff!important}
footer.wp-block-template-part .guten-CztbhA .guten-button{
  background:var(--tp-accent)!important;
  color:var(--tp-accent-ink)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
footer.wp-block-template-part .guten-eII5vr{background:#111!important}
footer.wp-block-template-part .guten-eII5vr *{border-color:#303030}
footer.wp-block-template-part .guten-eII5vr p,
footer.wp-block-template-part .guten-eII5vr a,
footer.wp-block-template-part .guten-eII5vr h6{color:#c6cbc6!important}
footer.wp-block-template-part .guten-eII5vr h6{color:#fff!important}
footer.wp-block-template-part .guten-eII5vr a:hover{color:var(--tp-accent)!important}

/* REMOVE THEME LEFTOVERS */
.guten-rAZNGI,.guten-aQDPHQ{display:none!important}
.tp-rating-widget{display:none!important}
.tp-filter-shell br,.tp-filter-chips br,.tp-filter-top br,.tp-filters br{display:none!important}

/* RESPONSIVE */
@media(max-width:1100px){
  .tp-home-search{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-home-search button{grid-column:span 2}
  .tp-grid,.tp-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tp-filter-search{grid-column:span 2}
  .tp-filters button{grid-column:span 1}
}
@media(max-width:820px){
  .tp-home-hero-grid,.tp-directory-hero-inner{grid-template-columns:1fr}
  .tp-home-hero-count,.tp-directory-stat{max-width:180px}
  .tp-home-shortcuts{grid-template-columns:repeat(2,1fr)}
  .tp-how-grid{grid-template-columns:1fr}
  .tp-how-grid article{min-height:135px}
  .tp-how-grid strong{margin-top:28px}
  .tp-static-grid{grid-template-columns:1fr;gap:28px}
  .tp-values-grid{grid-template-columns:1fr}
  .tp-single-top{grid-template-columns:1fr}
  .tp-info-card{position:static}
}
@media(max-width:620px){
  .tp-shell{width:min(100% - 24px,var(--tp-shell))}
  .tp-home-hero{padding-top:46px}
  .tp-home-hero-copy h1{font-size:44px}
  .tp-home-hero-copy>p:not(.tp-kicker){font-size:16px}
  .tp-home-search-slot{padding:24px 0 26px}
  .tp-home-search-wrap{padding:13px;border-radius:14px}
  .tp-home-search-copy{align-items:flex-start;flex-direction:column;gap:5px}
  .tp-home-search{grid-template-columns:1fr}
  .tp-home-search button{grid-column:auto}
  .tp-home-shortcuts{grid-template-columns:1fr 1fr;margin-top:28px}
  .tp-home-shortcuts a{min-height:90px;padding:14px}
  .tp-home-section{padding-top:58px}
  .tp-section-head{align-items:flex-start;flex-direction:column;gap:12px}
  .tp-grid,.tp-home-grid{grid-template-columns:1fr}
  .tp-home-how{margin-top:60px;padding:48px 0}
  .tp-directory-hero{padding:42px 0 22px}
  .tp-directory-hero h1{font-size:42px}
  .tp-directory-content{padding-top:16px}
  .tp-filter-shell{padding:12px}
  .tp-availability-options{display:grid;grid-template-columns:1fr 1fr}
  .tp-availability-pill{justify-content:center;padding:0 10px}
  .tp-filter-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .tp-filter-chips::-webkit-scrollbar{display:none}
  .tp-filter-chips a{white-space:nowrap}
  .tp-filters{grid-template-columns:1fr}
  .tp-filter-search,.tp-filters button{grid-column:auto}
  .tp-card-heading{grid-template-columns:46px minmax(0,1fr)}
  .tp-network-logo{width:46px;height:46px}
  .tp-card-details{padding-left:56px}
  .tp-card h2{font-size:18px}
  .tp-static-hero{padding:44px 0 36px}
  .tp-static-hero h1{font-size:42px}
  .tp-contact-grid{grid-template-columns:1fr}
  .tp-platforms-row{display:grid;grid-template-columns:1fr 1fr}
  .tp-platform{width:100%}
  .tp-platform-note{width:min(270px,calc(100vw - 44px))}
}



/* FINAL HEADER + FOOTER POLISH */
header.wp-block-template-part .guten-0wOGsm{
  background:#fff!important;
  border-bottom:1px solid var(--tp-line)!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
header.wp-block-template-part .guten-0wOGsm>.guten-container{
  min-height:74px;
  align-items:center!important;
}
header.wp-block-template-part .guten-H1vV0O img{max-height:44px!important;width:auto!important}
header.wp-block-template-part .guten-mBxWZ0{align-items:center!important}
header.wp-block-template-part .gutenverse-menu>li>a{font-size:14px!important;font-weight:650!important}
header.wp-block-template-part .gutenverse-hamburger-menu{color:#111!important}

.tp-site-footer{background:#111;color:#fff;padding:58px 0 24px}
.tp-footer-cta{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;
  padding-bottom:42px;border-bottom:1px solid #2d2d2d;
}
.tp-footer-eyebrow{display:block;margin-bottom:10px;color:#9ca29c;font-size:11px;font-weight:800;letter-spacing:.12em}
.tp-footer-cta h2{margin:0;max-width:760px;color:#fff;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.045em}
.tp-footer-cta>a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 17px;border-radius:10px;
  background:var(--tp-accent);color:var(--tp-accent-ink)!important;
  text-decoration:none;font-size:13px;font-weight:800;
}
.tp-footer-main{
  display:grid;grid-template-columns:1.5fr .6fr .6fr;gap:50px;
  padding:42px 0;
}
.tp-footer-brand img{width:150px;height:auto;filter:brightness(0) invert(1)}
.tp-footer-brand p{max-width:330px;margin:16px 0 0;color:#9fa59f;font-size:14px;line-height:1.55}
.tp-footer-col{display:flex;flex-direction:column;gap:10px}
.tp-footer-col strong{margin-bottom:5px;color:#fff;font-size:13px}
.tp-footer-col a{color:#aeb3ae!important;text-decoration:none;font-size:13px}
.tp-footer-col a:hover{color:#fff!important}
.tp-footer-bottom{padding-top:20px;border-top:1px solid #2d2d2d;color:#7f857f;font-size:12px}

@media(max-width:760px){
  header.wp-block-template-part .guten-0wOGsm>.guten-container{min-height:66px}
  header.wp-block-template-part .guten-H1vV0O img{max-height:38px!important}
  .tp-site-footer{padding-top:44px}
  .tp-footer-cta{grid-template-columns:1fr;gap:20px}
  .tp-footer-main{grid-template-columns:1fr 1fr;gap:30px}
  .tp-footer-brand{grid-column:1/-1}
}



/* HARD RESET — corrige conflitos do Unibiz/Gutenverse no frontend */
html,body{overflow-x:hidden!important}
header.wp-block-template-part{
  position:relative!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  width:100%!important;height:auto!important;
  margin:0!important;transform:none!important;
  z-index:100!important;background:#fff!important;
}
header.wp-block-template-part .section-wrapper,
header.wp-block-template-part .guten-section,
header.wp-block-template-part .guten-0wOGsm{
  position:relative!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  transform:none!important;margin:0!important;
}
header.wp-block-template-part .guten-0wOGsm{
  width:100%!important;
  background:#fff!important;
  border-bottom:1px solid var(--tp-line)!important;
}
header.wp-block-template-part .guten-0wOGsm>.guten-container{
  width:min(var(--tp-shell),calc(100% - 40px))!important;
  max-width:var(--tp-shell)!important;
  min-height:72px!important;
  margin-inline:auto!important;
  display:flex!important;
  align-items:center!important;
}
header.wp-block-template-part .guten-H1vV0O{margin:0!important}
header.wp-block-template-part .guten-H1vV0O img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:145px!important;
  max-height:44px!important;
}
header.wp-block-template-part .guten-mBxWZ0{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
header.wp-block-template-part .guten-rAZNGI,
header.wp-block-template-part .guten-aQDPHQ{display:none!important}
.wp-site-blocks{padding:0!important;margin:0!important}
.wp-site-blocks>main,
.wp-site-blocks>.wp-block-post-content,
main.tp-home-modern,
main.tp-directory,
main.tp-static-page{position:relative!important;z-index:1!important;margin:0!important}
.tp-card svg{width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;min-height:15px!important;max-height:15px!important;display:inline-block!important;flex:0 0 15px!important;fill:none!important}
.tp-card svg path,.tp-card svg circle{vector-effect:non-scaling-stroke}
.tp-card-image{min-height:0!important}
.tp-card-image img{max-width:none!important}
.tp-site-footer{margin:0!important}

@media(max-width:760px){
  header.wp-block-template-part .guten-0wOGsm>.guten-container{
    width:calc(100% - 24px)!important;
    min-height:64px!important;
  }
  header.wp-block-template-part .guten-H1vV0O img{max-width:120px!important;max-height:38px!important}
}



/* MOBILE TOOLTIP FIX — mantém o balão sempre dentro da viewport */
@media(max-width:620px){
  .tp-platform{position:relative}
  .tp-platform-status{position:absolute;right:6px;top:6px}
  .tp-platform-status details{position:static}
  .tp-platform-note{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:18px!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    z-index:9999!important;
    border-radius:12px!important;
    box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
  }
  .tp-platform-note:before{display:none!important}
}

/* Nearby search */
.tp-geo-panel{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:20px;margin:20px 0;background:#eff8f6;border:1px solid #cee7df;border-radius:16px;color:#163b33}
.tp-geo-copy{flex:1 1 280px}.tp-geo-copy strong{font-size:18px}.tp-geo-copy p{font-size:14px;line-height:1.5;margin:6px 0 0}
.tp-geo-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.tp-geo-actions label{display:grid;gap:4px;font-size:12px;font-weight:600}
.tp-geo-actions button,.tp-geo-more{border:0;border-radius:9px;background:#166b54;color:#fff;padding:12px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.tp-geo-actions [data-tp-geo-clear]{background:#fff;color:#166b54;border:1px solid #b6d8ce}
.tp-geo-actions select{min-height:44px;border:1px solid #b6d8ce;border-radius:9px;background:#fff;color:#163b33;padding:8px 12px;font:inherit;font-size:14px}
.tp-geo-actions button:disabled,.tp-geo-actions select:disabled{opacity:.6;cursor:default}
.tp-geo-actions a{font-size:14px;font-weight:600;color:#166b54}.tp-geo-panel>small{flex-basis:100%;font-size:12px;line-height:1.4;color:#43685e}
.tp-geo-actions button:focus-visible,.tp-geo-actions select:focus-visible,.tp-geo-more:focus-visible{outline:3px solid #d8a31b;outline-offset:3px}
.tp-card-details .tp-card-distance{font-size:14px;font-weight:700;color:#166b54;margin:0 0 8px}
.tp-geo-coverage{font-size:13px;line-height:1.5;color:#64766f;margin:16px 0}
.tp-geo-more{display:block;margin:22px auto}.tp-geo-global{padding-block:16px}
[data-tp-geo-clear][hidden],[data-tp-geo-link][hidden],[data-tp-geo-more][hidden],[data-tp-geo-coverage][hidden],[data-tp-geo-empty][hidden],.tp-load-more[hidden],.tp-empty[hidden]{display:none!important}
@media(max-width:620px){.tp-geo-panel{padding:16px;gap:12px}.tp-geo-actions{width:100%}.tp-geo-actions [data-tp-geo-use]{flex:1 1 180px}.tp-geo-actions label{flex:1 1 120px}.tp-geo-actions [data-tp-geo-clear]{width:100%}}

/* Unit information and nearby recommendations */
.tp-platforms-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tp-platforms-row>p:empty{display:none}
.tp-platform{width:100%;min-width:0;height:70px;flex-direction:column;gap:8px;text-decoration:none}
.tp-platform-label{font-size:11px;font-weight:600;color:#54725d;line-height:1}
.tp-platform.is-inactive .tp-platform-label,.tp-platform.is-pending .tp-platform-label{color:#71766f}
.tp-platform.is-pending{background:#f8f9f7;border-style:dashed}
.tp-platform.is-pending .tp-platform-logo,.tp-platform.is-pending .tp-platform-logo b{color:#808580!important;opacity:.78}
.tp-platforms{margin:0 0 22px}
.tp-nearby{padding-top:44px;padding-bottom:72px}
.tp-nearby>h2{max-width:860px;margin:0 0 28px;font-size:clamp(30px,3.2vw,46px);line-height:1.02;letter-spacing:-.045em}
.tp-nearby>.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.tp-nearby .tp-card{display:flex;flex-direction:column;min-width:0}
.tp-nearby .tp-card-image{aspect-ratio:1.55/1;border-radius:16px}
.tp-nearby .tp-card-body{display:flex;flex-direction:column;flex:1;padding-top:14px}
.tp-nearby .tp-card-heading{display:block}
.tp-nearby .tp-network-logo{display:none}
.tp-nearby .tp-card h2{margin:0;font-size:clamp(22px,1.8vw,30px);line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.tp-nearby .tp-card-details{padding-left:0;margin-top:12px}
.tp-nearby .tp-card-details p{font-size:13px;line-height:1.45;color:#5f665f}
.tp-nearby .tp-card-link{margin-top:auto;padding:12px 14px;border:0;border-radius:10px;background:var(--tp-ink);color:#fff;font-size:13px;font-weight:800;transition:transform .18s ease,opacity .18s ease}
.tp-nearby .tp-card-link:hover{transform:translateY(-1px);opacity:.9}
.tp-nearby .tp-card-link span:last-child{font-size:17px}
.tp-nearby .tp-card-platform-badge{font-size:10px}
@media(max-width:760px){
 .tp-nearby{padding-top:34px;padding-bottom:48px}
 .tp-nearby>h2{margin-bottom:20px;font-size:30px;line-height:1.04}
 .tp-nearby>.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 12px}
 .tp-nearby>.tp-grid>.tp-card:nth-child(n+3){display:none!important}
 .tp-nearby .tp-card-image{aspect-ratio:1.2/1;border-radius:12px}
 .tp-nearby .tp-card-body{padding-top:10px}
 .tp-nearby .tp-card h2{font-size:17px;line-height:1.12}
 .tp-nearby .tp-card-details{margin-top:8px}
 .tp-nearby .tp-card-details p{font-size:11px;line-height:1.35}
 .tp-nearby .tp-card-link{margin-top:12px;padding:10px 11px;font-size:11px;border-radius:9px}
 .tp-nearby .tp-card-platform-badge{font-size:9px;left:6px;top:6px;padding:0 6px}
 .tp-info-card .tp-platform--wellhub .tp-platform-logo{font-size:19px}
 .tp-info-card .tp-platform--totalpass .tp-platform-logo{font-size:13px;letter-spacing:.7px}
}


