/* ==========================================================================
   Site WS Trainer — estilos específicos do produto (sobre o WS GLASS)
   ========================================================================== */

/* ---------- Cabeçalho ---------- */
.site-header {
  position: sticky; top: 0; z-index: var(--ws-z-header);
  padding: var(--ws-space-3) var(--ws-gutter) 0;
  padding-top: max(var(--ws-space-3), env(safe-area-inset-top));
}
.site-header__bar {
  display: flex; align-items: center; gap: var(--ws-space-4);
  max-width: var(--ws-container-wide); margin-inline: auto;
  min-height: 3.5rem; padding: var(--ws-space-2) var(--ws-space-2) var(--ws-space-2) var(--ws-space-4);
  border-radius: var(--ws-radius-lg);
}
.site-nav { display: none; gap: var(--ws-space-1); margin-left: var(--ws-space-4); }
.site-nav__link {
  display: inline-flex; gap: var(--ws-space-1); border: 0; background: none; font: inherit; cursor: pointer; align-items: center; min-height: 2.5rem; padding: 0 var(--ws-space-3);
  border-radius: var(--ws-radius-pill); color: var(--ws-text-2); text-decoration: none;
  font-size: var(--ws-text-sm); font-weight: var(--ws-weight-medium);
  transition: color var(--ws-dur-fast) var(--ws-ease), background-color var(--ws-dur-fast) var(--ws-ease);
}
.site-nav__link:hover { color: var(--ws-text); background: var(--ws-surface-2); }
.site-nav__link[aria-current="page"], .site-nav__link[data-active] { color: var(--ws-text); background: var(--ws-surface-3); }
.site-nav__link {
  align-items: center; min-height: 2.5rem; padding: 0 var(--ws-space-3);
  border-radius: var(--ws-radius-pill); color: var(--ws-text-2); text-decoration: none;
  font-size: var(--ws-text-sm); font-weight: var(--ws-weight-medium);
}
.site-header__actions { display: flex; align-items: center; gap: var(--ws-space-2); margin-left: auto; }
.site-hide-mobile { display: none; }

.site-menu {
  max-width: var(--ws-container-wide); margin: var(--ws-space-2) auto 0;
  padding: var(--ws-space-3); border-radius: var(--ws-radius-lg);
  display: flex; flex-direction: column; gap: var(--ws-space-3);
  animation: ws-rise var(--ws-dur) var(--ws-ease);
}
.site-menu nav { display: flex; flex-direction: column; }
.site-menu__link {
  display: flex; align-items: center; justify-content: space-between; min-height: 3rem;
  padding: 0 var(--ws-space-3); border-radius: var(--ws-radius-sm);
  text-decoration: none; font-weight: var(--ws-weight-medium);
}
.site-menu__link:hover, .site-menu__link[aria-current="page"] { background: var(--ws-surface-2); }
.site-menu__link .ws-icon { color: var(--ws-text-3); }
.site-menu__actions { display: grid; gap: var(--ws-space-2); padding-top: var(--ws-space-3); border-top: 1px solid var(--ws-border); }

@media (min-width: 1120px) {
  .site-nav { display: flex; }
  .site-hide-mobile { display: inline-flex; }
  .site-menu-toggle, .site-menu { display: none !important; }
}
.site-header__brand { flex: none; }
@media (max-width: 379px) { .site-header__brand span { display: none; } }
.site-account__label { display: none; }
@media (min-width: 720px) { .site-account__label { display: inline; } }
@media (max-width: 719px) { .site-account { width: 2.25rem; padding: 0; } }
@media (max-width: 479px) { .site-hide-sm { display: none; } }


/* ---------- Apresentação principal ---------- */
.site-hero { padding-block: clamp(2.5rem, 1rem + 6vw, 6.5rem) var(--ws-section-y); }
.site-hero__grid { display: grid; gap: var(--ws-space-10); align-items: center; grid-template-columns: minmax(0, 1fr); }
.site-hero__copy { display: flex; flex-direction: column; gap: var(--ws-space-5); min-width: 0; }
.site-hero__copy .ws-eyebrow { margin: 0; }
.site-hero__title { font-size: var(--ws-text-display); margin: 0; letter-spacing: -0.035em; }
.site-hero__actions { margin-top: var(--ws-space-2); }
.site-hero__actions .ws-btn { flex: 1 1 auto; }
@media (min-width: 520px) { .site-hero__actions .ws-btn { flex: 0 0 auto; } }

.site-hero__panel { border-radius: var(--ws-radius-xl); padding: var(--ws-space-5); box-shadow: var(--ws-highlight), var(--ws-shadow-md); }
.site-hero__panel-title { margin: 0 0 var(--ws-space-3); padding-inline: var(--ws-space-2); font-size: var(--ws-text-sm); font-weight: var(--ws-weight-semibold); color: var(--ws-text-3); }
.site-hero__services { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ws-space-1); }
.site-hero__services a {
  display: flex; align-items: center; gap: var(--ws-space-3); min-height: 3.5rem; padding: var(--ws-space-2) var(--ws-space-3);
  border-radius: var(--ws-radius-md); text-decoration: none; font-weight: var(--ws-weight-semibold);
  transition: background-color var(--ws-dur-fast) var(--ws-ease);
}
.site-hero__services a:hover { background: var(--ws-surface-2); }
.site-hero__services a:hover .ws-icon { color: var(--ws-accent-ink); transform: translateX(2px); }
.site-hero__services .ws-icon { margin-left: auto; color: var(--ws-text-3); transition: transform var(--ws-dur-fast) var(--ws-ease); }
.site-hero__services-index { font-size: var(--ws-text-xs); color: var(--ws-text-3); font-family: var(--ws-font-mono); min-width: 1.5rem; }
.site-hero__services-name { min-width: 0; }

@media (min-width: 960px) {
  .site-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr); gap: var(--ws-space-16); }
}

/* ---------- Seções ---------- */
.site-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ws-space-4); margin-bottom: var(--ws-space-6); }
.site-section-head h2 { margin: 0; }
.site-section-head .ws-eyebrow { margin-bottom: var(--ws-space-2); }

.site-page-hero { padding-block: clamp(2.5rem, 1rem + 5vw, 5rem) 0; }
.site-page-hero .ws-container { display: flex; flex-direction: column; gap: var(--ws-space-4); }
.site-page-hero h1 { margin: 0; font-size: var(--ws-text-3xl); }
.site-page-hero .ws-eyebrow { margin: 0; }
.site-page-hero .ws-lead { margin: 0; }

.site-breadcrumb { display: flex; align-items: center; gap: var(--ws-space-1); font-size: var(--ws-text-sm); color: var(--ws-text-3); }
.site-breadcrumb a { color: var(--ws-text-2); text-decoration: none; }
.site-breadcrumb a:hover { color: var(--ws-text); }

/* ---------- Sobre ---------- */
.site-about { display: grid; gap: var(--ws-space-8); align-items: center; grid-template-columns: minmax(0, 1fr); }
.site-about > * { min-width: 0; }
@media (min-width: 900px) { .site-about { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--ws-space-16); } }
.site-photo-slot {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--ws-space-2);
  aspect-ratio: 4 / 5; width: 100%; max-width: 26rem; justify-self: center;
  border-radius: var(--ws-radius-xl); border: 1.5px dashed var(--ws-border-strong);
  background: var(--ws-surface); color: var(--ws-text-3); font-size: var(--ws-text-sm);
}
.site-photo-slot--wide { aspect-ratio: 16 / 9; max-width: none; }

/* ---------- Cards de serviço ---------- */
.site-service-card { --ws-card-pad: var(--ws-space-6); min-height: 15rem; }
.site-service-card__index { font-family: var(--ws-font-mono); font-size: var(--ws-text-xs); color: var(--ws-text-3); }
.site-service-card .ws-card__title { font-size: var(--ws-text-xl); letter-spacing: -0.02em; }
.site-service-card__footer { align-items: center; justify-content: space-between; }
.site-service-card__footer .ws-btn { position: relative; z-index: 1; } /* acima do link que cobre o card */
.site-service-card__more { display: inline-flex; align-items: center; gap: var(--ws-space-1); font-size: var(--ws-text-sm); color: var(--ws-text-3); font-weight: var(--ws-weight-medium); }
.site-service-card:hover .site-service-card__more { color: var(--ws-text); }
.site-text-pending { font-style: italic; color: var(--ws-text-3) !important; }
@media (min-width: 1100px) { .site-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Chamada final ---------- */
.site-final-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ws-space-6);
  padding: clamp(1.75rem, 1rem + 3vw, 3.5rem); border-radius: var(--ws-radius-xl);
  background: radial-gradient(90% 140% at 100% 100%, rgba(0, 255, 0, 0.14) 0%, transparent 55%), #0b0b0c;
  color: #f5f5f7; border: 1px solid rgba(255, 255, 255, 0.08);
}
.site-final-cta h2 { margin: 0 0 var(--ws-space-2); color: #f5f5f7; }
.site-final-cta p { margin: 0; color: #b4b4ba; }
.site-final-cta .ws-btn { flex: 1 1 auto; }
@media (min-width: 640px) { .site-final-cta .ws-btn { flex: 0 0 auto; } }

/* ---------- Rodapé ---------- */
.site-footer { margin-top: var(--ws-section-y); border-top: 1px solid var(--ws-border); padding-block: var(--ws-space-12) calc(var(--ws-space-8) + env(safe-area-inset-bottom)); }
.site-footer__grid { display: grid; gap: var(--ws-space-8); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .site-footer__grid { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); } }
.site-footer__brand { display: flex; flex-direction: column; gap: var(--ws-space-3); }
.site-footer__brand p { margin: 0; }
.site-footer__col { display: flex; flex-direction: column; gap: var(--ws-space-1); }
.site-footer__col a { display: inline-flex; align-items: center; min-height: 2.25rem; color: var(--ws-text-2); text-decoration: none; font-size: var(--ws-text-sm); }
.site-footer__col a:hover { color: var(--ws-text); }
.site-footer__title { font-size: var(--ws-text-xs); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ws-text-3); margin: 0 0 var(--ws-space-2); font-weight: var(--ws-weight-semibold); }
.site-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ws-space-4); margin-top: var(--ws-space-10); padding-top: var(--ws-space-6); border-top: 1px solid var(--ws-border); }
.site-footer__bottom p { margin: 0; }
.site-theme { display: flex; flex-wrap: wrap; gap: var(--ws-space-1); }
.site-theme .ws-btn[aria-pressed="true"] { --_bg: var(--ws-surface-3); --_fg: var(--ws-text); }

/* ---------- WhatsApp flutuante ---------- */
.site-wa-float {
  position: fixed; z-index: var(--ws-z-header); right: max(var(--ws-space-4), env(safe-area-inset-right));
  bottom: max(var(--ws-space-4), env(safe-area-inset-bottom));
  display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%;
  background: var(--ws-green); color: #000; box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.45);
  transition: transform var(--ws-dur) var(--ws-ease);
}
.site-wa-float:hover { transform: scale(1.06); }
.site-wa-float:focus-visible { outline: 3px solid var(--ws-text); outline-offset: 3px; border-radius: 50%; }

.site-h-md { font-size: var(--ws-text-2xl); margin: 0; }


/* ==========================================================================
   Fase 2 — páginas completas do site
   ========================================================================== */
.site-h-sm { font-size: var(--ws-text-lg); margin: 0 0 var(--ws-space-3); letter-spacing: -0.01em; display: flex; align-items: center; gap: var(--ws-space-2); }
.site-section-lead { margin: calc(var(--ws-space-3) * -1) 0 var(--ws-space-6); max-width: 46rem; }
.site-breadcrumb { padding-top: var(--ws-space-6); flex-wrap: wrap; }

/* Apresentação */
.site-hero__lead { margin: 0; font-size: var(--ws-text-lg); color: var(--ws-text-2); max-width: 40rem; }
.site-hero__goals ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ws-space-2); }
.site-hero__goals li {
  display: inline-flex; align-items: center; gap: var(--ws-space-2); min-height: 2.25rem; padding: 0 var(--ws-space-3);
  border-radius: var(--ws-radius-pill); background: var(--ws-surface); border: 1px solid var(--ws-border);
  font-size: var(--ws-text-sm); font-weight: var(--ws-weight-medium); color: var(--ws-text-2);
}
.site-hero__goals li::before { content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--ws-green); }
.site-hero__title { font-size: clamp(2.1rem, 1.3rem + 3.6vw, 4.25rem); }

/* Foto */
.site-photo { margin: 0; border-radius: var(--ws-radius-xl); overflow: hidden; aspect-ratio: 4 / 5; max-width: 26rem; justify-self: center; width: 100%; background: var(--ws-surface-2); }
.site-photo--wide { aspect-ratio: 16 / 9; max-width: none; }
.site-photo__img { width: 100%; height: 100%; object-fit: cover; }
.site-about--page { align-items: center; }
@media (min-width: 900px) { .site-about--page { grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); } }

/* Texto vindo do CMS (Markdown) */
.site-prose { color: var(--ws-text-2); }
.site-prose > :first-child { margin-top: 0; }
.site-prose > :last-child { margin-bottom: 0; }
.site-prose h2 { font-size: var(--ws-text-xl); color: var(--ws-text); margin: var(--ws-space-8) 0 var(--ws-space-3); }
.site-prose h3 { font-size: var(--ws-text-lg); color: var(--ws-text); margin: var(--ws-space-6) 0 var(--ws-space-2); }
.site-prose p { margin: 0 0 var(--ws-space-4); }
.site-prose strong { color: var(--ws-text); }
.site-prose ul, .site-prose ol { margin: 0 0 var(--ws-space-4); padding-left: 1.25rem; display: grid; gap: var(--ws-space-2); }
.site-prose li::marker { color: var(--ws-accent-ink); }
.site-prose a { color: var(--ws-text); text-decoration-color: var(--ws-accent-ink); text-decoration-thickness: 2px; }
.site-prose blockquote { margin: 0 0 var(--ws-space-4); padding: var(--ws-space-3) var(--ws-space-5); border-left: 3px solid var(--ws-green); background: var(--ws-surface); border-radius: 0 var(--ws-radius-sm) var(--ws-radius-sm) 0; }
.site-prose hr { border: 0; height: 1px; background: var(--ws-border); margin: var(--ws-space-8) 0; }
.site-prose--lg { font-size: var(--ws-text-lg); line-height: 1.65; }
.site-prose--lg h2 { font-size: var(--ws-text-2xl); }

/* Como funciona: lista numerada vira cartões de etapas */
.site-steps ol { list-style: none; counter-reset: step; margin: 0; padding: 0; display: grid; gap: var(--ws-space-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .site-steps ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .site-steps ol { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.site-steps li {
  counter-increment: step; position: relative; padding: var(--ws-space-6) var(--ws-space-5) var(--ws-space-5);
  border-radius: var(--ws-radius-lg); background: var(--ws-surface); border: 1px solid var(--ws-border); color: var(--ws-text-2);
}
.site-steps li::before {
  content: counter(step, decimal-leading-zero); display: block; margin-bottom: var(--ws-space-3);
  font-family: var(--ws-font-mono); font-size: var(--ws-text-sm); color: var(--ws-accent-ink); font-weight: var(--ws-weight-semibold);
}
.site-steps li strong { display: block; color: var(--ws-text); font-size: var(--ws-text-lg); margin-bottom: var(--ws-space-1); }
.site-steps--compact ol { grid-template-columns: minmax(0, 1fr) !important; gap: var(--ws-space-2); }
.site-steps--compact li { padding: var(--ws-space-3) var(--ws-space-4) var(--ws-space-3) 3.25rem; }
.site-steps--compact li::before { position: absolute; left: var(--ws-space-4); top: var(--ws-space-3); margin: 0; }

/* Grades */
@media (min-width: 640px) { .site-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .site-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }

/* Cards */
.site-article-card__cover { margin: calc(var(--ws-space-4) * -1) calc(var(--ws-space-4) * -1) var(--ws-space-1); aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--ws-radius-md) var(--ws-radius-md) 0 0; background: var(--ws-surface-2); }
.site-article-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.site-article-card .ws-badge, .site-tool-card .ws-badge { align-self: flex-start; }
.site-article-card__meta { margin: auto 0 0; }
.site-tool-card__cat { margin-top: auto; }
.site-testimonial { margin: 0; }
.site-testimonial__media { margin: calc(var(--ws-space-6) * -1) calc(var(--ws-space-6) * -1) 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--ws-radius-lg) var(--ws-radius-lg) 0 0; }
.site-testimonial__media img { width: 100%; height: 100%; object-fit: cover; }
.site-testimonial__quote { margin: 0; font-size: var(--ws-text-lg); color: var(--ws-text); }
.site-testimonial__quote p { margin: 0; }
.site-testimonial__result { display: flex; gap: var(--ws-space-2); align-items: center; margin: 0; color: var(--ws-accent-ink); font-weight: var(--ws-weight-semibold); font-size: var(--ws-text-sm); }
.site-testimonial__name { font-weight: var(--ws-weight-semibold); color: var(--ws-text-2); }

/* FAQ */
.site-faq { display: grid; gap: var(--ws-space-2); }
.site-faq__item { border-radius: var(--ws-radius-md); border: 1px solid var(--ws-border); background: var(--ws-surface); }
.site-faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ws-space-4);
  min-height: 3.25rem; padding: var(--ws-space-3) var(--ws-space-5); cursor: pointer; list-style: none;
  font-weight: var(--ws-weight-semibold); border-radius: inherit;
}
.site-faq__item summary::-webkit-details-marker { display: none; }
.site-faq__item summary .ws-icon { flex: none; color: var(--ws-text-3); transition: transform var(--ws-dur) var(--ws-ease); }
.site-faq__item[open] summary .ws-icon { transform: rotate(45deg); color: var(--ws-accent-ink); }
.site-faq__answer { padding: 0 var(--ws-space-5) var(--ws-space-5); }

/* Chamada final e benefício */
.site-final-cta__actions { display: flex; flex-wrap: wrap; gap: var(--ws-space-3); }
.site-final-cta__actions .ws-btn { flex: 1 1 auto; }
@media (min-width: 640px) { .site-final-cta__actions .ws-btn { flex: 0 0 auto; } }
.site-final-cta__wa { --_bg: rgba(255, 255, 255, 0.06); --_fg: #f5f5f7; --_bd: rgba(255, 255, 255, 0.2); }
.site-benefit { display: flex; gap: var(--ws-space-4); align-items: flex-start; padding: var(--ws-space-6); border-radius: var(--ws-radius-lg); background: var(--ws-surface); border: 1px solid var(--ws-border); }
.site-benefit h2 { margin-top: 0; font-size: var(--ws-text-xl); }
.site-benefit__icon { display: grid; place-items: center; flex: none; width: 3rem; height: 3rem; border-radius: var(--ws-radius-md); background: var(--ws-accent-soft); color: var(--ws-accent-ink); }

/* Páginas de serviço */
.site-service-section { display: flex; flex-direction: column; gap: var(--ws-space-3); }
.site-service-section h2 { display: flex; align-items: center; gap: var(--ws-space-3); margin: 0; font-size: var(--ws-text-xl); }
.site-service-section__icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: var(--ws-radius-sm); background: var(--ws-surface-3); color: var(--ws-text); flex: none; }
.site-service-section__icon .ws-icon { width: 1.1rem; height: 1.1rem; }
.site-service-notes .site-prose { color: var(--ws-text); }
.site-service-notes strong { margin-bottom: var(--ws-space-2); }

/* Artigo */
.site-article__cat { align-self: flex-start; text-decoration: none; }
.site-article__meta { margin: 0; }
.site-article__body-wrap { padding-top: var(--ws-space-8); }
.site-article__disclaimer { border-top: 1px solid var(--ws-border); padding-top: var(--ws-space-4); margin: 0; }
.site-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--ws-space-3); }
.site-pagination > :last-child { justify-self: end; }

/* Ferramentas */
.site-tool-filters { display: flex; flex-direction: column; gap: var(--ws-space-3); }
.site-search { position: relative; max-width: 28rem; }
.site-search .ws-icon { position: absolute; left: var(--ws-space-4); top: 50%; transform: translateY(-50%); color: var(--ws-text-3); pointer-events: none; }
.site-search .ws-input { padding-left: 2.75rem; border-radius: var(--ws-radius-pill); }
.site-tools-note { max-width: 46rem; }
.site-tool-widget { --ws-card-pad: clamp(1.25rem, 0.8rem + 2vw, 2rem); }
.site-formula { background: transparent; }

/* Cronômetros */
.site-timer { display: flex; flex-direction: column; align-items: center; gap: var(--ws-space-5); width: 100%; }
.site-timer__form { width: 100%; display: flex; flex-direction: column; gap: var(--ws-space-4); }
.site-ring { --progress: 100; position: relative; width: min(17rem, 72vw); aspect-ratio: 1; }
.site-ring__svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.site-ring__track { fill: none; stroke: var(--ws-surface-3); stroke-width: 7; }
.site-ring__bar { fill: none; stroke: var(--ws-green); stroke-width: 7; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--progress)); transition: stroke-dashoffset 120ms linear, stroke var(--ws-dur) var(--ws-ease); }
.site-ring[data-state="idle"] .site-ring__bar { stroke: var(--ws-text-3); }
.site-ring[data-phase="rest"] .site-ring__bar { stroke: var(--ws-info); }
.site-ring[data-phase="prepare"] .site-ring__bar { stroke: var(--ws-warning); }
.site-ring__center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--ws-space-1); text-align: center; }
.site-ring__clock { margin: 0; font-family: var(--ws-font-display); font-size: clamp(2.75rem, 1.8rem + 5vw, 4.25rem); font-weight: var(--ws-weight-bold); letter-spacing: -0.04em; line-height: 1; }
.site-ring__status { margin: 0; font-size: var(--ws-text-sm); color: var(--ws-text-3); font-weight: var(--ws-weight-medium); }
.site-ring__phase { margin: 0; font-weight: var(--ws-weight-bold); text-transform: uppercase; letter-spacing: 0.08em; }
.site-ring[data-phase="work"] .site-ring__phase { color: var(--ws-accent-ink); }
.site-ring[data-phase="rest"] .site-ring__phase { color: var(--ws-info); }
.site-ring[data-phase="prepare"] .site-ring__phase { color: var(--ws-warning); }
.site-timer__controls { display: flex; align-items: center; justify-content: center; gap: var(--ws-space-3); flex-wrap: wrap; }
.site-timer__play { width: 4.5rem; height: 4.5rem; padding: 0; border-radius: 50%; }
.site-timer__presets { justify-content: center; flex-wrap: wrap; overflow: visible; }
.site-timer .ws-progress { width: 100%; }
.site-timer__prefs { display: flex; flex-wrap: wrap; gap: var(--ws-space-6); justify-content: center; border-top: 1px solid var(--ws-border); padding-top: var(--ws-space-4); margin-top: var(--ws-space-2); width: 100%; }
.site-timer__switch { gap: var(--ws-space-3); min-height: 2.5rem; font-size: var(--ws-text-sm); }
.site-stepper { display: flex; align-items: center; gap: var(--ws-space-2); }
.site-stepper__input { text-align: center; font-weight: var(--ws-weight-semibold); -moz-appearance: textfield; }
.site-stepper__input::-webkit-inner-spin-button, .site-stepper__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.site-stopwatch__clock { margin: var(--ws-space-4) 0 0; font-family: var(--ws-font-display); font-size: clamp(2.75rem, 1.6rem + 6vw, 4.75rem); font-weight: var(--ws-weight-bold); letter-spacing: -0.03em; }
.site-stopwatch__laps { list-style: none; margin: 0; padding: 0; width: 100%; max-width: 26rem; display: grid; gap: 2px; }
.site-stopwatch__laps li { display: grid; grid-template-columns: 1fr auto auto; gap: var(--ws-space-4); padding: var(--ws-space-2) var(--ws-space-3); border-radius: var(--ws-radius-sm); background: var(--ws-surface-2); font-size: var(--ws-text-sm); }

/* Agendamento */
.site-booking-layout { display: grid; gap: var(--ws-space-8); align-items: start; }
@media (min-width: 1000px) { .site-booking-layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.site-booking { --ws-card-pad: clamp(1.25rem, 0.8rem + 2vw, 2rem); }
.site-booking__step { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: var(--ws-space-3); }
.site-booking__step legend, .site-booking__legend { display: flex; align-items: center; gap: var(--ws-space-3); margin: 0 0 var(--ws-space-3); padding: 0; font-weight: var(--ws-weight-bold); font-size: var(--ws-text-lg); }
.site-booking__num { display: grid; place-items: center; width: 1.85rem; height: 1.85rem; border-radius: 50%; background: var(--ws-green); color: #000; font-size: var(--ws-text-sm); flex: none; }
.site-booking__options { display: grid; gap: var(--ws-space-2); }
@media (min-width: 640px) { .site-booking__options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.site-option, .site-time { position: relative; display: flex; cursor: pointer; }
.site-option input, .site-time input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.site-option span {
  flex: 1; display: flex; align-items: center; min-height: 3.25rem; padding: var(--ws-space-3) var(--ws-space-4);
  border-radius: var(--ws-radius-md); border: 1.5px solid var(--ws-border-strong); background: var(--ws-surface-solid); font-weight: var(--ws-weight-medium);
}
.site-option input:checked + span { border-color: var(--ws-focus); background: var(--ws-accent-soft); }
.site-option input:focus-visible + span, .site-time input:focus-visible + span { outline: 2px solid var(--ws-focus); outline-offset: 2px; }
.site-booking__times { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr)); gap: var(--ws-space-2); }
.site-time { flex-direction: column; }
.site-time span { display: grid; place-items: center; min-height: 3rem; border-radius: var(--ws-radius-md) var(--ws-radius-md) 0 0; border: 1.5px solid var(--ws-border-strong); border-bottom: 0; background: var(--ws-surface-solid); font-weight: var(--ws-weight-bold); font-size: var(--ws-text-lg); }
.site-time small { display: block; text-align: center; padding: 2px; border-radius: 0 0 var(--ws-radius-md) var(--ws-radius-md); border: 1.5px solid var(--ws-border-strong); border-top: 0; background: var(--ws-surface-solid); font-size: var(--ws-text-xs); color: var(--ws-text-3); }
.site-time input:checked + span, .site-time input:checked + span + small { background: var(--ws-green); color: #000; border-color: var(--ws-green); }
.site-booking__days { flex-wrap: wrap; overflow: visible; }
.site-booking__audience { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--ws-space-2); min-width: 0; }
.site-booking__audience .ws-segmented { align-self: flex-start; }
.site-booking__empty { border: 0; padding: var(--ws-space-6) 0; }
.site-booking__done { outline: none; }
.site-prep { margin: 0 0 var(--ws-space-3); padding-left: 1.1rem; display: grid; gap: var(--ws-space-2); font-size: var(--ws-text-sm); color: var(--ws-text-2); }

/* Conta WS */
.site-account-head { display: flex; align-items: center; gap: var(--ws-space-4); }
.site-avatar { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--ws-surface-inverse); color: var(--ws-text-inverse); font-weight: var(--ws-weight-bold); font-size: var(--ws-text-lg); flex: none; }

/* Ajustes da revisão visual (celular) */
@media (max-width: 429px) {
  .site-header { padding-inline: var(--ws-space-3); }
  .site-header__bar { gap: var(--ws-space-2); padding-left: var(--ws-space-3); }
  .site-header__brand span { display: none; }
  .site-header__actions { gap: var(--ws-space-1); }
}
.site-header__cta { padding-inline: var(--ws-space-3); }
.site-footer__contacts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ws-space-1); }
.site-footer__contacts a { display: inline-flex; align-items: center; gap: var(--ws-space-2); min-height: 2.25rem; color: var(--ws-text-2); text-decoration: none; font-size: var(--ws-text-sm); word-break: break-word; }
.site-footer__contacts a:hover { color: var(--ws-text); }
.site-footer__contacts .ws-icon { flex: none; color: var(--ws-accent-ink); }
/* Artigos: uma coluna até haver largura para leitura confortável */
@media (max-width: 639px) {
  .site-grid-articles, .site-article-card { grid-column: 1 / -1; }
  .ws-grid:has(> .site-article-card) { grid-template-columns: minmax(0, 1fr); }
}
.site-article-card .ws-badge, .site-tool-card .ws-badge { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; line-height: 1.5rem; }

/* ==========================================================================
   Refino 0.9.0 — identidade escura premium
   Base preta, branco para leitura, cinzas para hierarquia e o verde #00FF00
   somente em ações principais, estados ativos e indicadores.
   Heróis sempre escuros (texto branco sobre foto ou composição da marca),
   inclusive no tema claro, para manter o contraste.
   ========================================================================== */
body.site { background: var(--ws-bg); background-image: var(--ws-bg-gradient); background-attachment: fixed; }
.site-muted { color: var(--ws-text-3); }
.site-show-sm { display: none; }
@media (max-width: 479px) { .site-show-sm { display: inline; } }
.site-h-lg { font-size: var(--ws-text-3xl); letter-spacing: -0.03em; margin: 0; }
.site-link-button { background: none; border: 0; padding: 0; font: inherit; color: var(--ws-text); text-decoration: underline; text-decoration-color: var(--ws-accent-ink); cursor: pointer; }
.site-back { align-self: flex-start; }

/* ---------- Cabeçalho: vidro escuro discreto ---------- */
.site-header__bar {
  background: color-mix(in srgb, var(--ws-surface-solid) 92%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid var(--ws-border); box-shadow: var(--ws-highlight), var(--ws-shadow-sm);
}
.site-nav__link[aria-current="page"] { color: var(--ws-text); background: var(--ws-surface-3); box-shadow: inset 0 -2px 0 var(--ws-green); }
.site-menu { background: var(--ws-surface-solid); border: 1px solid var(--ws-border); box-shadow: var(--ws-shadow-lg); }
.site-header__cta { white-space: nowrap; }

/* ---------- Composição da marca (fundo dos heróis sem foto) ---------- */
.is-brand {
  background-color: #050505;
  background-image:
    radial-gradient(60% 70% at 85% 10%, rgba(0, 255, 0, 0.14), transparent 60%),
    radial-gradient(45% 60% at 0% 100%, rgba(0, 255, 0, 0.06), transparent 65%),
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: auto, auto, 64px 64px, 64px 64px;
}

/* ---------- Herói da página inicial ---------- */
.site-hero {
  position: relative; isolation: isolate; overflow: hidden; color: #f5f5f7;
  margin-top: calc(-1 * (3.5rem + var(--ws-space-3) * 2)); padding-top: calc(3.5rem + var(--ws-space-3) * 2 + clamp(2.5rem, 1rem + 6vw, 6rem));
  padding-bottom: clamp(3rem, 1.5rem + 5vw, 6rem); min-height: min(88vh, 54rem); display: flex; align-items: center;
}
.site-hero.is-brand::after, .site-hero-page.is-brand::after {
  content: ""; position: absolute; z-index: -1; right: -4%; bottom: -12%; width: min(52vw, 40rem); aspect-ratio: 48 / 28;
  background: url("/assets/icons/ws-logo.svg") center / contain no-repeat; opacity: 0.06; pointer-events: none;
}
.site-hero__bg, .site-hero-page__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.site-hero__shade, .site-hero-page__shade { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.site-hero.has-media .site-hero__shade, .site-hero-page.has-media .site-hero-page__shade {
  background: linear-gradient(90deg, rgba(5, 5, 5, 0.92) 0%, rgba(5, 5, 5, 0.72) 45%, rgba(5, 5, 5, 0.35) 100%), linear-gradient(0deg, rgba(5, 5, 5, 0.85), transparent 45%);
}
.site-hero .ws-container { width: 100%; }
.site-hero__eyebrow, .site-hero-page__eyebrow { color: var(--ws-green); }
.site-hero__title { color: #fff; max-width: 15ch; text-wrap: balance; }
.site-hero__lead { color: #c9c9cf; font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem); }
.site-hero__actions { display: flex; flex-wrap: wrap; gap: var(--ws-space-3); }
.site-hero .ws-btn--secondary, .site-hero-page .ws-btn--secondary { --_bg: rgba(255, 255, 255, 0.08); --_fg: #f5f5f7; --_bd: rgba(255, 255, 255, 0.22); }
.site-hero__goals li { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.14); color: #d8d8dd; }
.site-hero__panel {
  background: rgba(14, 14, 16, 0.72); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1); color: #f5f5f7;
}
.site-hero__panel-title { color: #8e8e95; }
.site-hero__services a { color: #f5f5f7; }
.site-hero__services a:hover { background: rgba(255, 255, 255, 0.06); }
.site-hero__services-name { display: flex; flex-direction: column; }
.site-hero__services-name small { color: #8e8e95; font-size: var(--ws-text-xs); font-weight: var(--ws-weight-regular); }

/* ---------- Herói das páginas internas ---------- */
.site-hero-page {
  position: relative; isolation: isolate; overflow: hidden; color: #f5f5f7;
  margin-top: calc(-1 * (3.5rem + var(--ws-space-3) * 2)); padding-top: calc(3.5rem + var(--ws-space-3) * 2 + clamp(2.5rem, 1rem + 5vw, 5rem));
  padding-bottom: clamp(2.5rem, 1rem + 4vw, 4.5rem); border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.site-hero-page--lg { min-height: min(70vh, 40rem); display: flex; align-items: flex-end; }
.site-hero-page--lg .ws-container { width: 100%; }
.site-hero-page__inner { display: flex; flex-direction: column; gap: var(--ws-space-4); }
.site-hero-page__eyebrow { margin: 0; }
.site-hero-page__title { margin: 0; color: #fff; font-size: clamp(2rem, 1.3rem + 3vw, 3.75rem); letter-spacing: -0.035em; max-width: 20ch; text-wrap: balance; }
.site-hero-page__lead { margin: 0; color: #c9c9cf; font-size: clamp(1.02rem, 0.95rem + 0.35vw, 1.2rem); max-width: 44rem; }
.site-hero-page__price { margin: 0; font-size: var(--ws-text-xl); font-weight: var(--ws-weight-semibold); color: #fff; }
.site-hero-page__actions { display: flex; flex-wrap: wrap; gap: var(--ws-space-3); margin-top: var(--ws-space-2); }
.site-breadcrumb { position: relative; z-index: 1; }
.site-hero-page ~ * .site-breadcrumb, main > .site-breadcrumb { color: var(--ws-text-3); }
main > .site-breadcrumb + .site-hero-page, main > .site-breadcrumb + .site-hero { margin-top: 0; padding-top: clamp(2rem, 1rem + 3vw, 3.5rem); }
@media (max-width: 519px) { .site-hero__actions .ws-btn, .site-hero-page__actions .ws-btn { flex: 1 1 100%; } }

/* ---------- Faixas alternadas entre seções ---------- */
.site-band { background: color-mix(in srgb, var(--ws-surface-solid) 55%, transparent); border-block: 1px solid var(--ws-border); }
.site-empty { border: 1px dashed var(--ws-border-strong); border-radius: var(--ws-radius-lg); padding: var(--ws-space-10) var(--ws-space-6); }

/* ---------- Cards de serviço ---------- */
.site-services-grid { display: grid; gap: var(--ws-space-5); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 680px) { .site-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .site-services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .site-services-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.site-service-card {
  position: relative; display: flex; flex-direction: column; min-height: 0; overflow: hidden; padding: 0;
  background: var(--ws-surface-solid); border: 1px solid var(--ws-border); border-radius: var(--ws-radius-lg);
  transition: transform var(--ws-dur) var(--ws-ease), border-color var(--ws-dur) var(--ws-ease), box-shadow var(--ws-dur) var(--ws-ease);
}
.site-service-card:hover { transform: translateY(-3px); border-color: var(--ws-border-strong); box-shadow: var(--ws-shadow-md); }
.site-service-card__media { position: relative; aspect-ratio: 16 / 10; background-color: #0b0b0c; overflow: hidden; }
.site-service-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--ws-dur-slow) var(--ws-ease); }
.site-service-card:hover .site-service-card__img { transform: scale(1.04); }
.site-service-card__media.is-brand { background-size: auto, auto, 32px 32px, 32px 32px; }
.site-service-card__index { position: absolute; left: var(--ws-space-4); bottom: var(--ws-space-3); font-size: var(--ws-text-xs); color: #f5f5f7; background: rgba(5, 5, 5, 0.6); padding: 0.15rem 0.5rem; border-radius: var(--ws-radius-pill); }
.site-service-card__body { display: flex; flex-direction: column; gap: var(--ws-space-2); padding: var(--ws-space-5) var(--ws-space-5) 0; flex: 1; }
.site-service-card__title { margin: 0; font-size: var(--ws-text-xl); letter-spacing: -0.02em; }
.site-service-card__benefit { margin: 0; color: var(--ws-text); font-weight: var(--ws-weight-medium); font-size: var(--ws-text-sm); }
.site-service-card__text { margin: 0; color: var(--ws-text-2); font-size: var(--ws-text-sm); }
.site-service-card__price { margin: auto 0 0; padding-top: var(--ws-space-3); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--ws-space-2); }
.site-service-card__price strong { font-size: var(--ws-text-2xl); color: var(--ws-text); letter-spacing: -0.02em; }
.site-service-card__from, .site-service-card__unit { font-size: var(--ws-text-xs); color: var(--ws-text-3); }
.site-service-card__from { flex-basis: 100%; text-transform: uppercase; letter-spacing: 0.08em; }
.site-service-card__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ws-space-3); padding: var(--ws-space-4) var(--ws-space-5) var(--ws-space-5); }
.site-service-card__footer .ws-btn { position: relative; z-index: 1; }
.site-service-card__more { position: relative; z-index: 1; color: var(--ws-text-2); font-size: var(--ws-text-sm); text-decoration: none; }
.site-service-card__more:hover { color: var(--ws-text); }

/* ---------- Como funciona por modalidade ---------- */
.site-flows { display: grid; gap: var(--ws-space-4); margin-top: var(--ws-space-8); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .site-flows { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.site-flow { padding: var(--ws-space-5); border-radius: var(--ws-radius-lg); border: 1px solid var(--ws-border); background: var(--ws-surface-solid); display: flex; flex-direction: column; gap: var(--ws-space-2); }
.site-flow h3 { margin: 0; font-size: var(--ws-text-lg); display: flex; align-items: center; gap: var(--ws-space-2); }
.site-flow h3 .ws-icon { color: var(--ws-accent-ink); }
.site-flow p { margin: 0; color: var(--ws-text-2); font-size: var(--ws-text-sm); }
.site-flow a { margin-top: auto; color: var(--ws-text); font-size: var(--ws-text-sm); font-weight: var(--ws-weight-medium); text-decoration-color: var(--ws-accent-ink); }

/* ---------- Planos e preços ---------- */
.site-plans { display: grid; gap: var(--ws-space-6); }
.site-plans__title { margin: 0 0 var(--ws-space-3); font-size: var(--ws-text-sm); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ws-text-3); }
.site-plans__grid { display: grid; gap: var(--ws-space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.site-plan { display: flex; flex-direction: column; gap: var(--ws-space-2); padding: var(--ws-space-5); border-radius: var(--ws-radius-lg); background: var(--ws-surface-solid); border: 1px solid var(--ws-border); }
.site-plan:hover { border-color: var(--ws-accent-border); }
.site-plan__name { margin: 0; font-weight: var(--ws-weight-semibold); }
.site-plan__price { margin: 0 0 var(--ws-space-2); color: var(--ws-text-3); font-size: var(--ws-text-sm); }
.site-plan__price strong { display: block; font-size: var(--ws-text-2xl); color: var(--ws-text); letter-spacing: -0.02em; }
.site-plan__note { margin: 0; color: var(--ws-text-2); font-size: var(--ws-text-sm); }
.site-plan .ws-btn { margin-top: auto; }
.site-plans__foot { margin: 0; color: var(--ws-text-3); font-size: var(--ws-text-sm); }
.site-price-block { display: grid; gap: var(--ws-space-4); padding-bottom: var(--ws-space-6); border-bottom: 1px solid var(--ws-border); }
.site-price-block:last-of-type { border-bottom: 0; }
.site-price-block__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ws-space-3); }
.site-price-block__head h3 { margin: 0; font-size: var(--ws-text-xl); }

/* ---------- Comparação entre serviços ---------- */
.site-compare-wrap { border-radius: var(--ws-radius-lg); border: 1px solid var(--ws-border); background: var(--ws-surface-solid); }
.site-compare { width: 100%; min-width: 44rem; border-collapse: collapse; font-size: var(--ws-text-sm); }
.site-compare th, .site-compare td { text-align: left; vertical-align: top; padding: var(--ws-space-4); border-bottom: 1px solid var(--ws-border); }
.site-compare thead th { font-size: var(--ws-text-md); color: var(--ws-text); }
.site-compare thead a { color: inherit; text-decoration: none; }
.site-compare thead a:hover { text-decoration: underline; text-decoration-color: var(--ws-accent-ink); }
.site-compare tbody th { color: var(--ws-text-3); font-weight: var(--ws-weight-medium); width: 14%; }
.site-compare td { color: var(--ws-text-2); }
.site-compare__price td { color: var(--ws-text); font-weight: var(--ws-weight-semibold); }
.site-compare tr:last-child > * { border-bottom: 0; }

/* ---------- Página de serviço: conteúdo + resumo fixo ---------- */
.site-service-layout { display: grid; gap: var(--ws-space-10); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1040px) { .site-service-layout { grid-template-columns: minmax(0, 1fr) 20rem; gap: var(--ws-space-12); } }
.site-service-aside { min-width: 0; }
.site-aside-card { position: sticky; top: 6rem; display: grid; gap: var(--ws-space-3); padding: var(--ws-space-6); border-radius: var(--ws-radius-xl); background: var(--ws-surface-solid); border: 1px solid var(--ws-border); box-shadow: var(--ws-shadow-md); }
.site-aside-card__label { margin: 0; font-size: var(--ws-text-xs); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ws-text-3); }
.site-aside-card__price { margin: 0 0 var(--ws-space-2); font-size: var(--ws-text-xl); font-weight: var(--ws-weight-semibold); }
.site-value { padding-left: var(--ws-space-5); border-left: 3px solid var(--ws-green); }
.site-note-card { padding: var(--ws-space-5); border-radius: var(--ws-radius-lg); background: var(--ws-surface-solid); border: 1px solid var(--ws-border); display: flex; flex-direction: column; gap: var(--ws-space-2); }
.site-note-card .ws-badge { align-self: flex-start; }
.site-note-card .site-h-sm { margin: 0; }
.site-note-card .site-h-sm .ws-icon { color: var(--ws-accent-ink); }

/* ---------- Grades ---------- */
.site-grid-2, .site-grid-3, .site-grid-5, .site-grid-articles, .site-grid-tools { display: grid; gap: var(--ws-space-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .site-grid-2, .site-grid-3, .site-grid-5, .site-grid-articles, .site-grid-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .site-grid-3, .site-grid-articles, .site-grid-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); } .site-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .site-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } .site-grid-tools { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.site-tool-card, .site-article-card { background: var(--ws-surface-solid); border-color: var(--ws-border); }
.site-tool-card .ws-card__icon { color: var(--ws-accent-ink); }
.site-tool-card:hover, .site-article-card:hover { border-color: var(--ws-border-strong); }
.site-tool-card[hidden] { display: none; }

/* ---------- Filtros, busca e chips ---------- */
.site-filter-bar { display: flex; flex-wrap: wrap; gap: var(--ws-space-3); align-items: center; }
.site-filter-bar .site-search { flex: 1 1 18rem; max-width: 34rem; }
.site-chips-scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--ws-space-1); scrollbar-width: thin; }
.site-chips-scroll .ws-chip { flex: none; }
.ws-chip[aria-current="page"], .ws-chip[aria-pressed="true"] { background: var(--ws-green); color: var(--ws-on-green); border-color: var(--ws-green); }
.site-segmented { display: inline-flex; gap: var(--ws-space-1); padding: var(--ws-space-1); border-radius: var(--ws-radius-pill); background: var(--ws-surface-2); border: 1px solid var(--ws-border); }
.site-segmented a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0 var(--ws-space-4); border-radius: var(--ws-radius-pill); color: var(--ws-text-2); text-decoration: none; font-size: var(--ws-text-sm); font-weight: var(--ws-weight-medium); white-space: nowrap; }
.site-segmented a:hover { color: var(--ws-text); background: var(--ws-surface-3); }
.site-tool-area { scroll-margin-top: 6rem; }
.site-tool-open { scroll-margin-top: 5rem; }
.site-tool-widget { padding: clamp(1.25rem, 0.8rem + 2vw, 2rem); border-radius: var(--ws-radius-xl); background: var(--ws-surface-solid); border: 1px solid var(--ws-accent-border); box-shadow: 0 0 0 1px rgba(0, 255, 0, 0.04), var(--ws-shadow-md); }

/* ---------- Galeria e foto ampliada ---------- */
.site-gallery { columns: 1; column-gap: var(--ws-space-4); }
@media (min-width: 600px) { .site-gallery { columns: 2; } }
@media (min-width: 1000px) { .site-gallery { columns: 3; } }
.site-gallery--strip { columns: auto; display: grid; gap: var(--ws-space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.site-gallery__item { break-inside: avoid; margin: 0 0 var(--ws-space-4); border-radius: var(--ws-radius-lg); overflow: hidden; background: var(--ws-surface-solid); border: 1px solid var(--ws-border); }
.site-gallery--strip .site-gallery__item { margin: 0; }
.site-gallery__link { display: block; overflow: hidden; }
.site-gallery__img { width: 100%; height: auto; display: block; transition: transform var(--ws-dur-slow) var(--ws-ease); }
.site-gallery__link:hover .site-gallery__img { transform: scale(1.03); }
.site-gallery__caption { display: grid; gap: 2px; padding: var(--ws-space-3) var(--ws-space-4); font-size: var(--ws-text-sm); }
.site-gallery__caption span { color: var(--ws-text-3); }
.site-lightbox { max-width: min(96vw, 72rem); max-height: 94vh; padding: 0; border: 1px solid var(--ws-border); border-radius: var(--ws-radius-lg); background: #050505; color: #f5f5f7; }
.site-lightbox::backdrop { background: rgba(0, 0, 0, 0.85); }
.site-lightbox__img { display: block; max-width: 100%; max-height: 82vh; margin: 0 auto; object-fit: contain; }
.site-lightbox__caption { margin: 0; padding: var(--ws-space-3) var(--ws-space-4); font-size: var(--ws-text-sm); color: #c9c9cf; }
.site-lightbox__close { position: absolute; top: var(--ws-space-2); right: var(--ws-space-2); }

/* ---------- Foto profissional (reservada até o envio) ---------- */
.site-photo-slot { background: #050505; border: 1px solid var(--ws-border); color: #8e8e95; }
.site-photo-slot img { opacity: 0.5; }
.site-about .site-photo { box-shadow: var(--ws-shadow-lg); }

/* ---------- Chamada final ---------- */
.site-final-cta { background-color: #050505; border: 1px solid rgba(255, 255, 255, 0.08); }

/* ---------- Rodapé ---------- */
.site-footer { background: color-mix(in srgb, var(--ws-surface-solid) 40%, transparent); }
.site-footer__about { color: var(--ws-text-3); margin: 0; }
.site-footer__bottom p { color: var(--ws-text-3); }

/* ---------- Artigo ---------- */
.site-article__hero { border-bottom: 0; }
.site-article__title { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.1rem); max-width: none; }
.site-article__meta { margin: 0; color: #a1a1a8; }
.site-article__cat { align-self: flex-start; }

/* ---------- Impressão (resultado das ferramentas) ---------- */
@media print {
  .site-header, .site-footer, .site-wa-float, .site-hero-page, [data-tool-filter], .site-back, .site-final-cta, .site-breadcrumb { display: none !important; }
  body.site { background: #fff; color: #000; }
  .site-tool-widget { border: 1px solid #999; box-shadow: none; }
}
@media (max-width: 30rem) {
  .site-segmented { display: flex; width: 100%; }
  .site-segmented a { flex: 1 1 0; justify-content: center; padding: 0 var(--ws-space-2); white-space: normal; text-align: center; line-height: 1.2; font-size: var(--ws-text-xs); }
}
.site-service-card__mark { position: absolute; inset: 0; display: grid; place-items: center; color: var(--ws-green); }
.site-service-card__mark .ws-icon { width: 3.5rem; height: 3.5rem; opacity: 0.9; filter: drop-shadow(0 0 24px rgba(0, 255, 0, 0.35)); }
