/*
Theme Name: Binga Host
Theme URI: https://bingahost.com
Author: Alberto Domingos Basílio — Infomidia
Author URI: https://basilio.infomidia.co.mz
Description: Tema à medida para o Binga Host. Design moderno com elementos 3D interactivos inspirados no Monte Binga, planos de alojamento geríveis pelo painel, pesquisa de domínios ligada ao WHMCS, FAQ, testemunhos e formulários sem plugins. Todos os textos, cores e imagens são editáveis no Personalizador.
Version: 1.4.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bingahost
Tags: hosting, business, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root{
  --bh-navy:#06183A;
  --bh-navy-2:#0B2350;
  --bh-blue:#1257C9;
  --bh-sky:#4FA8FF;
  --bh-ice:#EDF3FD;
  --bh-gold:#F5B342;

  --bh-text:#16233D;
  --bh-muted:#5B6B87;
  --bh-line:rgba(18,87,201,.14);
  --bh-white:#FFFFFF;

  --bh-radius:18px;
  --bh-radius-sm:10px;
  --bh-shadow:0 18px 46px -22px rgba(6,24,58,.45);
  --bh-shadow-lift:0 34px 70px -28px rgba(6,24,58,.55);

  --bh-display:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bh-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;

  --bh-wrap:1180px;
  --bh-gap:clamp(28px,5vw,56px);
  --bh-section:clamp(64px,8vw,112px);
}

/* ==========================================================================
   2. Base
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  font-family:var(--bh-body);
  font-size:17px;
  line-height:1.65;
  color:var(--bh-text);
  background:var(--bh-white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--bh-display);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.02em;
  color:var(--bh-navy);
  margin:0 0 .5em;
}

h1{font-size:clamp(2.3rem,5.2vw,3.9rem)}
h2{font-size:clamp(1.85rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
h4{font-size:1.12rem}

p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}

a{color:var(--bh-blue);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--bh-navy)}

img{max-width:100%;height:auto;display:block}

ul,ol{margin:0 0 1.15em;padding-left:1.2em}

blockquote{
  margin:1.6em 0;padding:1.1em 1.4em;
  border-left:3px solid var(--bh-gold);
  background:var(--bh-ice);border-radius:0 var(--bh-radius-sm) var(--bh-radius-sm) 0;
}

code,pre{font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:.92em}
pre{background:var(--bh-navy);color:#DCE8FF;padding:1.2em;border-radius:var(--bh-radius-sm);overflow:auto}

hr{border:0;height:1px;background:var(--bh-line);margin:2.4em 0}

:focus-visible{outline:3px solid var(--bh-gold);outline-offset:3px;border-radius:4px}

.bh-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--bh-navy);color:#fff;padding:14px 20px;border-radius:0 0 8px 0;
}
.bh-skip:focus{left:0;color:#fff}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

/* ==========================================================================
   3. Layout
   ========================================================================== */

.bh-wrap{width:min(100% - 40px,var(--bh-wrap));margin-inline:auto}
.bh-wrap--narrow{width:min(100% - 40px,820px);margin-inline:auto}

.bh-section{padding-block:var(--bh-section)}
.bh-section--tight{padding-block:clamp(46px,6vw,74px)}
.bh-section--ice{background:var(--bh-ice)}
.bh-section--dark{background:var(--bh-navy);color:#C9D8F2}
.bh-section--dark h2,.bh-section--dark h3,.bh-section--dark h4{color:#fff}

.bh-head{max-width:660px;margin-bottom:clamp(32px,4vw,52px)}
.bh-head--center{margin-inline:auto;text-align:center}
.bh-head p{color:var(--bh-muted);font-size:1.05rem;margin-top:.6em}
.bh-section--dark .bh-head p{color:#9FB4D8}

.bh-grid{display:grid;gap:26px}
.bh-grid--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.bh-grid--3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.bh-grid--4{grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}

/* Ridgeline divider — o motivo do Monte Binga */
.bh-ridge{display:block;width:100%;height:auto;margin-bottom:-1px}
.bh-ridge path{fill:currentColor}

/* ==========================================================================
   4. Botões
   ========================================================================== */

.bh-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--bh-display);font-weight:600;font-size:.98rem;
  padding:15px 28px;border-radius:100px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .16s ease,box-shadow .22s ease,background .2s ease,color .2s ease,border-color .2s ease;
  text-align:center;line-height:1.2;
}
.bh-btn:active{transform:translateY(1px)}

.bh-btn--primary{background:var(--bh-blue);color:#fff;box-shadow:0 14px 30px -14px rgba(18,87,201,.8)}
.bh-btn--primary:hover{background:var(--bh-navy);color:#fff;box-shadow:0 20px 38px -16px rgba(6,24,58,.7)}

.bh-btn--gold{background:var(--bh-gold);color:var(--bh-navy);box-shadow:0 14px 30px -14px rgba(245,179,66,.85)}
.bh-btn--gold:hover{background:#ffc55f;color:var(--bh-navy)}

.bh-btn--ghost{background:transparent;color:var(--bh-navy);border-color:var(--bh-line)}
.bh-btn--ghost:hover{border-color:var(--bh-blue);color:var(--bh-blue)}

.bh-btn--light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28)}
.bh-btn--light:hover{background:#fff;color:var(--bh-navy)}

.bh-btn--sm{padding:11px 20px;font-size:.9rem}
.bh-btn--block{width:100%}

/* ==========================================================================
   5. Barra de topo + cabeçalho
   ========================================================================== */

.bh-topbar{
  background:var(--bh-navy);color:#A9C0E6;font-size:.87rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.bh-topbar__inner{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:44px;flex-wrap:wrap;padding-block:6px;
}
.bh-topbar__contacts{display:flex;gap:20px;flex-wrap:wrap}
.bh-topbar a{color:#A9C0E6}
.bh-topbar a:hover{color:#fff}
.bh-topbar__links{display:flex;gap:16px;align-items:center}
.bh-topbar__links a{font-weight:600;color:#fff}
.bh-topbar__links .sep{opacity:.35}

.bh-header{
  position:sticky;top:0;z-index:120;background:#fff;
  border-bottom:1px solid transparent;transition:border-color .25s ease,box-shadow .25s ease;
}
.bh-header.is-stuck{border-bottom-color:var(--bh-line);box-shadow:0 10px 30px -24px rgba(6,24,58,.7)}

/*
 * O efeito de vidro fosco só acima dos 1024px. Abaixo disso o menu é um painel
 * position:fixed dentro do cabeçalho, e o backdrop-filter faria do cabeçalho o
 * bloco de referência desse painel — que deixaria de ocupar o ecrã.
 */
@media(min-width:1025px){
  .bh-header{
    background:rgba(255,255,255,.9);
    backdrop-filter:saturate(160%) blur(14px);
  }
}
.bh-header__inner{display:flex;align-items:center;gap:26px;min-height:78px}

.bh-brand{display:flex;align-items:center;flex-shrink:0}
.bh-brand img{max-height:46px;width:auto}
.bh-brand__text{font-family:var(--bh-display);font-weight:700;font-size:1.3rem;color:var(--bh-navy)}
/* Se o logótipo carregado for a versão branca, active este fundo em Aparência > Personalizar */
.bh-brand--onlight img{background:var(--bh-navy);padding:7px 12px;border-radius:10px}

.bh-nav{margin-left:auto}
.bh-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.bh-nav li{position:relative}
.bh-nav a{
  display:block;padding:10px 14px;border-radius:9px;
  font-weight:600;font-size:.96rem;color:var(--bh-navy);
}
.bh-nav a:hover,.bh-nav .current-menu-item>a{background:var(--bh-ice);color:var(--bh-blue)}

.bh-nav .menu-item-has-children>a::after{
  content:'';display:inline-block;width:6px;height:6px;margin-left:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);opacity:.6;
}
.bh-nav .sub-menu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:250px;
  background:#fff;border:1px solid var(--bh-line);border-radius:14px;
  box-shadow:var(--bh-shadow);padding:8px;display:block;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.bh-nav li:hover>.sub-menu,.bh-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.bh-nav .sub-menu a{padding:11px 14px;font-weight:500}

.bh-header__cta{display:flex;gap:10px;align-items:center}

.bh-burger{
  display:none;width:46px;height:46px;border:1px solid var(--bh-line);background:#fff;
  border-radius:12px;cursor:pointer;padding:0;place-items:center;
}
.bh-burger span{display:block;width:20px;height:2px;background:var(--bh-navy);margin:4px auto;transition:transform .25s ease,opacity .2s ease}
.bh-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.bh-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.bh-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1024px){
  .bh-burger{display:grid}
  .bh-nav{
    position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(88vw,380px);height:100dvh;
    background:#fff;background-color:#fff;isolation:isolate;
    padding:70px 20px 28px;overflow-y:auto;-webkit-overflow-scrolling:touch;
    box-shadow:-20px 0 60px -30px rgba(6,24,58,.6);
    transform:translateX(100%);transition:transform .3s ease;z-index:140;
  }
  .bh-nav a{font-size:1.02rem;padding:13px 12px}
  .bh-nav .sub-menu a{font-size:.95rem;padding:10px 12px}

  /* Botão de fechar, dentro do painel */
  .bh-navclose{
    position:absolute;top:16px;right:16px;width:42px;height:42px;
    border:1px solid var(--bh-line);background:#fff;border-radius:12px;
    cursor:pointer;display:grid;place-items:center;padding:0;color:var(--bh-navy);
    font-size:1.4rem;line-height:1;
  }
  .bh-navclose:hover{border-color:var(--bh-blue);color:var(--bh-blue)}

  /* Acções repetidas no fim do painel, já que ficam escondidas no cabeçalho */
  .bh-nav__actions{
    display:grid;gap:10px;margin-top:22px;padding-top:20px;
    border-top:1px solid var(--bh-line);
  }
  .bh-nav__actions .bh-btn{width:100%}
  .bh-nav.is-open{transform:translateX(0)}
  .bh-nav ul{flex-direction:column;align-items:stretch;gap:2px}
  .bh-nav .sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-left:2px solid var(--bh-line);border-radius:0;margin:2px 0 8px 14px;padding:0 0 0 6px;
  }
  .bh-header__cta .bh-btn--ghost{display:none}
}

.bh-overlay{
  position:fixed;inset:0;background:rgba(6,24,58,.55);opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s;z-index:130;
}
.bh-overlay.is-open{opacity:1;visibility:visible}

.bh-navclose,.bh-nav__actions{display:none}

/* ==========================================================================
   6. Hero: slides, imagem e cena 3D
   ========================================================================== */

.bh-hero{
  position:relative;background:var(--bh-navy);color:#C9D8F2;overflow:hidden;
  padding-block:clamp(48px,6vw,86px) 0;
}
.bh-hero::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(900px 460px at 74% 16%,rgba(79,168,255,.20),transparent 62%),
    radial-gradient(700px 420px at 6% 92%,rgba(18,87,201,.32),transparent 66%);
}

/* a cordilheira fica atrás de tudo, a toda a largura do bloco */
.bh-hero__scene{position:absolute;inset:0 0 30% 38%;z-index:0;opacity:.85}
.bh-hero__scene canvas{width:100%;height:100%;display:block}
@media(max-width:980px){.bh-hero__scene{inset:0 0 46% 0;opacity:.45}}

.bh-hero__inner{
  position:relative;z-index:2;display:grid;gap:clamp(32px,5vw,58px);
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;
  padding-bottom:clamp(54px,7vw,88px);
}
@media(max-width:980px){.bh-hero__inner{grid-template-columns:1fr}}

.bh-hero__text{position:relative}

/* slides de texto empilhados no mesmo espaço */
.bh-slide{
  transition:opacity .55s ease,transform .55s ease;
}
.bh-slide:not(.is-active){
  position:absolute;inset:0;opacity:0;transform:translateY(18px);pointer-events:none;
}
.bh-slide.is-active{position:relative;opacity:1;transform:none}

.bh-hero h1{color:#fff;max-width:15ch;margin-bottom:.42em}
.bh-hero__lead{font-size:clamp(1rem,1.45vw,1.16rem);color:#A9C0E6;max-width:50ch;margin:0}
.bh-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin:2em 0 1.6em}

.bh-slide-nav{display:flex;gap:9px;margin-bottom:2em}
.bh-slide-nav button{
  width:34px;height:5px;padding:0;border:0;border-radius:100px;cursor:pointer;
  background:rgba(255,255,255,.2);overflow:hidden;
}
.bh-slide-nav button span{display:block;height:100%;width:0;background:var(--bh-gold);border-radius:100px}
.bh-slide-nav button.is-active span{width:100%;transition:width 6s linear}

.bh-hero__meta{display:flex;gap:30px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.bh-hero__meta div{min-width:96px}
.bh-hero__meta b{
  display:block;font-family:var(--bh-display);font-size:1.7rem;font-weight:700;
  color:var(--bh-gold);line-height:1.1;
}
.bh-hero__meta span{font-size:.85rem;color:#8FA8D2}

/* imagem do destaque, inclinada em 3D */
.bh-hero__media{position:relative;perspective:1300px;min-height:330px}
.bh-hero__figure{
  margin:0;position:absolute;inset:0;display:grid;place-items:center;
  transition:opacity .6s ease,transform .6s ease;
}
.bh-hero__figure:not(.is-active){opacity:0;transform:translateY(20px) scale(.97);pointer-events:none}
.bh-hero__figure.is-active{opacity:1;transform:none}

/* Sem moldura: a imagem flutua (indicado para PNG com fundo transparente) */
.bh-hero__figure img{
  max-height:420px;width:auto;filter:drop-shadow(0 40px 60px rgba(0,0,0,.45));
  transform:rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg));
  transition:transform .3s ease-out;
}

/* Com moldura: a imagem passa a ser o ecrã de uma janela de browser.
   Resolve o efeito de "imagem colada", porque o rectângulo passa a ter razão de ser. */
.bh-hero__media--framed .bh-hero__figure{padding:0 4%}
.bh-frame{
  width:100%;max-width:520px;border-radius:16px;overflow:hidden;
  background:#0B2350;border:1px solid rgba(255,255,255,.16);
  box-shadow:0 44px 80px -34px rgba(0,0,0,.85),0 0 0 1px rgba(79,168,255,.08);
  transform:rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg));
  transition:transform .3s ease-out;
}
.bh-frame__bar{
  height:36px;display:flex;align-items:center;gap:7px;padding:0 15px;
  background:rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.1);
}
.bh-frame__bar span{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.bh-frame__bar span:first-child{background:rgba(255,110,100,.55)}
.bh-frame__bar span:nth-child(2){background:rgba(245,179,66,.55)}
.bh-frame__bar span:nth-child(3){background:rgba(46,212,122,.5)}
.bh-frame__bar em{
  margin-left:8px;font-style:normal;font-size:.72rem;color:#7E97C4;
  font-family:var(--bh-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bh-hero__media--framed .bh-hero__figure img{
  width:100%;max-height:none;display:block;aspect-ratio:16/10;
  object-fit:cover;object-position:top center;filter:none;transform:none;
}

@media(max-width:980px){
  .bh-hero__media{min-height:250px;order:-1}
  .bh-hero__figure img{max-height:250px}
  .bh-frame{max-width:440px}
}

/* etiquetas flutuantes sobre a imagem */
.bh-chip{
  position:absolute;z-index:3;display:flex;align-items:center;gap:11px;
  background:rgba(11,35,80,.82);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 16px;
  box-shadow:0 20px 40px -24px rgba(0,0,0,.8);
}
.bh-chip b{display:block;font-family:var(--bh-display);font-size:.92rem;color:#fff}
.bh-chip span{font-size:.78rem;color:#8FA8D2}
.bh-chip--1{left:-4%;top:6%;animation:bh-float 6s ease-in-out infinite}
.bh-chip--2{right:-2%;bottom:6%;animation:bh-float 7.5s ease-in-out infinite .8s}
.bh-chip--2 b{color:var(--bh-gold);font-size:1.05rem}
.bh-chip__dot{
  width:9px;height:9px;border-radius:50%;background:#2ED47A;flex-shrink:0;
  box-shadow:0 0 0 4px rgba(46,212,122,.2);animation:bh-pulse 2.4s ease-in-out infinite;
}
@media(max-width:760px){.bh-chip--1{left:0}.bh-chip{padding:9px 12px}}

@keyframes bh-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes bh-pulse{0%,100%{box-shadow:0 0 0 3px rgba(46,212,122,.25)}50%{box-shadow:0 0 0 8px rgba(46,212,122,0)}}

/* indicação de deslizar */
.bh-scrollcue{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:4;
  width:26px;height:42px;border:1.5px solid rgba(255,255,255,.3);border-radius:100px;
  display:grid;place-items:start center;padding-top:8px;
}
.bh-scrollcue span{width:3px;height:8px;border-radius:2px;background:var(--bh-gold);animation:bh-cue 1.8s ease-in-out infinite}
.bh-scrollcue:hover{border-color:var(--bh-gold)}
@keyframes bh-cue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(16px);opacity:0}100%{opacity:0}}
@media(max-width:980px){.bh-scrollcue{display:none}}

/* Pesquisa de domínio */
.bh-domain{
  position:relative;z-index:3;background:#fff;border-radius:var(--bh-radius);
  box-shadow:var(--bh-shadow-lift);padding:clamp(22px,3vw,32px);
  transform:translateY(50%);
}
.bh-domain h2{font-size:clamp(1.3rem,2vw,1.65rem);margin-bottom:.35em}
.bh-domain__note{color:var(--bh-muted);font-size:.94rem;margin-bottom:1.2em}
.bh-domain__form{display:flex;gap:10px;flex-wrap:wrap}
.bh-domain__form input[type="text"]{
  flex:1 1 260px;padding:16px 20px;border:1.5px solid var(--bh-line);border-radius:100px;
  font-family:var(--bh-body);font-size:1rem;color:var(--bh-text);background:#fff;
}
.bh-domain__form input[type="text"]:focus{border-color:var(--bh-blue);outline:none;box-shadow:0 0 0 4px rgba(18,87,201,.12)}
.bh-domain__tlds{display:flex;gap:8px 22px;flex-wrap:wrap;margin-top:1.2em;font-size:.92rem;color:var(--bh-muted)}
.bh-domain__tlds b{color:var(--bh-navy);font-family:var(--bh-display)}
.bh-domain-spacer{height:calc(var(--bh-section) * .5)}

/* ==========================================================================
   7. Faixa de tecnologias
   ========================================================================== */

.bh-tech{padding-block:clamp(40px,5vw,60px);border-bottom:1px solid var(--bh-line)}
.bh-tech__label{
  text-align:center;color:var(--bh-muted);font-size:.94rem;margin-bottom:1.6em;
}
.bh-tech__list{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(24px,4vw,54px);
}
.bh-tech__list img{max-height:38px;width:auto;opacity:.62;filter:grayscale(1);transition:opacity .25s ease,filter .25s ease}
.bh-tech__list img:hover{opacity:1;filter:grayscale(0)}
.bh-tech__list span{font-family:var(--bh-display);font-weight:600;color:var(--bh-muted)}

/* ==========================================================================
   8. Cartões de planos (3D interactivo)
   ========================================================================== */

.bh-plan{
  position:relative;background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);
  padding:clamp(26px,3vw,34px);display:flex;flex-direction:column;
  transform-style:preserve-3d;transition:box-shadow .3s ease,border-color .3s ease;
  will-change:transform;
}
.bh-plan:hover{box-shadow:var(--bh-shadow-lift);border-color:rgba(18,87,201,.3)}
.bh-plan > *{transform:translateZ(28px)}

.bh-plan--featured{
  background:var(--bh-navy);border-color:transparent;color:#C9D8F2;
  box-shadow:0 30px 60px -30px rgba(6,24,58,.75);
}
.bh-plan--featured h3,.bh-plan--featured .bh-plan__price{color:#fff}
.bh-plan--featured .bh-plan__features li{color:#C4D5F1;border-color:rgba(255,255,255,.1)}

.bh-plan__tag{
  position:absolute;top:-13px;left:clamp(26px,3vw,34px);
  background:var(--bh-gold);color:var(--bh-navy);font-family:var(--bh-display);font-weight:700;
  font-size:.78rem;padding:6px 14px;border-radius:100px;transform:translateZ(50px);
}
.bh-plan h3{margin-bottom:.15em}
.bh-plan__desc{font-size:.94rem;color:var(--bh-muted);margin-bottom:1.3em;min-height:2.6em}
.bh-plan--featured .bh-plan__desc{color:#93ACD6}

.bh-plan__price{
  font-family:var(--bh-display);font-weight:700;font-size:2.3rem;color:var(--bh-navy);
  line-height:1.05;display:flex;align-items:baseline;gap:.25em;flex-wrap:wrap;
}
.bh-plan__price small{font-size:.9rem;font-weight:500;color:var(--bh-muted);font-family:var(--bh-body)}
.bh-plan--featured .bh-plan__price small{color:#93ACD6}
.bh-plan__cycle{font-size:.85rem;color:var(--bh-muted);margin:.4em 0 1.6em}
.bh-plan--featured .bh-plan__cycle{color:#93ACD6}

.bh-plan__features{list-style:none;margin:0 0 1.9em;padding:0;flex:1}
.bh-plan__features li{
  position:relative;padding:11px 0 11px 30px;font-size:.95rem;
  border-bottom:1px solid var(--bh-line);
}
.bh-plan__features li:last-child{border-bottom:0}
.bh-plan__features li::before{
  content:'';position:absolute;left:2px;top:17px;width:14px;height:8px;
  border-left:2px solid var(--bh-gold);border-bottom:2px solid var(--bh-gold);
  transform:rotate(-45deg);
}

/* ==========================================================================
   9. Recursos / porque somos bom parceiro
   ========================================================================== */

.bh-feature{
  background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);
  padding:clamp(24px,3vw,32px);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.bh-feature:hover{transform:translateY(-6px);box-shadow:var(--bh-shadow);border-color:rgba(18,87,201,.28)}
.bh-feature__icon{
  width:64px;height:64px;border-radius:16px;background:var(--bh-ice);
  display:grid;place-items:center;margin-bottom:1.2em;
}
.bh-feature__icon img{max-width:36px;max-height:36px}
.bh-feature h3{font-size:1.15rem;margin-bottom:.4em}
.bh-feature p{font-size:.95rem;color:var(--bh-muted);margin:0}

/* Blocos alternados (imagem + texto) */
.bh-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(30px,5vw,68px);align-items:center}
.bh-split + .bh-split{margin-top:clamp(48px,7vw,96px)}
.bh-split--flip .bh-split__media{order:2}
@media(max-width:760px){.bh-split--flip .bh-split__media{order:0}}
.bh-split__media img{border-radius:var(--bh-radius)}
.bh-split__eyebrow{
  font-family:var(--bh-display);font-weight:600;font-size:.92rem;color:var(--bh-blue);
  display:block;margin-bottom:.7em;
}
.bh-split p{color:var(--bh-muted)}
.bh-section--dark .bh-split p{color:#9FB4D8}

/* ==========================================================================
   10. Tabela de comparação
   ========================================================================== */

.bh-compare{width:100%;overflow-x:auto;border-radius:var(--bh-radius);border:1px solid var(--bh-line);background:#fff}
.bh-compare table{width:100%;border-collapse:collapse;min-width:680px}
.bh-compare th,.bh-compare td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--bh-line);font-size:.95rem}
.bh-compare thead th{
  background:var(--bh-navy);color:#fff;font-family:var(--bh-display);font-weight:600;
  position:sticky;top:0;
}
.bh-compare thead th:first-child{border-top-left-radius:var(--bh-radius)}
.bh-compare thead th:last-child{border-top-right-radius:var(--bh-radius)}
.bh-compare tbody th{font-weight:600;color:var(--bh-navy);background:var(--bh-ice)}
.bh-compare tr:last-child td,.bh-compare tr:last-child th{border-bottom:0}
.bh-compare .yes{color:#12A36B;font-weight:700}
.bh-compare .no{color:#C2415B;font-weight:700}

/* ==========================================================================
   11. FAQ
   ========================================================================== */

.bh-faq{max-width:840px;margin-inline:auto}
.bh-faq__item{border-bottom:1px solid var(--bh-line)}
.bh-faq__q{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--bh-display);font-weight:600;font-size:1.06rem;color:var(--bh-navy);
  padding:22px 44px 22px 0;position:relative;line-height:1.35;
}
.bh-faq__q::after,.bh-faq__q::before{
  content:'';position:absolute;right:8px;top:50%;background:var(--bh-blue);
  transition:transform .25s ease,opacity .25s ease;
}
.bh-faq__q::before{width:15px;height:2px;margin-top:-1px}
.bh-faq__q::after{width:2px;height:15px;margin-top:-7.5px;right:14.5px}
.bh-faq__q[aria-expanded="true"]::after{transform:scaleY(0);opacity:0}
.bh-faq__a{overflow:hidden;height:0;transition:height .3s ease}
.bh-faq__a > div{padding:0 44px 24px 0;color:var(--bh-muted);font-size:.98rem}

/* ==========================================================================
   12. Testemunhos
   ========================================================================== */

.bh-quote{
  background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);
  padding:clamp(24px,3vw,32px);display:flex;flex-direction:column;gap:1.1em;
}
.bh-quote p{font-size:1rem;color:var(--bh-text);margin:0}
.bh-quote footer{display:flex;align-items:center;gap:12px;margin-top:auto}
.bh-quote img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.bh-quote b{display:block;font-family:var(--bh-display);font-size:.96rem;color:var(--bh-navy)}
.bh-quote span{font-size:.86rem;color:var(--bh-muted)}

/* Contadores */
.bh-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px;text-align:center}
.bh-counter b{
  display:block;font-family:var(--bh-display);font-weight:700;
  font-size:clamp(2.1rem,4vw,3rem);color:var(--bh-gold);line-height:1.05;
}
.bh-counter span{color:#9FB4D8;font-size:.95rem}

/* ==========================================================================
   13. Formulários
   ========================================================================== */

.bh-form{display:grid;gap:16px}
.bh-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.bh-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--bh-navy)}
.bh-field input,.bh-field textarea,.bh-field select{
  width:100%;padding:14px 16px;border:1.5px solid var(--bh-line);border-radius:12px;
  font-family:var(--bh-body);font-size:1rem;color:var(--bh-text);background:#fff;
}
.bh-field textarea{min-height:150px;resize:vertical}
.bh-field input:focus,.bh-field textarea:focus,.bh-field select:focus{
  border-color:var(--bh-blue);outline:none;box-shadow:0 0 0 4px rgba(18,87,201,.12);
}
.bh-form__msg{font-size:.95rem;padding:12px 16px;border-radius:12px;display:none}
.bh-form__msg.is-ok{display:block;background:#E6F7EF;color:#0B7048}
.bh-form__msg.is-error{display:block;background:#FDECEF;color:#A62B45}
.bh-hp{position:absolute!important;left:-9999px}

.bh-newsletter{display:flex;gap:10px;flex-wrap:wrap}
.bh-newsletter input[type="email"]{
  flex:1 1 180px;padding:13px 18px;border-radius:100px;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);color:#fff;font-family:var(--bh-body);
}
.bh-newsletter input::placeholder{color:#7E97C4}
.bh-newsletter input:focus{outline:none;border-color:var(--bh-sky)}

/* Cartões de contacto */
.bh-contact-card{
  background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);padding:26px;
}
.bh-contact-card h3{font-size:1.05rem;margin-bottom:.3em}
.bh-contact-card a{font-weight:600}

/* ==========================================================================
   14. CTA final
   ========================================================================== */

.bh-cta{
  position:relative;background:linear-gradient(120deg,var(--bh-navy),var(--bh-blue));
  border-radius:var(--bh-radius);padding:clamp(36px,5vw,62px);color:#C9D8F2;overflow:hidden;
}
.bh-cta::after{
  content:'';position:absolute;right:-60px;bottom:-90px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,179,66,.28),transparent 65%);
}
.bh-cta h2{color:#fff;max-width:18ch}
.bh-cta p{max-width:52ch;color:#BFD2EF}
.bh-cta__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.8em;position:relative;z-index:2}

/* ==========================================================================
   15. Blog
   ========================================================================== */

.bh-post{
  background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;
}
.bh-post:hover{transform:translateY(-6px);box-shadow:var(--bh-shadow)}
.bh-post__thumb{aspect-ratio:16/9;background:var(--bh-ice);overflow:hidden}
.bh-post__thumb img{width:100%;height:100%;object-fit:cover}
.bh-post__body{padding:24px;display:flex;flex-direction:column;gap:.7em;flex:1}
.bh-post__date{font-size:.85rem;color:var(--bh-muted)}
.bh-post h3{font-size:1.16rem;margin:0}
.bh-post h3 a{color:var(--bh-navy)}
.bh-post h3 a:hover{color:var(--bh-blue)}
.bh-post p{font-size:.95rem;color:var(--bh-muted);margin:0}

.bh-entry{max-width:760px;margin-inline:auto}
.bh-entry__meta{color:var(--bh-muted);font-size:.92rem;margin-bottom:1.6em}
.bh-entry__thumb{margin-bottom:2em;border-radius:var(--bh-radius);overflow:hidden}
.bh-entry h2{margin-top:1.6em}
.bh-entry h3{margin-top:1.4em}

.bh-pagenav{display:flex;gap:10px;justify-content:center;margin-top:3em;flex-wrap:wrap}
.bh-pagenav .page-numbers{
  display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;
  border:1px solid var(--bh-line);border-radius:12px;font-weight:600;color:var(--bh-navy);
}
.bh-pagenav .page-numbers.current,.bh-pagenav .page-numbers:hover{background:var(--bh-blue);color:#fff;border-color:var(--bh-blue)}

.bh-page-hero{
  background:var(--bh-navy);color:#A9C0E6;padding-block:clamp(52px,7vw,86px);
  position:relative;overflow:hidden;
}
.bh-page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(700px 340px at 80% 10%,rgba(79,168,255,.2),transparent 62%);
}
.bh-page-hero .bh-wrap{position:relative;z-index:2}
.bh-page-hero h1{color:#fff;margin-bottom:.3em}
.bh-page-hero p{max-width:58ch;margin:0}
.bh-breadcrumb{font-size:.88rem;color:#7E97C4;margin-bottom:1em}
.bh-breadcrumb a{color:#A9C0E6}

/* ==========================================================================
   16. Rodapé
   ========================================================================== */

.bh-footer{background:var(--bh-navy);color:#93ACD6;padding-block:clamp(52px,6vw,76px) 0}
.bh-footer__grid{
  display:grid;gap:clamp(28px,4vw,48px);
  grid-template-columns:minmax(240px,1.35fr) repeat(auto-fit,minmax(160px,1fr));
}
.bh-footer h4{
  color:#fff;font-size:1rem;margin-bottom:1.1em;padding-bottom:.7em;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.bh-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.bh-footer a{color:#93ACD6;font-size:.95rem}
.bh-footer a:hover{color:#fff}
.bh-footer__about img{max-height:52px;margin-bottom:1.2em}
.bh-footer__about p{font-size:.95rem;line-height:1.7;max-width:44ch}
.bh-footer__bottom{
  margin-top:clamp(36px,5vw,56px);padding-block:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem;
}

/* ==========================================================================
   17. Animações
   ========================================================================== */

.bh-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.bh-reveal.is-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .bh-reveal{opacity:1;transform:none}
}

/* ==========================================================================
   18. Blocos e alinhamentos do WordPress
   ========================================================================== */

.alignleft{float:left;margin:.4em 1.6em 1.2em 0}
.alignright{float:right;margin:.4em 0 1.2em 1.6em}
.aligncenter{margin-inline:auto;display:block}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption{font-size:.88rem;color:var(--bh-muted);text-align:center;margin-top:.6em}
.sticky{border:2px solid var(--bh-gold)}
.bypostauthor{display:block}

/* ==========================================================================
   19. Detalhes finais
   ========================================================================== */

@media(max-width:640px){
  .bh-hide-sm{display:none}
  .bh-topbar__inner{justify-content:center}
}

.bh-widget{
  background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);
  padding:22px;margin-bottom:20px;
}
.bh-widget ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}

.bh-comments{max-width:760px;margin:clamp(40px,6vw,72px) auto 0;padding-top:2em;border-top:1px solid var(--bh-line)}
.bh-comments ol.comment-list{list-style:none;padding:0;margin:0 0 2em;display:grid;gap:18px}
.bh-comments .comment-body{background:var(--bh-ice);border-radius:var(--bh-radius-sm);padding:18px}
.bh-comments .children{list-style:none;padding-left:22px;margin-top:14px;display:grid;gap:14px}
.bh-comments input[type=text],.bh-comments input[type=email],.bh-comments input[type=url],.bh-comments textarea{
  width:100%;padding:13px 16px;border:1.5px solid var(--bh-line);border-radius:12px;
  font-family:var(--bh-body);font-size:1rem;
}
.bh-comments .submit{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--bh-display);font-weight:600;font-size:.98rem;
  padding:15px 28px;border-radius:100px;border:0;cursor:pointer;
  background:var(--bh-blue);color:#fff;
}

/* ==========================================================================
   20. Estado dos serviços
   ========================================================================== */

.bh-status-dot{
  width:10px;height:10px;border-radius:50%;background:var(--estado,#12A36B);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--estado,#12A36B) 22%,transparent);
  flex-shrink:0;
}

.bh-status-banner{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--bh-line);border-left:4px solid var(--estado,#12A36B);
  border-radius:var(--bh-radius);padding:22px 26px;box-shadow:var(--bh-shadow);
}
.bh-status-banner strong{
  display:block;font-family:var(--bh-display);font-size:1.16rem;color:var(--bh-navy);
}
.bh-status-banner span{font-size:.9rem;color:var(--bh-muted)}
.bh-status-banner .bh-btn{margin-left:auto}

.bh-status-list{list-style:none;margin:1.2em 0 0;padding:0;border:1px solid var(--bh-line);border-radius:var(--bh-radius);overflow:hidden}
.bh-status-list li{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:18px 22px;border-bottom:1px solid var(--bh-line);background:#fff;
}
.bh-status-list li:last-child{border-bottom:0}
.bh-status-list b{display:block;font-family:var(--bh-display);font-weight:600;color:var(--bh-navy)}
.bh-status-list span{font-size:.9rem;color:var(--bh-muted)}

.bh-status-pill{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 15px;border-radius:100px;font-size:.86rem;font-weight:600;
  color:var(--estado,#12A36B);
  background:color-mix(in srgb,var(--estado,#12A36B) 11%,transparent);
}

.bh-timeline{list-style:none;margin:1.2em 0 0;padding:0 0 0 26px;position:relative}
.bh-timeline::before{content:'';position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--bh-line)}
.bh-timeline li{position:relative;padding-bottom:2.2em}
.bh-timeline li::before{
  content:'';position:absolute;left:-26px;top:7px;width:12px;height:12px;border-radius:50%;
  background:var(--estado,#12A36B);border:3px solid #fff;box-shadow:0 0 0 2px var(--estado,#12A36B);
}
.bh-timeline__date{font-size:.86rem;color:var(--bh-muted)}
.bh-timeline h3{font-size:1.1rem;margin:.25em 0 .5em}
.bh-timeline__body{margin-top:.9em;color:var(--bh-muted);font-size:.96rem}
.bh-timeline__body p:last-child{margin-bottom:0}

/* Fallback para navegadores sem color-mix */
@supports not (color: color-mix(in srgb, red 10%, transparent)){
  .bh-status-pill{background:var(--bh-ice)}
  .bh-status-dot{box-shadow:none}
}

/* ==========================================================================
   21. Pré-carregamento, cursor e progresso
   ========================================================================== */

.bh-preloader{
  position:fixed;inset:0;z-index:9999;background:var(--bh-navy);
  display:grid;place-items:center;gap:22px;align-content:center;
  transition:opacity .6s ease,visibility .6s;
}
.bh-preloader.is-done{opacity:0;visibility:hidden}
.bh-preloader img{max-width:190px;opacity:.95;animation:bh-breathe 2.2s ease-in-out infinite}
.bh-preloader__bar{width:min(220px,50vw);height:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.bh-preloader__bar i{display:block;height:100%;width:0;background:var(--bh-gold);transition:width .3s ease}
@keyframes bh-breathe{0%,100%{opacity:.6}50%{opacity:1}}

.bh-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--bh-blue),var(--bh-gold));
  transition:width .1s linear;
}

.bh-cursor,.bh-cursor-ring{
  position:fixed;top:0;left:0;z-index:9998;pointer-events:none;border-radius:50%;
  transform:translate(-50%,-50%);mix-blend-mode:difference;
}
.bh-cursor{width:7px;height:7px;background:#fff}
.bh-cursor-ring{
  width:34px;height:34px;border:1.5px solid rgba(255,255,255,.55);
  transition:width .22s ease,height .22s ease,border-color .22s ease,opacity .2s ease;
}
.bh-cursor-ring.is-hover{width:56px;height:56px;border-color:var(--bh-gold)}
body.bh-has-cursor,body.bh-has-cursor a,body.bh-has-cursor button{cursor:none}
@media(max-width:1024px),(pointer:coarse){.bh-cursor,.bh-cursor-ring{display:none}}

/* transição entre páginas */
.bh-veil{
  position:fixed;inset:0;z-index:9997;background:var(--bh-navy);
  transform:scaleY(0);transform-origin:bottom;pointer-events:none;
}
.bh-veil.is-in{transform:scaleY(1);transform-origin:bottom;transition:transform .45s cubic-bezier(.76,0,.24,1)}
.bh-veil.is-out{transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.76,0,.24,1)}

/* ==========================================================================
   22. Revelação de texto e botões magnéticos
   ========================================================================== */

.bh-anim-lines .bh-line{display:block;overflow:hidden}
.bh-anim-lines .bh-line i{
  display:block;font-style:inherit;transform:translateY(105%);
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.bh-anim-lines.is-in .bh-line i{transform:none}
.bh-anim-lines .bh-line:nth-child(2) i{transition-delay:.09s}
.bh-anim-lines .bh-line:nth-child(3) i{transition-delay:.18s}
.bh-anim-lines .bh-line:nth-child(4) i{transition-delay:.27s}

.bh-magnetic{transition:transform .25s cubic-bezier(.22,1,.36,1),background .2s ease,color .2s ease,box-shadow .22s ease}

/* faixa de logótipos em movimento contínuo */
.bh-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.bh-marquee__track{display:flex;align-items:center;gap:clamp(30px,5vw,64px);width:max-content;animation:bh-marquee 34s linear infinite}
.bh-marquee:hover .bh-marquee__track{animation-play-state:paused}
.bh-marquee img{max-height:38px;width:auto;opacity:.6;filter:grayscale(1);transition:opacity .25s ease,filter .25s ease}
.bh-marquee img:hover{opacity:1;filter:none}
.bh-marquee span{font-family:var(--bh-display);font-weight:600;color:var(--bh-muted);white-space:nowrap}
@keyframes bh-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   23. Montagem do servidor ao deslizar
   ========================================================================== */

.bh-build{background:var(--bh-navy);color:#9FB4D8;position:relative;overflow:hidden}
.bh-build::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(760px 420px at 82% 40%,rgba(79,168,255,.16),transparent 64%);
}
.bh-build .bh-wrap{position:relative;z-index:2}
.bh-build .bh-head p{color:#9FB4D8}

.bh-build__grid{
  display:grid;gap:clamp(34px,6vw,72px);
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;
}
@media(max-width:900px){.bh-build__grid{grid-template-columns:1fr}}

.bh-build__steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:none}
.bh-build__steps li{
  display:flex;gap:18px;padding:20px 22px;border-radius:var(--bh-radius);
  border:1px solid transparent;transition:background .35s ease,border-color .35s ease,opacity .35s ease;
  opacity:.42;
}
.bh-build__steps li.is-on{opacity:1;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.bh-build__num{
  font-family:var(--bh-display);font-weight:700;font-size:.9rem;color:var(--bh-gold);
  padding-top:4px;flex-shrink:0;
}
.bh-build__steps h3{color:#fff;font-size:1.08rem;margin:0 0 .3em}
.bh-build__steps p{margin:0;font-size:.95rem;color:#9FB4D8}

.bh-rack{display:grid;gap:26px;justify-items:center}
.bh-rack__stage{
  position:relative;width:min(100%,420px);height:340px;
  perspective:1000px;transform-style:preserve-3d;
}
.bh-rack__shadow{
  position:absolute;left:50%;bottom:8px;width:74%;height:26px;transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);filter:blur(6px);
}

.bh-unit{
  position:absolute;left:50%;width:86%;height:62px;
  border-radius:12px;border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(160deg,rgba(29,63,128,.95),rgba(9,28,66,.95));
  box-shadow:0 18px 34px -20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.12);
  display:flex;align-items:center;gap:14px;padding:0 18px;
  transform:translateX(-50%) translateY(var(--from,-120px)) rotateX(52deg) scale(.94);
  opacity:0;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .5s ease;
}
.bh-unit--0{bottom:34px;--from:-160px}
.bh-unit--1{bottom:102px;--from:-210px}
.bh-unit--2{bottom:170px;--from:260px}
.bh-unit--3{bottom:238px;--from:-260px}

.bh-unit.is-set{opacity:1;transform:translateX(-50%) translateY(0) rotateX(52deg) scale(1)}

.bh-unit__label{
  font-family:var(--bh-display);font-size:.76rem;color:#B9CCEC;letter-spacing:.02em;white-space:nowrap;
}
.bh-unit__led{
  width:8px;height:8px;border-radius:50%;background:#2ED47A;margin-left:auto;flex-shrink:0;
  box-shadow:0 0 8px rgba(46,212,122,.9);opacity:0;transition:opacity .4s ease .25s;
}
.bh-unit.is-set .bh-unit__led{opacity:1;animation:bh-blink 2.6s ease-in-out infinite}
@keyframes bh-blink{0%,100%{opacity:1}55%{opacity:.25}}

.bh-unit__bars{display:flex;gap:5px}
.bh-unit__bars i{width:5px;height:20px;border-radius:2px;background:rgba(79,168,255,.55)}
.bh-unit__bars i:nth-child(2){height:14px}
.bh-unit__bars i:nth-child(3){height:24px}
.bh-unit__bars i:nth-child(4){height:11px}

.bh-unit__ports{display:flex;gap:5px}
.bh-unit__ports i{width:11px;height:9px;border-radius:2px;background:rgba(255,255,255,.22)}

.bh-unit__window{display:flex;gap:5px;align-items:center}
.bh-unit__window i{width:22px;height:5px;border-radius:2px;background:rgba(245,179,66,.7)}
.bh-unit__window i:nth-child(2){width:14px;background:rgba(255,255,255,.3)}
.bh-unit__window i:nth-child(3){width:9px;background:rgba(255,255,255,.2)}

.bh-rack__meter{
  position:relative;width:min(100%,420px);height:8px;border-radius:8px;
  background:rgba(255,255,255,.1);overflow:visible;
}
.bh-rack__fill{
  height:100%;width:0;border-radius:8px;
  background:linear-gradient(90deg,var(--bh-blue),var(--bh-gold));transition:width .25s ease;
}
.bh-rack__pct{
  position:absolute;right:0;top:-26px;font-family:var(--bh-display);font-size:.85rem;
  font-weight:600;color:var(--bh-gold);
}

/* ==========================================================================
   24. Selector de idioma
   ========================================================================== */

.bh-lang{display:inline-flex;border:1px solid rgba(255,255,255,.22);border-radius:100px;overflow:hidden}
.bh-lang a{
  padding:4px 11px;font-size:.78rem;font-weight:700;color:#A9C0E6;line-height:1.5;
  font-family:var(--bh-display);
}
.bh-lang a.is-active{background:var(--bh-gold);color:var(--bh-navy)}
.bh-lang a:hover{color:#fff}
.bh-lang a.is-active:hover{color:var(--bh-navy)}

/* ==========================================================================
   25. Ecrãs pequenos — revisão completa
   ========================================================================== */

/* Nada pode empurrar a página para o lado */
html,body{max-width:100%;overflow-x:clip}

@media(max-width:900px){
  :root{
    --bh-section:clamp(52px,9vw,74px);
    --bh-radius:16px;
  }

  body{font-size:16px}

  h1{font-size:clamp(1.95rem,7.4vw,2.6rem)}
  h2{font-size:clamp(1.55rem,5.6vw,2.05rem)}
  h3{font-size:clamp(1.1rem,4.2vw,1.35rem)}

  .bh-wrap{width:min(100% - 32px,var(--bh-wrap))}
  .bh-head{margin-bottom:28px}
  .bh-head p{font-size:1rem}
}

/* ---- Barra de topo ---- */
@media(max-width:900px){
  .bh-topbar{font-size:.8rem}
  .bh-topbar__inner{
    flex-direction:column;align-items:center;gap:6px;
    padding-block:9px;min-height:0;
  }
  .bh-topbar__contacts{gap:14px;justify-content:center;font-size:.8rem}
  .bh-topbar__links{gap:12px;font-size:.8rem}
}

/* Telemóvel estreito: fica só o e-mail e o selector de idioma */
@media(max-width:560px){
  .bh-topbar__contacts a:not(:first-child){display:none}
  .bh-topbar__links a{font-size:.78rem}
  .bh-lang a{padding:3px 9px;font-size:.72rem}
}

/* ---- Cabeçalho ---- */
@media(max-width:900px){
  .bh-header__inner{min-height:62px;gap:12px}
  .bh-brand img{max-height:34px}
  .bh-header__cta{gap:8px;margin-left:auto}
  .bh-btn--sm{padding:9px 16px;font-size:.85rem}
  .bh-burger{width:42px;height:42px}
}

@media(max-width:400px){
  .bh-header__cta .bh-btn--primary{padding:8px 13px;font-size:.8rem}
  .bh-brand img{max-height:30px}
}

/* ---- Destaque ---- */
@media(max-width:900px){
  .bh-hero{padding-top:clamp(32px,7vw,52px)}
  .bh-hero__inner{padding-bottom:34px;gap:26px}
  .bh-hero h1{max-width:none}
  .bh-hero__lead{max-width:none;font-size:1rem}
  .bh-hero__actions{margin:1.5em 0 1.2em;gap:10px}
  .bh-hero__actions .bh-btn{flex:1 1 auto;min-width:150px;padding:13px 20px;font-size:.92rem}
  .bh-hero__meta{gap:18px 26px;padding-top:18px}
  .bh-hero__meta b{font-size:1.35rem}
  .bh-hero__meta span{font-size:.78rem}
  .bh-slide-nav{margin-bottom:1.5em}

  /* A caixa de domínio deixa de "flutuar" e passa a seguir o fluxo */
  .bh-domain{transform:none;margin-top:26px;padding:22px 18px}
  .bh-domain-spacer{display:none}
  .bh-domain__form{gap:8px}
  .bh-domain__form input[type="text"]{flex:1 1 100%;padding:14px 18px}
  .bh-domain__form .bh-btn{width:100%}
  .bh-domain__tlds{gap:6px 16px;font-size:.85rem}
}

@media(max-width:560px){
  .bh-hero__media{min-height:210px}
  .bh-hero__figure img{max-height:210px}
  .bh-chip{padding:8px 11px;border-radius:11px}
  .bh-chip b{font-size:.82rem}
  .bh-chip span{font-size:.7rem}
  .bh-chip--1{left:0;top:4%}
  .bh-chip--2{right:0;bottom:2%}
}

/* ---- Planos ---- */
@media(max-width:900px){
  .bh-grid{gap:18px}
  .bh-plan{padding:24px 20px}
  .bh-plan__desc{min-height:0;margin-bottom:1em}
  .bh-plan__price{font-size:1.95rem}
  .bh-plan__features li{padding:10px 0 10px 28px;font-size:.92rem}
  .bh-plan__features li::before{top:16px}
  /* Sem rato não há inclinação: o cartão fica direito */
  .bh-plan{transform:none!important}
}

/* ---- Blocos, recursos e tabelas ---- */
@media(max-width:900px){
  .bh-feature{padding:22px 20px}
  .bh-feature__icon{width:52px;height:52px;border-radius:14px;margin-bottom:.9em}
  .bh-split{gap:24px}
  .bh-split + .bh-split{margin-top:40px}
  .bh-compare th,.bh-compare td{padding:13px 16px;font-size:.88rem}
  .bh-compare table{min-width:560px}
}

/* ---- Montagem do servidor ---- */
@media(max-width:900px){
  .bh-build__grid{gap:30px}
  .bh-build__steps li{padding:16px 16px;gap:14px}
  .bh-rack__stage{height:280px;width:min(100%,320px)}
  .bh-unit{height:52px;padding:0 14px;gap:10px}
  .bh-unit--0{bottom:28px}
  .bh-unit--1{bottom:86px}
  .bh-unit--2{bottom:144px}
  .bh-unit--3{bottom:202px}
  .bh-unit__label{font-size:.7rem}
}

/* ---- Estado, formulários e rodapé ---- */
@media(max-width:900px){
  .bh-status-banner{padding:18px 18px;gap:12px}
  .bh-status-banner .bh-btn{margin-left:0;width:100%}
  .bh-status-list li{padding:15px 16px}
  .bh-form__row{gap:12px}
  .bh-field input,.bh-field textarea,.bh-field select{padding:12px 14px}
  .bh-contact-card{padding:20px}
  .bh-cta{padding:28px 22px}
  .bh-cta__actions .bh-btn{flex:1 1 auto;min-width:160px}
  .bh-footer__grid{gap:28px}
  .bh-footer__bottom{flex-direction:column;gap:10px;text-align:center;justify-content:center}
  .bh-footer__bottom ul{justify-content:center}
  .bh-newsletter input[type="email"]{flex:1 1 100%}
  .bh-newsletter .bh-btn{width:100%}
}

/* ---- Blog e páginas internas ---- */
@media(max-width:900px){
  .bh-page-hero{padding-block:clamp(34px,8vw,54px)}
  .bh-post__body{padding:20px}
  .bh-entry__meta{font-size:.88rem}
}

/* O botão do WhatsApp não deve tapar conteúdo em ecrãs curtos */
@media(max-width:560px){
  .bh-whatsapp{width:48px;height:48px;right:14px;bottom:14px}
  .bh-whatsapp svg{width:22px;height:22px}
}

/* O ecrã de carregamento não deve dominar o telemóvel */
@media(max-width:560px){
  .bh-preloader img{max-width:140px}
}

/* ==========================================================================
   26. Cartões de serviço da página inicial
   ========================================================================== */

.bh-service{
  position:relative;background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);
  padding:clamp(24px,3vw,32px);display:flex;flex-direction:column;gap:.7em;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.bh-service:hover{transform:translateY(-6px);box-shadow:var(--bh-shadow);border-color:rgba(18,87,201,.28)}
.bh-service__icon{
  width:50px;height:50px;border-radius:14px;background:var(--bh-ice);color:var(--bh-blue);
  display:grid;place-items:center;margin-bottom:.5em;
}
.bh-service h3{font-size:1.14rem;margin:0}
.bh-service p{font-size:.95rem;color:var(--bh-muted);margin:0;flex:1}
.bh-service__link{
  font-family:var(--bh-display);font-weight:600;font-size:.93rem;color:var(--bh-blue);
  display:inline-flex;align-items:center;gap:.5em;margin-top:.5em;
}
.bh-service__link span{transition:transform .22s ease}
.bh-service:hover .bh-service__link span{transform:translateX(4px)}

@media(max-width:900px){
  .bh-service{padding:22px 20px}
  .bh-service__icon{width:44px;height:44px;border-radius:12px}
}


/* ==========================================================================
   27. Afinações a partir do teste em telemóvel
   ========================================================================== */

/* Âncoras não podem ficar escondidas por baixo do cabeçalho fixo */
[id]{scroll-margin-top:90px}

@media(max-width:900px){
  /* A faixa de tecnologias estava a abrir um vazio grande antes de "O que fazemos" */
  .bh-tech{padding-block:26px 22px}
  .bh-tech__label{margin-bottom:1.1em;font-size:.88rem}
  .bh-marquee span{font-size:1rem}
  .bh-marquee__track{gap:32px}

  /* Destaque: imagem contida e etiquetas fora do centro */
  .bh-hero__media{min-height:0;margin-bottom:8px}
  .bh-hero__media--framed .bh-hero__figure{position:relative;padding:0}
  .bh-hero__media--framed .bh-hero__figure:not(.is-active){position:absolute}
  .bh-frame{max-width:none}
  .bh-frame__bar{height:30px;padding:0 12px}
  .bh-frame__bar span{width:7px;height:7px}
  .bh-hero__media--framed .bh-hero__figure img{aspect-ratio:16/11}

  .bh-chip--1{left:-2%;top:-14px}
  .bh-chip--2{right:-2%;bottom:-14px}
}

@media(max-width:480px){
  /* Numa coluna estreita as duas etiquetas roubam demasiado à imagem */
  .bh-chip--2{display:none}
  .bh-chip--1{left:0;top:-12px}
  .bh-frame__bar em{display:none}
}

/* ==========================================================================
   28. Correcções: separação do destaque e rodapé em ecrã estreito
   ========================================================================== */

@media(max-width:900px){
  /* A caixa de domínios encostava ao branco da secção seguinte e as duas
     áreas brancas fundiam-se numa só. Fica agora com fundo escuro por baixo. */
  .bh-hero{padding-bottom:34px}
  .bh-domain{margin-top:26px;margin-bottom:0}

  /* Rodapé: as quatro colunas não cabem e transbordavam para fora do ecrã */
  .bh-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .bh-footer__about{grid-column:1 / -1}
  .bh-footer__about p{max-width:none}
  .bh-footer__about img{max-height:44px}
  .bh-footer h4{font-size:.95rem;margin-bottom:.8em}
  .bh-footer a,.bh-footer li{font-size:.9rem;word-break:break-word}
  .bh-footer ul{gap:9px}
  .bh-footer__bottom{font-size:.82rem}
}

@media(max-width:520px){
  .bh-footer__grid{grid-template-columns:1fr}
  .bh-newsletter{flex-direction:column}
  .bh-newsletter input[type="email"],
  .bh-newsletter .bh-btn{width:100%;flex:1 1 auto}
}

/* Nada dentro do rodapé pode empurrar a página para o lado */
.bh-footer,.bh-footer__grid,.bh-footer__bottom{max-width:100%;overflow-wrap:break-word}
