/* ==========================================================================
   FORJA — design tokens (tema "aurora" — claro, coral, cantos arredondados)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@500;600&display=swap');
.mobile-notifications { display:none; }

:root{
  --ink:        #171B19;
  --ink-soft:   #6B7280;
  --concrete:   #F4F5F7;
  --concrete-2: #E9EAF0;
  --chalk:      #FFFFFF;
  --signal:     #FF4D67;
  --signal-dark:#E63954;
  --signal-soft:#FFE3E8;
  --signal-tint:#FFF3F4;
  --steel:      #1F2A44;
  --olive:      #12B76A;
  --olive-soft: #DDF6EA;
  --line:       #ECEDF2;

  --display: 'Inter', system-ui, sans-serif;
  --body:    'Inter', system-ui, sans-serif;
  --mono:    'IBM Plex Mono', monospace;

  --radius: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--body);
  background:var(--chalk);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
input,select{ font-family:inherit; }

/* ---- formulários genéricos (.field) ---- */
.field{ margin-bottom:16px; }
.field > label{ display:block; font-size:13px; font-weight:700; margin-bottom:6px; }
.field > input,
.field > select,
.field > textarea{
  width:100%; border:2px solid var(--concrete-2); border-radius:var(--radius);
  padding:11px 13px; font-size:14px; font-family:inherit; color:var(--ink); background:var(--chalk);
}
.field-error{ font-size:12px; font-weight:600; color:var(--signal-dark); margin-top:6px; display:none; }
.field-error.show{ display:block; }
.field.invalid > input,
.field.invalid > select,
.field.invalid > textarea{ border-color:var(--signal-dark); }
.field > textarea{ resize:vertical; }
.field > input:focus,
.field > select:focus,
.field > textarea:focus{ outline:none; border-color:var(--signal); }

/* ---- área de escolha de arquivo (foto/documento/vídeo) ---- */
.file-drop{
  display:block; border:2px dashed var(--concrete-2); border-radius:var(--radius); padding:20px;
  text-align:center; cursor:pointer; font-size:13px; color:var(--ink-soft); position:relative;
}
.file-drop:hover{ border-color:var(--signal); }
.file-drop input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.file-drop strong{ display:block; color:var(--ink); font-size:14px; margin-bottom:2px; }

:focus-visible{ outline:3px solid var(--signal); outline-offset:2px; }

.wrap{ max-width:1220px; margin:0 auto; padding:0 24px; }

.eyebrow{
  font-family:var(--body);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--signal-dark);
  font-weight:700;
  display:inline-flex; align-items:center; gap:6px;
  background:var(--signal-soft);
  padding:7px 14px;
  border-radius:var(--radius-pill);
}

/* ---------- header ---------- */
.site-header{
  background:var(--chalk);
  color:var(--ink);
  position:sticky; top:0; z-index:40;
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  min-height:76px; gap:24px;
}
.logo{
  font-weight:900;
  font-size:22px;
  letter-spacing:-.01em;
  display:flex; align-items:center; gap:1px;
  flex-shrink:0;
}
.logo span{ color:var(--signal); }
.nav-links{ display:flex; gap:30px; align-items:center; }
.nav-links a{
  font-size:14px; font-weight:600;
  color:#4B5160;
  transition:color .15s;
}
.nav-links a:hover{ color:var(--ink); }
.nav-actions{display:flex;gap:12px;align-items:center;flex-shrink:0;flex-wrap:nowrap;}
.account-greeting{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;}
.account-plan-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--signal);border:1px solid var(--signal);color:#fff;font-size:12px;font-weight:800;white-space:nowrap;line-height:1;}
.btn-account-plans{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 13px;border-radius:999px;background:var(--signal);border:1px solid var(--signal);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;text-decoration:none;box-shadow:0 5px 14px rgba(255,75,31,.14);white-space:nowrap;}
.btn-account-plans:hover{color:#fff;transform:translateY(-1px);}
@media(max-width:900px){.nav-actions{gap:8px}.account-greeting{font-size:13px}.account-plan-badge,.btn-account-plans{min-height:30px;padding:0 10px;font-size:11px;}}

.notif-bell{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; color:var(--ink); flex-shrink:0;
}
.notif-bell:hover{ background:var(--concrete); }
.notif-badge{
  position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px;
  border-radius:999px; background:var(--signal); color:#fff; font-size:10px; font-weight:800;
  display:flex; align-items:center; justify-content:center; line-height:1; border:2px solid var(--chalk);
}
.notif-badge.pop{ animation:notif-pop .5s ease; }
.notif-bell.pop svg{ animation:notif-shake .5s ease; }
@keyframes notif-pop{
  0%{ transform:scale(0.3); } 55%{ transform:scale(1.35); } 100%{ transform:scale(1); }
}
@keyframes notif-shake{
  0%,100%{ transform:rotate(0); } 20%{ transform:rotate(-14deg); } 40%{ transform:rotate(12deg); } 60%{ transform:rotate(-8deg); } 80%{ transform:rotate(6deg); }
}
@media (max-width:860px){
  .notif-bell{ width:auto; height:auto; justify-content:flex-start; gap:8px; }
  .notif-bell::before{ content:"Notificações"; font-size:14px; font-weight:600; }
  .notif-badge{ position:static; border:none; }
}

/* ---------- menu mobile (hamburger) ---------- */
.mobile-menu-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:9px;
  align-items:center; justify-content:center; flex-shrink:0; color:var(--ink);
}
.mobile-menu-toggle svg{ width:24px; height:24px; display:block; }

/* ---------- menu lateral de conta: novo painel visual ---------- */
.drawer-toggle{
  display:none;background:none;border:none;cursor:pointer;padding:9px;margin-right:4px;
  align-items:center;justify-content:center;flex-shrink:0;color:var(--ink);order:-1;
}
.drawer-toggle svg{width:24px;height:24px;display:block}.drawer-toggle.show{display:inline-flex}
.account-drawer-overlay{position:fixed;inset:0;background:rgba(23,27,25,.48);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}
.account-drawer-overlay.open{opacity:1;pointer-events:auto}
.account-drawer{position:fixed;top:0;left:0;height:100%;width:442px;max-width:94vw;background:#fff;z-index:201;box-shadow:8px 0 38px rgba(17,24,39,.16);transform:translateX(-100%);transition:transform .24s ease;display:flex;flex-direction:column;overflow-y:auto}
.account-drawer-overlay.open .account-drawer{transform:translateX(0)}
.account-drawer-head{display:flex;align-items:center;justify-content:flex-end;padding:18px 18px 0}
.account-drawer-close{width:36px;height:36px;border:1px solid #eadfe6;border-radius:50%;background:#fff;cursor:pointer;font-size:22px;line-height:1;color:#6b7280;display:flex;align-items:center;justify-content:center}
.account-drawer-user{padding:8px 20px 18px}
.drawer-brand-row{display:flex;align-items:center;gap:8px;margin:0 0 24px}.drawer-brand-row strong{font-weight:900;letter-spacing:-.02em}.drawer-brand-logo{display:block;width:116px;height:42px;object-fit:contain;object-position:left center}
.drawer-account-head{display:flex;align-items:center;gap:15px}.account-drawer-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#ffe7f0;display:flex;align-items:center;justify-content:center;font-weight:800;color:#e03382;font-size:17px}.account-drawer-avatar-lg{width:82px;height:82px;border:3px solid #f4a0c6;box-shadow:0 5px 14px rgba(224,51,130,.12)}.account-drawer-avatar img{width:100%;height:100%;object-fit:cover}
.drawer-account-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.drawer-account-copy strong{font-size:20px;line-height:1.1}.drawer-account-copy>span:not(.drawer-status-pill){font-size:15px;color:#687080}.drawer-status-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;background:#fff0df;color:#c07a22;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}
.account-drawer-nav{padding:0 18px 24px;display:flex;flex-direction:column;gap:12px}.drawer-summary-card{border:1px solid #f1d5e4;border-radius:20px;padding:16px 14px;background:#fff}.drawer-summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.drawer-summary-head span{border:1px solid #f0c5d8;border-radius:999px;padding:5px 10px;color:#e03382;font-size:12px}.drawer-summary-grid{display:grid;grid-template-columns:repeat(3,1fr)}.drawer-summary-grid>div{text-align:center;padding:5px 8px;border-right:1px solid #f1dfe7}.drawer-summary-grid>div:last-child{border-right:0}.drawer-summary-grid b{display:block;font-size:20px;margin-bottom:3px}.drawer-summary-grid span{display:block;color:#7a7f8b;font-size:12px}
.drawer-feature-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:18px;background:#fde4f0;color:#222;text-decoration:none}.drawer-feature-icon{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#df2f82;font-size:18px;flex-shrink:0}.drawer-feature-card span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}.drawer-feature-card strong{font-size:14px;color:#df2f82}.drawer-feature-card small{font-size:12px;color:#6d6f78}.drawer-feature-card>b{background:#df2f82;color:#fff;border-radius:999px;padding:10px 14px;font-size:12px;white-space:nowrap}
.drawer-shortcuts-title{font-size:14px;font-weight:800;margin:4px 0 0}.drawer-shortcuts{display:flex;flex-direction:column;gap:10px}.drawer-shortcuts a{position:relative;display:grid;grid-template-columns:46px 1fr 18px;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;border:1px solid #f0dbe6;border-radius:16px;background:#fff;text-decoration:none;color:#20242b}.drawer-shortcuts a>span{grid-row:1 / span 2;width:44px;height:44px;border-radius:12px;background:#fde8f2;color:#df2f82;display:flex;align-items:center;justify-content:center;font-size:18px}.drawer-shortcuts a b{font-size:14px;align-self:end}.drawer-shortcuts a small{font-size:12px;color:#7b808c;align-self:start}.drawer-shortcuts a i{grid-column:3;grid-row:1 / span 2;font-style:normal;color:#b6a8b0;font-size:23px}.drawer-shortcuts a:hover{border-color:#eca8c7;transform:translateY(-1px)}
.drawer-client-vip{border:1px solid #eadfff;border-radius:18px;padding:12px;background:linear-gradient(145deg,#fbf8ff 0%,#fff 100%);}
.drawer-client-vip-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.drawer-client-vip-icon{width:34px;height:34px;border-radius:10px;background:#eee5ff;color:#702cff;display:flex;align-items:center;justify-content:center;font-weight:900}.drawer-client-vip-head strong{display:block;font-size:13px;color:#6424dc}.drawer-client-vip-head small{display:block;font-size:11px;color:#777180;margin-top:2px}
.drawer-client-task{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px 10px;margin-top:7px;border-radius:13px;background:#fff;text-decoration:none;color:#20242b;box-shadow:0 3px 10px rgba(30,20,40,.06)}.drawer-client-task-icon{width:34px;height:34px;border-radius:10px;background:#f1eaff;color:#6f2eff;display:flex;align-items:center;justify-content:center;font-size:14px}.drawer-client-task b{display:block;font-size:12px}.drawer-client-task small{display:block;font-size:10px;color:#7b808c;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.drawer-client-task em{font-style:normal;background:#eee6ff;color:#6527df;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;white-space:nowrap}
.drawer-client-progress{border:1px solid #f0dbe6;border-radius:18px;padding:12px;background:#fff}.drawer-client-progress-head{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.drawer-client-progress-icon{width:34px;height:34px;border-radius:50%;background:#fde8f2;color:#df2f82;display:flex;align-items:center;justify-content:center}.drawer-client-progress-head strong{display:block;font-size:13px}.drawer-client-progress-head small{display:block;color:#7b808c;font-size:10px;line-height:1.25;margin-top:2px}.drawer-client-progress-head>b{font-size:10px;background:#fde4f0;color:#df2f82;border-radius:999px;padding:5px 8px;white-space:nowrap}.drawer-client-progress-line{height:5px;background:#f1e4eb;border-radius:999px;margin:10px 0 5px;overflow:hidden}.drawer-client-progress-line span{display:block;width:16%;height:100%;background:#e83282;border-radius:999px}.drawer-client-progress-foot{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#7b808c}.drawer-client-progress-foot span:first-child{font-weight:900;color:#343039}
.drawer-client-shortcuts{gap:6px}.drawer-client-shortcuts a{grid-template-columns:34px 1fr 14px;column-gap:9px;padding:8px 10px;border-radius:13px}.drawer-client-shortcuts a>span{width:34px;height:34px;border-radius:10px;font-size:14px}.drawer-client-shortcuts a b{font-size:12px}.drawer-client-shortcuts a small{font-size:10px}.drawer-client-shortcuts a i{font-size:18px}

.drawer-app-btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;background:#df2f82;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 8px 20px rgba(223,47,130,.2);margin-top:8px}.drawer-logout-btn{min-height:54px;border:2px solid #f1c7dc;border-radius:999px;background:#fff;color:#df2f82;font:800 14px inherit;cursor:pointer}.drawer-logout-btn:hover{background:#fff5fa}
@media(max-width:600px){.account-drawer{width:100%;max-width:100%}.account-drawer-head{padding-top:12px}.account-drawer-user{padding-left:18px;padding-right:18px}.account-drawer-nav{padding-left:18px;padding-right:18px}}

/* ---------- busca rápida da home: barra estilo pílula que abre o drawer de cidades ---------- */
.city-search-bar{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  background:var(--chalk); border:2px solid var(--concrete-2); border-radius:999px;
  padding:6px 6px 6px 18px; cursor:pointer;
}
.city-search-bar:hover{ border-color:var(--signal); }
.city-search-bar-icon{ font-size:15px; }
.city-search-bar-text{ flex:1; color:var(--ink-soft); font-size:14px; }
.city-search-bar-submit{
  width:40px; height:40px; border-radius:50%; background:var(--signal); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:15px;
}

/* ---------- drawer de busca por cidade (home) ---------- */
.city-drawer-overlay{
  position:fixed; inset:0; background:rgba(23,27,25,.45); z-index:210;
  opacity:0; pointer-events:none; transition:opacity .18s;
}
.city-drawer-overlay.open{ opacity:1; pointer-events:auto; }
.city-drawer{
  position:fixed; top:0; right:0; height:100%; width:380px; max-width:92vw;
  background:var(--chalk); z-index:211; box-shadow:-2px 0 24px rgba(0,0,0,.15);
  transform:translateX(100%); transition:transform .22s ease;
  display:flex; flex-direction:column; overflow-y:auto;
}
.city-drawer-overlay.open .city-drawer{ transform:translateX(0); }
.city-drawer-head{ display:flex; justify-content:flex-end; padding:14px 14px 0; }
.city-drawer-close{ background:none; border:none; cursor:pointer; font-size:24px; line-height:1; color:var(--ink); padding:6px; }
.city-drawer-body{ padding:6px 26px 30px; }
.city-drawer-body h3{ font-family:var(--display); font-size:26px; margin:4px 0 20px; }

.city-geo-btn{
  display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  background:var(--signal-tint); border:1px solid var(--signal-soft); border-radius:14px;
  padding:14px; margin-bottom:22px;
}
.city-geo-btn:hover{ background:var(--signal-soft); }
.city-geo-icon{
  width:38px; height:38px; border-radius:10px; background:var(--signal-soft); color:var(--signal-dark);
  display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0;
}
.city-geo-copy{ display:flex; flex-direction:column; gap:2px; }
.city-geo-copy strong{ font-size:14.5px; color:var(--ink); }
.city-geo-copy span:last-child{ font-size:12.5px; color:var(--ink-soft); }

.city-search-field{
  display:flex; align-items:center; gap:8px; border:2px solid var(--signal-soft); border-radius:14px;
  padding:12px 14px; margin-bottom:6px;
}
.city-search-field-icon{ font-size:15px; color:var(--signal); }
.city-search-field input{ flex:1; border:none; outline:none; font-size:15px; font-family:inherit; color:var(--ink); }
.city-search-field button{
  width:34px; height:34px; border-radius:50%; background:var(--signal); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:14px;
}

.city-geo-status{ font-size:13px; color:var(--ink-soft); margin:10px 0 0; }

.city-suggestions-label{
  font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft);
  margin:18px 0 10px; display:flex; align-items:center; gap:8px;
}
.city-suggestions-count{
  background:var(--signal-soft); color:var(--signal-dark); border-radius:999px; padding:1px 8px; font-size:11px;
}
.city-suggestions{ display:flex; flex-direction:column; gap:6px; }
.city-suggestion{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:var(--chalk);
}
.city-suggestion:hover{ border-color:var(--signal); background:var(--signal-tint); }
.city-suggestion-icon{
  width:30px; height:30px; border-radius:50%; background:var(--signal-soft); color:var(--signal-dark);
  display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0;
}
.city-suggestion-name{ flex:1; font-size:14px; font-weight:600; color:var(--ink); }
.city-suggestion-arrow{ color:var(--ink-soft); }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; font-size:14px;
  padding:12px 24px;
  border-radius:var(--radius-pill);
  transition:transform .12s ease, background .15s, box-shadow .15s, border-color .15s;
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-signal{ background:var(--signal); color:var(--chalk); box-shadow:0 10px 20px -8px rgba(255,77,103,.55); }
.btn-signal:hover{ background:var(--signal-dark); }
.btn-outline{
  border:2px solid var(--line); color:var(--ink); background:var(--chalk);
}
.btn-outline:hover{ border-color:var(--signal); color:var(--signal-dark); }
.btn-ghost{ color:var(--ink); font-weight:600; font-size:14px; }
.btn-ghost:hover{ color:var(--signal-dark); }
.btn-steel{ background:var(--steel); color:var(--chalk); }
.btn-steel:hover{ background:#111830; }
.btn-block{ width:100%; }
.btn-sm{ padding:9px 18px; font-size:13px; }

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(60% 55% at 82% 10%, var(--signal-soft) 0%, rgba(255,227,232,0) 70%),
    linear-gradient(180deg, var(--signal-tint) 0%, var(--chalk) 78%);
  color:var(--ink);
  padding:72px 0 0;
  overflow:hidden;
  position:relative;
}
.hero-top{
  display:flex; align-items:flex-start; gap:48px;
  min-height:680px;
  padding-bottom:0;
  position:relative;
}
.hero-grid{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:22px;
  max-width:520px;
  flex:1 1 460px;
  text-align:left;
}
.hero-media{
  position:absolute; right:24px; bottom:0; width:calc(50% - 24px); height:680px;
  display:flex; align-items:flex-end; justify-content:center;
}
.hero-photo-slot{
  width:100%; max-width:600px; height:680px;
  border-radius:var(--radius-lg);
  object-fit:cover;
  object-position:center bottom;
  background:transparent;
  box-shadow:none;
}
.hero-photo-slot:not([src]),
.hero-photo-slot[src=""]{
  visibility:hidden;
}
.hero h1{
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(34px,5vw,56px);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:6px 0 4px;
}
.hero h1 em{ color:var(--signal); font-style:normal; }
.hero p{
  font-size:17px;
  color:var(--ink-soft);
  max-width:52ch;
  margin:0 0 6px;
}
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-start; }

.search-card{
  background:var(--chalk);
  color:var(--ink);
  border-radius:var(--radius-pill);
  padding:8px;
  box-shadow:0 24px 48px -18px rgba(23,27,25,.18), 0 0 0 1px var(--line);
  display:flex; align-items:center; gap:6px;
  width:100%; max-width:520px;
  margin:8px 0 0;
}
.search-card h3{ display:none; }
.search-card .field{ margin-bottom:0; flex:1; min-width:0; position:relative; }
.search-card .field label{ display:none; }
.search-card .field::before{
  content:'📍'; position:absolute; left:16px; top:50%; transform:translateY(-50%);
  font-size:14px; pointer-events:none; opacity:.7;
}
.search-card .field select{
  border:none; background:transparent; padding:14px 14px 14px 38px;
  border-radius:var(--radius-pill); width:100%;
}
.search-card .field select:focus{ outline:none; }
.search-card .field + .field{ border-left:1px solid var(--line); }
.search-card button[type="submit"]{
  width:auto; flex-shrink:0; padding:14px 26px;
}

.quick-chips{
  display:flex; gap:8px; align-items:center; justify-content:center;
  flex-wrap:wrap; font-size:13px; color:var(--ink-soft); margin-top:2px;
}
.quick-chips a, .quick-chips button{
  font-size:13px; font-weight:600; color:var(--ink-soft);
  background:var(--concrete); padding:6px 14px; border-radius:var(--radius-pill);
  transition:background .15s, color .15s;
}
.quick-chips a:hover, .quick-chips button:hover{ background:var(--signal-soft); color:var(--signal-dark); }

/* ---------- scoreboard ---------- */
.scoreboard{
  border-top:1px solid var(--line);
  padding:26px 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.scoreboard div{
  text-align:center;
  padding:0 12px;
  border-left:1px solid var(--line);
}
.scoreboard div:first-child{ border-left:none; }
.score-num{
  font-family:var(--mono); font-weight:700;
  font-size:clamp(20px,3vw,28px);
  color:var(--ink);
  letter-spacing:-.01em;
}
.score-label{
  font-size:11px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-soft); margin-top:4px;
}

/* ---------- avaliações ---------- */
.reviews-stack{
  max-width:560px; margin:0 auto; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.review-avatars{ display:flex; }
.avatar-circle{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:800; font-size:15px;
  border:3px solid var(--chalk); box-shadow:0 4px 10px -4px rgba(23,27,25,.25);
  margin-left:-14px;
}
.review-avatars .avatar-circle:first-child{ margin-left:0; }
.review-stars{ color:var(--signal); font-size:18px; letter-spacing:2px; }
.review-quote{ font-size:17px; color:var(--ink); line-height:1.5; }

/* ---------- personalize (banner escuro) ---------- */
.personalize-band{
  background:var(--steel);
  color:var(--chalk);
  padding:64px 0;
}
.personalize-grid{ max-width:640px; text-align:center; margin:0 auto; }
.personalize-copy h2{
  font-family:var(--display); font-weight:800;
  font-size:clamp(24px,3vw,32px); letter-spacing:-.01em;
  margin:14px 0 10px;
}
.personalize-copy p{ color:#C7CCDA; font-size:15px; max-width:48ch; margin:0 auto 22px; }
.personalize-chips{
  display:flex; gap:8px; align-items:center; justify-content:center;
  flex-wrap:wrap; font-size:13px; margin-bottom:24px;
}
.personalize-chips span{ color:#9AA3BD; }
.personalize-chips a{
  font-weight:600; color:var(--chalk);
  background:rgba(255,255,255,.08); padding:6px 14px; border-radius:var(--radius-pill);
  transition:background .15s;
}
.personalize-chips a:hover{ background:rgba(255,255,255,.16); }

/* ---------- sections ---------- */
section{ padding:72px 0; }
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:36px; gap:24px; flex-wrap:wrap;
}
.section-head h2{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.01em;
  margin-top:8px;
}
.section-head p{ color:var(--ink-soft); font-size:15px; max-width:52ch; margin-top:6px; }

/* how it works */
.steps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.step{
  background:var(--chalk); border:1px solid var(--line);
  padding:28px; border-radius:var(--radius-lg);
  position:relative;
  box-shadow:0 12px 30px -20px rgba(23,27,25,.12);
}
.step .tag{
  font-family:var(--mono); font-size:12px; font-weight:700;
  color:var(--signal-dark); margin-bottom:14px; display:inline-block;
  background:var(--signal-soft); padding:5px 12px; border-radius:var(--radius-pill);
}
.step h3{ font-size:18px; margin-bottom:8px; font-weight:700; }
.step p{ font-size:14px; color:var(--ink-soft); }

/* category cards (grid de especialidades / cidades) */
.category-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.category-card{
  display:flex; align-items:center; gap:14px;
  background:var(--chalk); border:1px solid var(--line);
  border-radius:var(--radius); padding:16px 18px;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.category-card:hover{
  border-color:var(--signal-soft); box-shadow:0 14px 30px -18px rgba(255,77,103,.35);
  transform:translateY(-2px);
}
.category-icon{
  width:42px; height:42px; border-radius:12px; flex-shrink:0;
  background:var(--signal-soft); color:var(--signal-dark);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.category-copy strong{ display:block; font-size:14px; font-weight:700; }
.category-copy span{ font-size:12px; color:var(--ink-soft); }
.category-arrow{ margin-left:auto; color:var(--ink-soft); font-size:16px; }

/* trainer card */
.grid-cards{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.card{
  background:var(--chalk);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
  position:relative;
  box-shadow:0 12px 28px -22px rgba(23,27,25,.18);
}
.card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(23,27,25,.22); }
.card-photo{
  position:relative; aspect-ratio:4/3; overflow:hidden;
  background:linear-gradient(135deg,var(--concrete-2),var(--concrete));
}
.card-photo img{ width:100%; height:100%; object-fit:cover; }
.badge{
  position:absolute; top:12px; left:12px;
  background:var(--olive); color:var(--chalk);
  font-size:11px; font-weight:700; text-transform:uppercase;
  padding:6px 12px; border-radius:var(--radius-pill); letter-spacing:.02em;
}
.badge-outline{
  background:rgba(23,27,25,.72); backdrop-filter:blur(2px);
}
.punch{
  position:absolute; top:14px; right:14px;
  width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.9); border:none;
  box-shadow:0 4px 10px rgba(23,27,25,.12);
}
.card-body{ padding:18px 20px 20px; }
.card-body .name-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:8px;
  margin-bottom:4px;
}
.card-body h3{ font-size:17px; font-weight:700; }
.price{ font-family:var(--mono); font-weight:700; font-size:14px; color:var(--signal-dark); white-space:nowrap; }
.price small{ font-family:var(--body); font-weight:500; color:var(--ink-soft); }
.card-body .locality{ font-size:13px; color:var(--ink-soft); margin-bottom:12px; }
.chip-row{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.chip{
  font-size:11px; font-weight:600; letter-spacing:.02em;
  background:var(--concrete); color:var(--ink-soft);
  padding:6px 11px; border-radius:var(--radius-pill);
}
.card-actions{ display:flex; gap:8px; }

/* ---------- features (ícones) ---------- */
.features-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
}
.feature-card{ text-align:left; }
.feature-icon{
  width:48px; height:48px; border-radius:14px;
  background:var(--signal-soft); color:var(--signal-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; margin-bottom:16px;
}
.feature-card h3{ font-size:16px; font-weight:700; margin-bottom:6px; }
.feature-card p{ font-size:13.5px; color:var(--ink-soft); }

/* ---------- CTA split ---------- */
.cta-split{
  display:grid; grid-template-columns:1.1fr .9fr;
  border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--line);
}
.cta-split-copy{ padding:44px 40px; background:var(--chalk); }
.cta-split-copy h3{ font-size:22px; font-weight:800; margin-bottom:18px; }
.cta-split-copy ul{ margin-bottom:22px; }
.cta-split-copy li{
  display:flex; align-items:flex-start; gap:10px; font-size:14.5px;
  color:var(--ink-soft); margin-bottom:10px;
}
.cta-split-copy li::before{ content:'✓'; color:var(--olive); font-weight:800; flex-shrink:0; }
.cta-split-copy small{ display:block; font-size:12.5px; color:var(--ink-soft); margin-bottom:18px; }
.cta-split-art{
  background:radial-gradient(120% 120% at 100% 0%, var(--signal-soft), var(--signal-tint));
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  gap:14px; padding:40px; text-align:center;
}
.cta-split-art .art-icon{
  width:64px; height:64px; border-radius:50%; background:var(--chalk);
  display:flex; align-items:center; justify-content:center; font-size:26px;
  box-shadow:0 12px 24px -10px rgba(255,77,103,.4);
}
.cta-split-art p{ font-size:14px; color:var(--ink-soft); max-width:26ch; }

/* footer */
.site-footer{
  background:var(--steel); color:#AEB4C4;
  padding:56px 0 28px; margin-top:80px;
}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;
  padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.08);
}
.site-footer .logo span{ color:var(--signal); }
.footer-grid h4{
  color:var(--chalk); font-size:13px; text-transform:uppercase;
  letter-spacing:.08em; margin-bottom:14px;
}
.footer-grid li{ margin-bottom:9px; font-size:14px; }
.footer-grid a:hover{ color:var(--chalk); }
.footer-bottom{
  display:flex; justify-content:space-between; padding-top:22px; font-size:12px;
  flex-wrap:wrap; gap:12px;
}

/* ---------- modal ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(23,27,25,.55);
  display:none; align-items:center; justify-content:center;
  padding:20px; z-index:100;
}
.modal-overlay.open{ display:flex; }
.modal{
  background:var(--chalk); border-radius:var(--radius-lg);
  width:100%; max-width:420px;
  box-shadow:0 40px 70px -20px rgba(0,0,0,.35);
  animation:pop .18s ease;
}
@keyframes pop{ from{ transform:scale(.96); opacity:0; } to{ transform:scale(1); opacity:1; } }
.modal-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 22px 0;
}
.modal-head h3{ font-size:20px; font-weight:800; }
.modal-close{ font-size:22px; line-height:1; color:var(--ink-soft); padding:4px; }
.modal p.sub{ padding:6px 22px 0; color:var(--ink-soft); font-size:14px; }
.modal-options{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:12px; }
.modal-option{
  display:flex; align-items:center; gap:14px;
  border:2px solid var(--line); border-radius:var(--radius);
  padding:16px; text-align:left; transition:border-color .15s, background .15s;
}
.modal-option:hover{ border-color:var(--steel); background:var(--concrete); }
.modal-option.is-trainer:hover{ border-color:var(--signal); background:var(--signal-tint); }
.opt-icon{
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:15px; flex-shrink:0;
  background:var(--steel); color:var(--chalk);
}
.modal-option.is-trainer .opt-icon{ background:var(--signal); }
.opt-copy strong{ display:block; font-size:15px; margin-bottom:2px; }
.opt-copy span{ font-size:13px; color:var(--ink-soft); }
.opt-arrow{ margin-left:auto; font-size:18px; color:var(--ink-soft); }

.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--chalk);color:var(--ink);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.mobile-menu-toggle svg{display:block;width:23px;height:23px}
.mobile-menu-toggle:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.site-header.menu-open .mobile-menu-toggle{background:var(--signal);border-color:var(--signal);color:#fff}

@media (max-width:860px){
  .hero-top{ flex-direction:column; min-height:0; }
  .hero-grid{ align-items:center; text-align:center; max-width:100%; }
  .hero-cta{ justify-content:center; }
  .search-card{ margin:8px auto 0; }
  .hero-media{ position:static; order:-1; width:100%; height:auto; }
  .hero-photo-slot{ max-width:360px; height:470px; }
  .steps, .grid-cards, .category-grid, .features-grid{ grid-template-columns:1fr 1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .scoreboard{ grid-template-columns:repeat(2,1fr); row-gap:18px; }
  .scoreboard div:nth-child(3){ border-left:none; }
  .search-card{ flex-direction:column; border-radius:var(--radius-lg); padding:14px; }
  .search-card .field + .field{ border-left:none; border-top:1px solid var(--line); padding-top:10px; }
  .search-card button[type="submit"]{ width:100%; }
  .cta-split{ grid-template-columns:1fr; }

  /* header vira menu hamburger no mobile: nav-links e nav-actions ficam ocultos
     por padrão e só aparecem, empilhados, quando o site-header tem a classe
     "menu-open" (alternada pelo botão .mobile-menu-toggle, ver settings.js) */
  .mobile-menu-toggle{ display:flex;order:1;margin-left:auto;align-self:center; }
  .site-header .logo{order:0;}
  .site-header .nav-links{order:2;}
  .site-header .nav-actions{order:3;}
  .site-header .wrap{ flex-wrap:wrap; row-gap:0; }
  .nav-links, .nav-actions{
    display:none; width:100%; flex-basis:100%;
    flex-direction:column; align-items:stretch; gap:4px;
    padding:14px 0 18px;
  }
  .nav-links{ border-top:1px solid var(--line); }
  .nav-actions{ padding-top:10px; }
  .nav-links a{ padding:10px 2px; }
  .nav-actions > *{ width:100%; justify-content:flex-start; text-align:left; }
  .site-header.menu-open .nav-actions > a.btn-ghost{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid var(--signal);border-radius:999px;background:var(--signal);color:#fff!important;font-weight:800;text-align:center;text-decoration:none;box-shadow:0 7px 18px rgba(229,72,85,.2)}
  .nav-links a{min-height:42px;display:flex;align-items:center;}
  .site-header.menu-open .nav-links,
  .site-header.menu-open .nav-actions{ display:flex; }
}
@media (max-width:600px){
  .steps, .grid-cards, .category-grid, .features-grid{ grid-template-columns:1fr; }
}

/* Cabeçalho móvel: uma navegação de conta, com notificações sempre visíveis. */
@media(max-width:860px) {
 .site-header.has-account-drawer .mobile-menu-toggle { display:none; }
 .site-header.has-account-drawer .wrap { justify-content:flex-start; gap:12px; }
 .site-header.has-account-drawer .logo { order:0; margin-right:auto; }
 .site-header.has-account-drawer .drawer-toggle.show { order:2; margin:0; }
 .site-header.has-account-drawer .mobile-notifications { order:1; display:flex; align-items:center; justify-content:center; position:relative; width:38px; height:40px; color:var(--ink); }
 .mobile-notification-count { position:absolute; top:0; right:0; border-radius:20px; background:var(--signal); color:white; font-size:10px; min-width:16px; text-align:center; }
 .mobile-notification-count[hidden] { display:none; }
 .site-header.has-account-drawer .nav-links,.site-header.has-account-drawer .nav-actions { display:none; }
 .grid-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .grid-cards .card-body { padding:12px; }
 .grid-cards .name-row { flex-wrap:wrap; }
 .grid-cards .card h3 { font-size:15px; }
 .grid-cards .card-actions { flex-wrap:wrap; }
}

/* Mantém a marca junto ao menu e as ações da conta no lado direito. */
@media(min-width:861px) {
 .site-header .wrap { justify-content:flex-start; gap:16px; }
 .site-header .nav-links:empty { display:none; }
 .site-header .nav-actions { margin-left:auto; }
 .site-header .drawer-toggle.show { margin:0; flex-shrink:0; }
 .site-header .logo { margin-right:16px; }
}

.site-header .site-brand-image{display:block;max-width:180px;max-height:56px;width:auto;height:auto;object-fit:contain}
@media(max-width:600px){.site-header .site-brand-image{max-width:140px;max-height:44px}}

.signup-notice{font-size:13px;line-height:1.6;color:var(--ink-soft);margin:18px 0 12px;text-align:left}


/* v1.6.17 — cabeçalho da conta: espaçamento e botões do plano */
.nav-actions .account-greeting{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;margin:0!important;padding:0 2px!important;font-size:14px!important;font-weight:600!important;line-height:32px!important;}
.nav-actions .account-plan-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;height:34px!important;margin:0 0 0 4px!important;padding:0 13px!important;border-radius:999px!important;background:var(--signal)!important;border:1px solid var(--signal)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;}
.nav-actions .btn-account-plans{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;height:34px!important;margin:0 0 0 2px!important;padding:0 14px!important;border-radius:999px!important;background:var(--signal)!important;border:1px solid var(--signal)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;}
.nav-actions .account-plan-badge + .btn-account-plans{margin-left:4px!important;}
.nav-actions{gap:10px!important;align-items:center!important;}

@media(max-width:900px){
  .nav-actions .account-greeting{font-size:13px!important;}
  .nav-actions .account-plan-badge,.nav-actions .btn-account-plans{min-height:32px!important;height:32px!important;padding:0 10px!important;font-size:11px!important;}
}


/* v1.6.18 — cabeçalho da conta: agrupamento explícito para impedir elementos grudados */
.nav-actions .account-user-area{display:inline-flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important;margin:0!important;padding:0!important;flex:0 0 auto!important;}
.nav-actions .account-user-area .account-greeting{display:inline-flex!important;align-items:center!important;margin:0!important;padding:0!important;line-height:34px!important;}
.nav-actions .account-user-area .account-plan-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 13px!important;min-width:max-content!important;height:34px!important;border-radius:999px!important;background:var(--signal)!important;border:1px solid var(--signal)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;}
.nav-actions .account-user-area .btn-account-plans{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 14px!important;min-width:max-content!important;height:34px!important;border-radius:999px!important;background:var(--signal)!important;border:1px solid var(--signal)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;text-decoration:none!important;}
@media(max-width:900px){.nav-actions .account-user-area{gap:7px!important}.nav-actions .account-user-area .account-plan-badge,.nav-actions .account-user-area .btn-account-plans{height:32px!important;padding:0 10px!important;font-size:11px!important;}}

/* v1.6.18 — logo da área financeira: tamanho fixo mesmo quando settings.js injeta a imagem */
.finance-header .logo{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:180px!important;min-width:180px!important;max-width:180px!important;height:56px!important;min-height:56px!important;max-height:56px!important;overflow:hidden!important;flex:0 0 180px!important;}
.finance-header .logo img,.finance-header .logo .site-brand-image{display:block!important;width:auto!important;max-width:180px!important;height:auto!important;max-height:56px!important;object-fit:contain!important;}
@media(max-width:600px){.finance-header .logo{width:140px!important;min-width:140px!important;max-width:140px!important;height:44px!important;min-height:44px!important;max-height:44px!important;flex-basis:140px!important}.finance-header .logo img,.finance-header .logo .site-brand-image{max-width:140px!important;max-height:44px!important;}}

/* v1.6.52 — mobile autenticado usa somente o menu lateral da conta. */
@media(max-width:860px){
  body .site-header.has-account-drawer .nav-actions.forja-auth-nav,
  body .site-header.has-account-drawer .nav-actions,
  body .site-header.has-account-drawer .nav-links,
  body .site-header.has-account-drawer .mobile-menu-toggle{
    display:none!important;
  }
  body .site-header.has-account-drawer .drawer-toggle.show{
    display:flex!important;
  }
}


/* v1.6.54 — quando houver drawer de conta no mobile, ele é o único menu. */
@media(max-width:860px){
  html body .site-header.has-account-drawer.menu-open .nav-links,
  html body .site-header.has-account-drawer.menu-open .nav-actions,
  html body .site-header.has-account-drawer .nav-links,
  html body .site-header.has-account-drawer .nav-actions,
  html body .site-header.has-account-drawer .mobile-menu-toggle{display:none!important;}
  html body .site-header.has-account-drawer .drawer-toggle.show{display:flex!important;}
}

/* Suporte de clientes: botões visíveis e consistentes */
.plan-benefits-box button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 16px;
  margin:6px 6px 6px 0;
  border:1px solid #d7dee5;
  border-radius:10px;
  background:#fff;
  color:#17212b;
  font:inherit;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  box-sizing:border-box;
  transition:filter .15s, transform .15s, border-color .15s, background .15s;
}
.plan-benefits-box button:hover:not(:disabled){
  filter:brightness(.98);
  border-color:#e54873;
}
.plan-benefits-box button:focus-visible{
  outline:3px solid rgba(229,72,115,.25);
  outline-offset:2px;
}
.plan-benefits-box button[data-refresh],
.plan-benefits-box form button[type="submit"]{
  background:#e54873;
  border-color:#e54873;
  color:#fff;
  box-shadow:0 7px 16px rgba(229,72,115,.18);
}
.plan-benefits-box [data-list] > button{
  display:flex;
  width:100%;
  justify-content:flex-start;
  text-align:left;
  margin:8px 0;
  background:#fff;
  color:#182025;
}
.plan-benefits-box [data-close]{
  background:#fff;
  border-color:#d7dee5;
  color:#34424e;
}
.plan-benefits-box button:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.client-black-badge{display:inline-block;background:#171b24;color:#fff;border:1px solid #b6a36b;border-radius:12px;padding:3px 9px;margin:4px 8px;font-size:12px;font-weight:700}.plan-benefits-box{padding:22px;border:1px solid #ddd;border-radius:14px;margin:20px 0;background:#fff;color:#182025}.plan-benefits-box label{display:block;margin:12px 0}.plan-benefits-box input,.plan-benefits-box textarea{width:100%;padding:10px;border:1px solid #bbb;border-radius:8px;font:inherit}.plan-benefits-box button{margin:6px;padding:8px 14px;cursor:pointer}.plan-benefits-box [data-thread]{white-space:pre-wrap}.plan-benefits-box table{width:100%;border-collapse:collapse}.plan-benefits-box td,.plan-benefits-box th{padding:7px;text-align:left;border-bottom:1px solid #eee}

#site-content-editor .copy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
#site-content-editor .field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
#site-content-editor textarea{display:block;width:100%;box-sizing:border-box;min-height:86px;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;resize:vertical}
#site-content-editor .safety-fields button{align-self:flex-start}
#trainer-travel [role=switch]{appearance:none;display:inline-block;vertical-align:middle;width:46px;height:26px;min-width:46px;padding:3px;margin-right:8px;background:#707873;border:0;border-radius:20px;cursor:pointer}
#trainer-travel [role=switch]::before{content:'';display:block;width:20px;height:20px;background:white;border-radius:50%;transition:transform .15s}
#trainer-travel [role=switch]:checked{background:var(--signal)}
#trainer-travel [role=switch]:checked::before{transform:translateX(20px)}
#trainer-travel [role=switch]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
#trainer-travel [role=switch]:disabled{opacity:.5;cursor:wait}
#trainer-travel [type=date]{padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}
@media(max-width:640px){#site-content-editor .copy-fields{grid-template-columns:1fr}}
.specialty-editor{padding:18px;margin:16px 0;border:1px solid var(--line);border-radius:12px}
.specialty-editor label{display:block;margin-bottom:14px}
.specialty-editor input,.specialty-editor textarea,#new-specialty-description{display:block;width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.specialty-editor textarea{min-height:75px;resize:vertical}
.specialty-editor button{margin:4px 8px 4px 0}
.specialty-description{display:block;font-size:12px;font-weight:400;white-space:pre-line;line-height:1.5;margin-top:5px;max-width:420px}
.service-hours-notice{color:var(--ink-soft);font-size:13px;line-height:1.5;margin:10px 0 16px}
[data-panel=especialidades] .add-city-row{flex-wrap:wrap}
[data-panel=especialidades] #new-specialty-description{flex-basis:100%}

/* v1.6.230 — widget de suporte do cliente */
.client-support-widget{margin:24px 0!important;padding:0!important;overflow:hidden!important;border:1px solid #eadce5!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 36px rgba(31,42,68,.07)!important}
.client-support-widget .support-widget-head{display:flex;align-items:center;gap:14px;padding:20px 22px 16px;background:linear-gradient(135deg,#fff7fb,#fff)}
.support-widget-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fde5f0;color:#e83282;font-size:22px;font-weight:900;flex:0 0 44px}
.support-widget-copy{min-width:0;flex:1}.support-widget-eyebrow{display:block;color:#d92f78;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}.support-widget-copy h2{margin:0;font-size:20px;letter-spacing:-.02em}.support-widget-copy p{margin:4px 0 0;color:var(--ink-soft);font-size:12px}.support-refresh{border:1px solid #eadce5;background:#fff;color:#29323d;border-radius:11px;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.support-refresh:hover{border-color:#e83282;color:#e83282}
.support-priority-note{margin:0 22px 16px;padding:11px 13px;border-radius:14px;background:#f8f4ff;border:1px solid #e9defd;display:flex;gap:10px;align-items:center}.support-priority-note>span{color:#7c3aed;font-size:13px}.support-priority-note strong{display:block;font-size:12px;color:#5b21b6}.support-priority-note small{display:block;color:#746b80;font-size:11px;margin-top:2px}
.support-widget-status{min-height:18px;padding:0 22px 4px;color:var(--ink-soft);font-size:12px}.support-widget-status.error{color:#c92e55}.support-widget-status.success{color:#247b46}
.support-widget-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:14px;padding:0 22px 18px}.support-ticket-list{display:grid;gap:7px;align-content:start}.support-ticket-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #eee1e8;border-radius:14px;background:#fff;padding:11px 12px;cursor:pointer;font:inherit;transition:.15s}.support-ticket-item:hover,.support-ticket-item.active{border-color:#f1a9c8;background:#fff7fb;box-shadow:0 5px 14px rgba(232,50,130,.07)}.support-ticket-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f8e7f0;color:#df2f82;font-size:11px;flex:0 0 30px}.support-ticket-main{min-width:0;flex:1}.support-ticket-main strong,.support-ticket-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-ticket-main strong{font-size:12px;color:#1c2430}.support-ticket-main small{font-size:10px;color:var(--ink-soft);margin-top:3px}.support-ticket-arrow{color:#c4aebb;font-size:18px}.support-thread{min-height:190px;border:1px solid #eee1e8;border-radius:16px;background:#fcfbfd;padding:14px}.support-thread-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #eee5ea;padding-bottom:10px}.support-thread-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#d92f78}.support-thread h3{font-size:14px;margin:3px 0 0}.support-status-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.support-status-pill.open{background:#fff0f5;color:#d72d73}.support-status-pill.answered{background:#f1f7ff;color:#2e6da4}.support-status-pill.closed{background:#edf0f3;color:#687381}.support-messages{display:grid;gap:8px;padding-top:10px;max-height:270px;overflow:auto}.support-message{padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #eee6eb}.support-message.from-admin{background:#f7f3ff;border-color:#e9defd}.support-message-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--ink-soft)}.support-message-meta strong{color:#34404d}.support-message p{margin:5px 0 0;font-size:11px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.support-empty,.support-no-tickets,.support-error,.support-loading{min-height:150px;display:grid;place-items:center;align-content:center;text-align:center;gap:5px;color:var(--ink-soft);font-size:11px}.support-empty span,.support-no-tickets span{font-size:22px;color:#df2f82}.support-empty strong,.support-no-tickets strong,.support-error strong{font-size:12px;color:#27313d}.support-empty small,.support-no-tickets small,.support-error small{max-width:280px}.support-loading span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e83282;margin:0 2px}.support-loading span:nth-child(2){opacity:.65}.support-loading span:nth-child(3){opacity:.35}
.support-new-form{margin:0 22px 22px;padding:16px;border-radius:16px;background:#faf8fa;border:1px solid #eee3e9}.support-form-title strong{display:block;font-size:13px}.support-form-title small{display:block;color:var(--ink-soft);font-size:10px;margin-top:2px}.support-form-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px;margin-top:11px}.support-new-form label,.support-reply-form label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#384250}.support-new-form input,.support-new-form textarea,.support-reply-form textarea{width:100%;box-sizing:border-box;border:1px solid #ded4dc;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;font-size:11px;resize:vertical}.support-new-form textarea{min-height:80px}.support-form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.support-form-footer small{color:var(--ink-soft);font-size:9px}.support-form-footer .btn{min-height:36px}.support-reply-form{margin:0 22px 22px;padding:14px;border:1px solid #e7dcec;background:#faf7ff;border-radius:15px}.support-reply-form>div{display:flex;gap:8px;margin-top:8px}.support-reply-form .btn{min-height:34px;font-size:11px}
@media(max-width:760px){.client-support-widget .support-widget-head{align-items:flex-start}.support-refresh span{display:none}.support-widget-layout{grid-template-columns:1fr;padding:0 14px 14px}.support-priority-note{margin-left:14px;margin-right:14px}.support-widget-status{padding-left:14px;padding-right:14px}.support-new-form,.support-reply-form{margin-left:14px;margin-right:14px}.support-form-grid{grid-template-columns:1fr}.support-thread{min-height:160px}.support-form-footer{align-items:flex-end;flex-direction:column}.support-form-footer .btn{width:100%}}

/* 1.6.291: consistent action colors and support spacing. */
.btn-steel{background:#ff4d67;color:#23131a;border-color:#ff4d67}.btn-steel:hover{background:#ff7186;color:#23131a}
.client-support-widget .support-widget-head{gap:16px;padding:24px;flex-wrap:wrap}
.client-support-widget .support-widget-copy{flex:1;min-width:200px}.client-support-widget .support-widget-copy h2{margin:6px 0 8px;line-height:1.25}.client-support-widget .support-widget-copy p{margin:0;line-height:1.6;font-size:14px}
.client-support-widget .support-priority-note{margin-top:18px;margin-bottom:22px;padding:14px 16px;gap:12px}.support-priority-note small{margin-top:5px;line-height:1.5}
.support-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}
.support-form-grid{gap:16px;margin-top:18px}.support-form-title small{margin-top:6px;line-height:1.5}.support-form-footer{margin-top:18px;gap:16px}

