/* Controles públicos incrementais; não é carregado nos painéis administrativos. */
.sf-global-controls {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  flex: 0 0 auto;
}

.sf-global-language,
.sf-global-theme {
  display: inline-grid;
  place-items: center;
  min-width: 32px;
  height: 30px;
  border: 1px solid rgba(8, 190, 210, .45);
  border-radius: 3px;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: 800 10px/1 Arial, Helvetica, sans-serif;
  letter-spacing: .06em;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.sf-global-language:hover,
.sf-global-language:focus-visible,
.sf-global-language.is-active,
.sf-global-theme:hover,
.sf-global-theme:focus-visible {
  border-color: #08bed2;
  color: #fffdf6;
  background: #08bed2;
  transform: translateY(-1px);
}

.sf-global-language + .sf-global-language { margin-left: -5px; }

#sf-whatsapp-float {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 9000;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 2px solid rgba(255, 255, 255, .88);
  border-radius: 50%;
  color: #fff;
  background: #20b85a;
  box-shadow: 0 10px 26px rgba(0, 38, 74, .25);
  text-decoration: none;
  transition: transform 180ms cubic-bezier(.23,1,.32,1), box-shadow 180ms ease, background 180ms ease;
}

#sf-whatsapp-float svg { width: 31px; height: 31px; display: block; }
#sf-whatsapp-float svg .wa-bubble { fill: #fff; }
#sf-whatsapp-float svg .wa-phone { fill: #20b85a; }

#sf-whatsapp-float:hover,
#sf-whatsapp-float:focus-visible {
  color: #fff;
  background: #159a49;
  box-shadow: 0 14px 32px rgba(0, 38, 74, .32);
  transform: translateY(-4px) scale(1.04);
}

@media (max-width: 640px) {
  .sf-global-controls { gap: 4px; }
  .sf-global-language,
  .sf-global-theme { min-width: 29px; height: 28px; }
  #sf-whatsapp-float { left: 15px; bottom: 15px; width: 49px; height: 49px; }
}

/* Cabeçalho único das páginas estáticas públicas (Clientes e Depoimentos). */
.sf-public-header {
  min-height: 104px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px clamp(22px, 4vw, 52px);
  border-bottom: 1px solid rgba(0, 28, 62, .15);
  background: #fff3dd;
}
.sf-public-header .sf-public-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.sf-public-header .sf-public-brand img { display: block; width: 190px; max-height: 58px; object-fit: contain; }
.sf-public-header .sf-global-controls { margin-left: 0; }
.sf-public-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: clamp(12px, 1.5vw, 25px); margin-left: auto; }
.sf-public-nav a { color: #001c3e; font: 700 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .025em; text-decoration: none; white-space: nowrap; }
.sf-public-nav a:hover, .sf-public-nav a:focus-visible { color: #087e91; }
.sf-public-nav .sf-public-cta { padding: 13px 16px; color: #fff3dd; background: #001c3e; }
.sf-public-nav .sf-public-cta:hover, .sf-public-nav .sf-public-cta:focus-visible { color: #fff; background: #087e91; }
html.dark .sf-public-header { border-color: #345269; background: #0b2536; }
html.dark .sf-public-nav a { color: #f1eee5; }
html.dark .sf-public-nav .sf-public-cta { color: #071d2e; background: #8de5e9; }
@media (max-width: 980px) and (min-width: 641px) {
  .sf-public-header { gap: 12px; padding-inline: 22px; }
  .sf-public-header .sf-public-brand img { width: 165px; }
  .sf-public-nav { gap: 10px; }
  .sf-public-nav a { font-size: 10px; }
}
@media (max-width: 640px) {
  .sf-public-header { min-height: 86px; align-items: flex-start; flex-wrap: wrap; gap: 10px 14px; padding: 13px 18px 15px; }
  .sf-public-header .sf-public-brand img { width: 170px; max-height: 52px; }
  .sf-public-nav { order: 3; width: 100%; justify-content: flex-start; gap: 12px 16px; padding-top: 7px; border-top: 1px solid rgba(0, 28, 62, .13); }
  .sf-public-nav a { font-size: 10px; }
  .sf-public-nav .sf-public-cta { padding: 9px 11px; }
  html.dark .sf-public-nav { border-color: #345269; }
}

/* Tema escuro das páginas públicas de Clientes e Depoimentos. */
html.dark body:has(.clients-header) { background: #071d2e; color: #e8f2ef; }
html.dark .clients-header { color: #e8f2ef; background: #0b2536; border-color: #315968; }
html.dark .clients-header .brand img { filter: brightness(0) invert(1) sepia(.15) saturate(.6); }
html.dark .portfolio { background: #071d2e; }
html.dark .portfolio h2 { color: #f1eee5; }
html.dark .portfolio-intro,
html.dark .client-card-description { color: #afc4ca; }
html.dark .client-card,
html.dark .client-card-footer { color: #f1eee5; background: #0d2a3e; border-color: #345269; }
html.dark .client-card-visual { background: #163b50; border-color: #345269; }
html.dark .client-filter-select { color: #f1eee5; background-color: #0d2a3e; border-color: #557482; }
html.dark .empty-state { color: #f1eee5; background: #0d2a3e; border-color: #557482; }
html.dark .empty-state h3 { color: #c5d9dd; }
html.dark .client-links-dialog { color: #f1eee5; background: #0d2a3e; }
html.dark .client-links-dialog p,
html.dark .client-testimonials-status,
html.dark .client-testimonials-review-date,
html.dark .client-testimonials-privacy-note { color: #afc4ca; }
html.dark .client-testimonials-modal-review { background: #123349; border-color: #08bed2; }
html.dark .client-testimonials-review-text,
html.dark .client-testimonials-modal-heading { color: #f1eee5; }
html.dark .client-links-close { color: #f1eee5; border-color: #557482; }

html.dark .testimonials-page { --sf-ivory: #071d2e; --sf-paper: #0d2a3e; --sf-navy: #f1eee5; --sf-muted: #afc4ca; --sf-line: #345269; color: #f1eee5; background: #071d2e; }
html.dark .testimonials-content h2,
html.dark .testimonials-card blockquote,
html.dark .testimonials-card footer strong,
html.dark .testimonials-filter-button { color: #f1eee5; }
html.dark .testimonials-card,
html.dark .testimonials-empty,
html.dark .testimonials-error { color: #f1eee5; background: #0d2a3e; border-color: #345269; }
html.dark .testimonials-category-filter select { color: #f1eee5; background: #0d2a3e; border-color: #557482; }
html.dark .testimonials-section-note,
html.dark .testimonials-status,
html.dark .testimonials-card footer,
html.dark .testimonials-empty p,
html.dark .testimonials-error p { color: #afc4ca; }

@media (prefers-reduced-motion: reduce) {
  .sf-global-controls *, #sf-whatsapp-float { transition-duration: .01ms !important; } } /* Restaura o destaque de hover do arquivo de artigos sem alterar os cards da home. */ .articles-catalog .catalog-card:not(.featured) { isolation: isolate; transition: background-color .22s ease, color .22s ease, transform .22s cubic-bezier(.23, 1, .32, 1), box-shadow .22s ease; } .articles-catalog .catalog-card:not(.featured) .catalog-image { position: relative; z-index: 0; transition: filter .24s ease, transform .24s ease; } .articles-catalog .catalog-card:not(.featured)::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; background: linear-gradient(90deg, rgba(0, 28, 62, .52), rgba(0, 32, 64, .24)); transition: opacity .24s ease; } .articles-catalog .catalog-card:not(.featured) .catalog-number, .articles-catalog .catalog-card:not(.featured) .catalog-content { position: relative; z-index: 2; } .articles-catalog .catalog-card:not(.featured):hover, .articles-catalog .catalog-card:not(.featured):focus-within { color: #fff3dd; background: #001c3e; border-color: #08c3d1; box-shadow: 0 18px 38px rgba(0, 28, 62, .22); transform: translateY(-5px); } .articles-catalog .catalog-card:not(.featured):hover::after, .articles-catalog .catalog-card:not(.featured):focus-within::after { opacity: 1; } .articles-catalog .catalog-card:not(.featured):hover .catalog-image, .articles-catalog .catalog-card:not(.featured):focus-within .catalog-image { filter: blur(4px) saturate(1.12) brightness(.72); transform: scale(1.035); } .articles-catalog .catalog-card:not(.featured):hover .catalog-meta, .articles-catalog .catalog-card:not(.featured):focus-within .catalog-meta { color: #08c3d1; } .articles-catalog .catalog-card:not(.featured):hover h2, .articles-catalog .catalog-card:not(.featured):focus-within h2, .articles-catalog .catalog-card:not(.featured):hover .text-link, .articles-catalog .catalog-card:not(.featured):focus-within .text-link { color: #fff3dd; } .articles-catalog .catalog-card:not(.featured):hover p, .articles-catalog .catalog-card:not(.featured):focus-within p { color: #d8f7f8; } @media (prefers-reduced-motion: reduce) { .articles-catalog .catalog-card:not(.featured), .articles-catalog .catalog-card:not(.featured) .catalog-image, .articles-catalog .catalog-card:not(.featured)::after { transition: none; } } @media (prefers-reduced-motion: reduce) {
}
