/*
Theme Name: Galvão Construções
Theme URI: https://galvaoconstrucoes.com.br
Description: Tema premium para construtora especializada em galpões e fábricas
Version: 1.0.0
Author: Portal do Construtor
License: GPL v2+
Text Domain: galvao-construcoes
*/

/* ═══════════════════════════════
   CSS VARIABLES & RESET
═══════════════════════════════ */
:root{
  --accent:#e87c1e;
  --accent-lt:#f0953d;
  --accent-glow:rgba(232,124,30,.22);
  --dark:#0c0e11;
  --dark2:#13161b;
  --dark3:#1a1e25;
  --surface:#1e232c;
  --surface2:#252b35;
  --border:rgba(255,255,255,.08);
  --text:#f0ede8;
  --text-muted:#8b9099;
  --text-dim:#5a6272;
  --radius:12px;
  --radius-lg:20px;
  --shadow:0 8px 32px rgba(0,0,0,.4);
  --shadow-accent:0 8px 32px rgba(232,124,30,.25);
  --ff-head:'Barlow Condensed',sans-serif;
  --ff-body:'DM Sans',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--ff-body);
  background:var(--dark);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}

/* ═══════════════════════════════
   BG LAYER
═══════════════════════════════ */
.gcb-bg{
  position:fixed;inset:0;z-index:0;
  background:var(--dark);
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(232,124,30,.07) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 100%, rgba(232,124,30,.05) 0%, transparent 60%);
}
.gcb-bg-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.18;
}
.gcb-bg-ov{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,17,.85) 0%,rgba(12,14,17,.6) 50%,rgba(12,14,17,.92) 100%);
}
#page,#content{position:relative;z-index:1;}

/* ═══════════════════════════════
   WRAPPER
═══════════════════════════════ */
.gcb-wrap{
  max-width:480px;
  margin:0 auto;
  padding:0 16px;
  position:relative;
}
@media(min-width:640px){.gcb-wrap{padding:0 24px;}}

/* ═══════════════════════════════
   SECTION UTILITIES
═══════════════════════════════ */
.gcb-section{padding:64px 0;}
.gcb-label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff-body);font-size:.7rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);
  background:var(--accent-glow);
  border:1px solid rgba(232,124,30,.3);
  padding:5px 14px;border-radius:100px;
  margin-bottom:18px;
}
.gcb-label::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
.gcb-title{
  font-family:var(--ff-head);font-size:clamp(2rem,7vw,3rem);
  font-weight:800;line-height:1.1;letter-spacing:-.02em;
  text-transform:uppercase;
  color:var(--text);
}
.gcb-title em{color:var(--accent);font-style:normal;}
.gcb-sub{
  font-size:.93rem;color:var(--text-muted);
  margin-top:12px;line-height:1.65;
}
.gcb-divider{
  width:48px;height:3px;
  background:linear-gradient(90deg,var(--accent),transparent);
  border-radius:2px;margin:20px 0;
}

/* ═══════════════════════════════
   HERO
═══════════════════════════════ */
.gcb-hero{
  padding:56px 0 48px;
  text-align:center;
}
.gcb-hero-logo-wrap{
  display:flex;justify-content:center;align-items:center;
  margin-bottom:28px;
}
.gcb-hero-avatar{
  width:96px;height:96px;border-radius:50%;
  object-fit:cover;
  border:3px solid var(--accent);
  box-shadow:0 0 0 6px var(--accent-glow),var(--shadow-accent);
  position:relative;z-index:1;
}
.gcb-hero-avatar-ring{
  position:absolute;
  width:116px;height:116px;border-radius:50%;
  border:1.5px dashed rgba(232,124,30,.5);
  animation:spin 20s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.gcb-hero-logo{
  font-family:var(--ff-head);font-size:1.5rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--text);
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.gcb-hero-logo span{
  display:block;font-size:.7rem;font-weight:500;
  color:var(--accent);letter-spacing:.2em;
}
.gcb-hero-name{
  font-family:var(--ff-head);font-size:clamp(2.4rem,9vw,3.8rem);
  font-weight:900;line-height:1;letter-spacing:-.02em;
  text-transform:uppercase;
  color:var(--text);
  margin-bottom:6px;
}
.gcb-hero-name em{
  color:var(--accent);font-style:normal;
  position:relative;
}
.gcb-hero-cnpj{
  font-size:.75rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--text-dim);
  margin-bottom:20px;
}
.gcb-hero-tagline{
  font-size:.95rem;color:var(--text-muted);
  max-width:340px;margin:0 auto 32px;line-height:1.65;
}
.gcb-hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--border);
  border-radius:var(--radius);overflow:hidden;
  margin:32px 0 28px;
}
.gcb-stat{
  background:var(--surface);
  padding:16px 8px;text-align:center;
}
.gcb-stat .n{
  font-family:var(--ff-head);font-size:1.8rem;font-weight:800;
  color:var(--accent);line-height:1;
}
.gcb-stat .l{
  font-size:.65rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-muted);
  margin-top:4px;
}

/* ═══════════════════════════════
   BOTÕES DE CONTATO
═══════════════════════════════ */
.gcb-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:32px;}
.gcb-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 24px;border-radius:var(--radius);
  border:1.5px solid rgba(255,255,255,.2);
  font-family:var(--ff-body);font-size:.9rem;font-weight:600;
  transition:all .2s ease;
  position:relative;overflow:hidden;
  text-align:center;color:var(--text);
  background:var(--surface);
  -webkit-tap-highlight-color:transparent;
}
.gcb-btn::after{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,.06);
  opacity:0;transition:opacity .2s;
}
.gcb-btn:active::after{opacity:1;}
.gcb-btn-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0;}

/* ═══════════════════════════════
   SERVIÇOS / PORTFÓLIO
═══════════════════════════════ */
.gcb-services{padding:56px 0;}
.gcb-services-grid{
  display:grid;grid-template-columns:1fr;gap:12px;
  margin-top:32px;
}
.gcb-service-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.gcb-service-card:active{transform:scale(.98);}
.gcb-service-card.featured{
  border-color:rgba(232,124,30,.35);
  background:linear-gradient(135deg,var(--surface) 0%,rgba(232,124,30,.07) 100%);
}
.gcb-svc-cover{
  width:100%;height:200px;
  object-fit:cover;
  background:var(--surface2);
  position:relative;
}
.gcb-svc-cover-wrap{position:relative;overflow:hidden;}
.gcb-svc-cover-img{
  width:100%;height:200px;object-fit:cover;
  background:var(--dark3);
  transition:transform .4s ease;
}
.gcb-service-card:active .gcb-svc-cover-img{transform:scale(1.03);}
.gcb-svc-no-img{
  width:100%;height:160px;
  display:flex;align-items:center;justify-content:center;
  background:var(--dark3);
  font-size:3rem;
}
.gcb-svc-badge{
  position:absolute;top:12px;right:12px;
  background:var(--accent);color:#fff;
  font-size:.65rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 10px;border-radius:100px;
}
.gcb-svc-body{padding:20px;}
.gcb-svc-num{
  font-family:var(--ff-head);font-size:.7rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);margin-bottom:6px;
}
.gcb-svc-title{
  font-family:var(--ff-head);font-size:1.25rem;font-weight:700;
  text-transform:uppercase;letter-spacing:-.01em;
  color:var(--text);line-height:1.2;margin-bottom:8px;
}
.gcb-svc-desc{
  font-size:.83rem;color:var(--text-muted);
  line-height:1.6;
}
.gcb-svc-tags{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;
}
.gcb-svc-tag{
  font-size:.68rem;font-weight:600;letter-spacing:.06em;
  padding:4px 10px;border-radius:100px;
  background:rgba(232,124,30,.12);
  border:1px solid rgba(232,124,30,.2);
  color:var(--accent-lt);
}

/* Modal portfólio */
.gcb-modal-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;
  background:rgba(0,0,0,.85);
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;
  padding:0;
  opacity:0;pointer-events:none;visibility:hidden;
  -webkit-transition:opacity .3s ease,visibility .3s ease;
  transition:opacity .3s ease,visibility .3s ease;
}
.gcb-modal-overlay.open{opacity:1;pointer-events:all;visibility:visible;}
.gcb-modal{
  background:var(--dark2);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  padding:0 0 env(safe-area-inset-bottom);
  width:100%;max-height:90vh;overflow-y:auto;
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.25,.46,.45,.94);
}
.gcb-modal-overlay.open .gcb-modal{transform:translateY(0);}
.gcb-modal-drag{
  width:40px;height:4px;border-radius:2px;
  background:var(--border);margin:12px auto 0;
}
.gcb-modal-header{padding:16px 20px 0;}
.gcb-modal-title{
  font-family:var(--ff-head);font-size:1.4rem;font-weight:800;
  text-transform:uppercase;color:var(--text);
}
.gcb-modal-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;border-radius:50%;
  background:var(--surface2);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:var(--text-muted);
}
.gcb-modal-gallery{
  display:flex;gap:8px;overflow-x:auto;
  padding:16px 20px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.gcb-modal-gallery::-webkit-scrollbar{display:none;}
.gcb-modal-gallery img{
  width:260px;height:180px;object-fit:cover;
  border-radius:var(--radius);flex-shrink:0;
}
.gcb-modal-body{padding:0 20px 24px;}
.gcb-modal-desc{font-size:.88rem;color:var(--text-muted);line-height:1.7;}
.gcb-modal-cta{margin-top:20px;}

/* ═══════════════════════════════
   SOBRE A EMPRESA
═══════════════════════════════ */
.gcb-about{padding:56px 0;}
.gcb-about-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.gcb-about-photo{
  width:100%;height:220px;object-fit:cover;
  background:var(--dark3);
}
.gcb-about-body{padding:28px 24px;}
.gcb-about-text{font-size:.9rem;color:var(--text-muted);line-height:1.75;}
.gcb-diferenciais{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;margin-top:22px;
}
.gcb-dif{
  background:var(--dark3);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  display:flex;align-items:flex-start;gap:10px;
}
.gcb-dif-icon{font-size:1.4rem;flex-shrink:0;line-height:1;}
.gcb-dif-text{font-size:.78rem;font-weight:600;color:var(--text);line-height:1.3;}

/* ═══════════════════════════════
   DEPOIMENTOS
═══════════════════════════════ */
.gcb-testimonials{padding:56px 0;}
.gcb-testimonials-scroll{
  display:flex;gap:12px;overflow-x:auto;
  padding:4px 0 12px;margin-top:28px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.gcb-testimonials-scroll::-webkit-scrollbar{display:none;}
.gcb-tcard{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:22px 20px;
  min-width:280px;max-width:300px;flex-shrink:0;
}
.gcb-tcard-stars{color:var(--accent);font-size:.85rem;letter-spacing:2px;margin-bottom:12px;}
.gcb-tcard-text{font-size:.85rem;color:var(--text-muted);line-height:1.65;margin-bottom:16px;}
.gcb-tcard-author{display:flex;align-items:center;gap:10px;}
.gcb-tcard-av{
  width:38px;height:38px;border-radius:50%;object-fit:cover;
  background:var(--dark3);border:2px solid var(--border);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
}
.gcb-tcard-nm{font-size:.82rem;font-weight:700;color:var(--text);}
.gcb-tcard-rl{font-size:.72rem;color:var(--text-dim);}

/* ═══════════════════════════════
   CHATBOT / CONTATO
═══════════════════════════════ */
.gcb-chatbot-section{padding:56px 0;}
.gcb-chat-box{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.gcb-chat-header{
  background:var(--dark3);
  padding:16px 20px;
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid var(--border);
}
.gcb-chat-av{
  width:40px;height:40px;border-radius:50%;object-fit:cover;
  background:var(--accent-glow);border:2px solid var(--accent);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;
}
.gcb-chat-agent-name{font-size:.88rem;font-weight:700;color:var(--text);}
.gcb-chat-status{
  font-size:.7rem;color:#4ade80;
  display:flex;align-items:center;gap:4px;
}
.gcb-chat-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ade80;}
.gcb-chat-msgs{
  padding:20px;
  display:flex;flex-direction:column;gap:12px;
  min-height:180px;
}
.gcb-msg{
  max-width:80%;
  padding:10px 14px;
  border-radius:16px;
  font-size:.86rem;line-height:1.5;
  animation:msgIn .3s ease;
}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.gcb-msg-bot{
  background:var(--dark3);
  border:1px solid var(--border);
  color:var(--text);
  border-bottom-left-radius:4px;
  align-self:flex-start;
}
.gcb-msg-user{
  background:var(--accent);
  color:#fff;
  border-bottom-right-radius:4px;
  align-self:flex-end;
}
.gcb-chat-opts{
  display:flex;flex-wrap:wrap;gap:8px;
  padding:0 20px 20px;
}
.gcb-chat-opt{
  padding:8px 14px;border-radius:100px;
  border:1px solid var(--border);
  background:var(--dark3);
  font-size:.8rem;font-weight:600;color:var(--text);
  transition:all .15s;
  -webkit-tap-highlight-color:transparent;
}
.gcb-chat-opt:active{background:var(--accent);border-color:var(--accent);color:#fff;}
.gcb-chat-input-area{
  padding:0 16px 20px;
  display:flex;gap:8px;
}
.gcb-chat-input{
  flex:1;padding:12px 16px;
  background:var(--dark3);border:1px solid var(--border);
  border-radius:100px;
  font-family:var(--ff-body);font-size:.88rem;color:var(--text);
  outline:none;
  transition:border-color .2s;
}
.gcb-chat-input:focus{border-color:var(--accent);}
.gcb-chat-input::placeholder{color:var(--text-dim);}
.gcb-chat-send{
  width:42px;height:42px;border-radius:50%;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:1rem;
  transition:background .2s;
}
.gcb-chat-send:active{background:var(--accent-lt);}
.gcb-typing{
  display:flex;align-items:center;gap:4px;
  padding:10px 14px;
}
.gcb-typing span{
  width:7px;height:7px;border-radius:50%;background:var(--text-muted);
  animation:typing 1.2s infinite;
}
.gcb-typing span:nth-child(2){animation-delay:.2s;}
.gcb-typing span:nth-child(3){animation-delay:.4s;}
@keyframes typing{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}

/* ═══════════════════════════════
   FOOTER
═══════════════════════════════ */
.gcb-footer{
  padding:40px 0 32px;
  border-top:1px solid var(--border);
  text-align:center;
}
.gcb-footer-name{
  font-family:var(--ff-head);font-size:1.1rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--text);margin-bottom:8px;
}
.gcb-footer-txt{font-size:.78rem;color:var(--text-dim);line-height:1.7;}
.gcb-footer-accent{color:var(--accent);}
.gcb-footer-bottom{
  margin-top:24px;padding-top:20px;
  border-top:1px solid var(--border);
  font-size:.7rem;color:var(--text-dim);
}

/* ═══════════════════════════════
   FLOATING WA BUTTON
═══════════════════════════════ */
.gcb-float-wa{
  position:fixed;bottom:24px;right:20px;z-index:900;
  width:56px;height:56px;border-radius:50%;
  background:#25d366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:transform .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.gcb-float-wa:active{transform:scale(.93);}
.gcb-float-wa svg{width:28px;height:28px;fill:#fff;}

/* ═══════════════════════════════
   ADMIN STYLES
═══════════════════════════════ */
.gcb-wrap-admin{padding:24px;}
.gcb-admin-header{
  background:linear-gradient(135deg,var(--dark2),var(--dark3));
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:24px 28px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
  margin-bottom:24px;
}
.gcb-admin-title{
  font-family:var(--ff-head);font-size:1.5rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.04em;
  color:var(--text);
}
.gcb-admin-sub{font-size:.82rem;color:var(--text-muted);margin-top:2px;}
.gcb-stats-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:12px;margin-bottom:24px;
}
.gcb-stat-box{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px 16px;
}
.gcb-stat-box .n{
  font-family:var(--ff-head);font-size:2rem;font-weight:800;
  color:var(--accent);line-height:1;
}
.gcb-stat-box .l{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-top:4px;}
.gcb-stat-box.gcb-novo .n{color:#60a5fa;}
.gcb-stat-box.gcb-contato .n{color:#a78bfa;}
.gcb-stat-box.gcb-neg .n{color:#fb923c;}
.gcb-stat-box.gcb-fechado .n{color:#4ade80;}
.gcb-section-title{
  font-size:.8rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-muted);
  margin:24px 0 12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
}
.gcb-table{width:100%;border-collapse:collapse;font-size:.84rem;}
.gcb-table th{
  background:var(--dark3);
  padding:10px 14px;text-align:left;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-muted);
}
.gcb-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;}
.gcb-table tr:last-child td{border-bottom:none;}
.gcb-table tr:hover td{background:rgba(255,255,255,.02);}
.gcb-badge{
  display:inline-block;padding:3px 10px;border-radius:100px;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;
}
.gcb-badge-Novo{background:rgba(96,165,250,.15);color:#60a5fa;}
.gcb-badge-Contato{background:rgba(167,139,250,.15);color:#a78bfa;}
.gcb-badge-Negociando{background:rgba(251,146,60,.15);color:#fb923c;}
.gcb-badge-Fechado{background:rgba(74,222,128,.15);color:#4ade80;}
.gcb-badge-Perdido{background:rgba(248,113,113,.15);color:#f87171;}
.gcb-select-sm{font-size:.78rem;padding:3px 6px;border-radius:6px;background:var(--surface);color:var(--text);border:1px solid var(--border);}
.gcb-lead-nome-link{font-weight:600;color:var(--accent-lt);text-decoration:underline;text-underline-offset:2px;}
.gcb-lead-nome{font-weight:600;color:var(--text);}
.gcb-lead-wa{font-size:.74rem;color:var(--text-muted);margin-top:2px;}
.gcb-nota-row{background:rgba(232,124,30,.04);font-size:.8rem;color:var(--text-muted);}
.gcb-actions{display:flex;gap:6px;align-items:center;}
.gcb-btn-wa-sm{
  display:inline-block;padding:5px 10px;border-radius:8px;
  background:rgba(37,211,102,.15);color:#4ade80;
  font-size:.74rem;font-weight:600;border:1px solid rgba(37,211,102,.25);
}
.gcb-btn-note-sm{
  padding:5px 10px;border-radius:8px;
  background:var(--surface2);color:var(--text-muted);
  font-size:.74rem;font-weight:600;border:1px solid var(--border);
}
.gcb-nota-form{background:var(--dark3);padding:12px;border-radius:8px;margin-top:6px;}
.gcb-nota-form textarea{width:100%;resize:vertical;min-height:70px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px;font-family:var(--ff-body);font-size:.83rem;}
.gcb-btn-gold{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:var(--radius);
  background:var(--accent);color:#fff;
  font-size:.82rem;font-weight:700;
  transition:background .2s;
}
.gcb-btn-gold:hover{background:var(--accent-lt);}
.gcb-btn-outline{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:var(--radius);
  background:transparent;color:var(--accent);
  border:1.5px solid var(--accent);
  font-size:.82rem;font-weight:700;
}
.gcb-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center;}
.gcb-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:.83rem;}
.gcb-search{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:.83rem;flex:1;min-width:160px;}
.gcb-config-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;}
@media(min-width:900px){.gcb-config-grid{grid-template-columns:1fr 1fr;}}
.gcb-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;}
.gcb-card h2{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:12px;}
.gcb-card-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:16px;line-height:1.5;}
.gcb-field{margin-bottom:14px;}
.gcb-field label{display:block;font-size:.78rem;font-weight:700;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em;}
.gcb-field input,.gcb-field textarea,.gcb-field select{
  width:100%;background:var(--dark3);border:1px solid var(--border);
  color:var(--text);border-radius:8px;padding:9px 12px;
  font-family:var(--ff-body);font-size:.85rem;
}
.gcb-field textarea{resize:vertical;min-height:70px;}
.gcb-info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.82rem;}
.gcb-info-item:last-child{border-bottom:none;}
.gcb-info-item span{color:var(--text-muted);}
.gcb-info-item strong{color:var(--text);}
.gcb-url-box{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--dark3);border:1px solid var(--border);
  border-radius:8px;padding:10px 14px;font-size:.82rem;color:var(--text);
  margin-top:10px;
}
.gcb-alert{padding:10px 14px;border-radius:8px;font-size:.82rem;margin-bottom:10px;}
.gcb-alert-warn{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);color:#fbbf24;}
.gcb-alert-ok{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);color:#4ade80;}
.gcb-how-list{padding-left:18px;font-size:.84rem;color:var(--text-muted);line-height:2;}
.gcb-date{font-size:.78rem;color:var(--text-dim);margin-left:8px;}

/* CRM EXTERNO */
.crm-body{background:var(--dark)!important;color:var(--text);min-height:100vh;}
.crm-login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.crm-login-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:36px 28px;
  width:100%;max-width:380px;
}
.crm-login-logo{
  font-family:var(--ff-head);font-size:1.2rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--accent);text-align:center;margin-bottom:6px;
}
.crm-login-sub{font-size:.82rem;color:var(--text-muted);text-align:center;margin-bottom:24px;}
.crm-nav{
  background:var(--dark2);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px;
}
.crm-nav-brand{font-family:var(--ff-head);font-size:1rem;font-weight:800;text-transform:uppercase;color:var(--accent);}
.crm-nav-actions{display:flex;align-items:center;gap:12px;}
.crm-tabs{
  display:flex;gap:2px;padding:12px 16px;
  background:var(--dark2);border-bottom:1px solid var(--border);
}
.crm-tab{
  padding:8px 16px;border-radius:8px;
  font-size:.82rem;font-weight:600;color:var(--text-muted);
  transition:all .15s;
}
.crm-tab.active{background:var(--accent);color:#fff;}
.crm-content{padding:16px;}
.crm-leads-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}

/* ═══════════════════════════════
   ANIMATIONS & UTILITIES
═══════════════════════════════ */
.fade-in{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}
.hidden{display:none!important;}

/* ═══════════════════════════════
   RESPONSIVE
═══════════════════════════════ */
@media(min-width:480px){
  .gcb-hero-name{font-size:3.5rem;}
  .gcb-services-grid{grid-template-columns:1fr 1fr;}
  .gcb-service-card.featured{grid-column:span 2;}
}
@media(min-width:640px){
  .gcb-services-grid{grid-template-columns:repeat(2,1fr);}
  .gcb-service-card.featured{grid-column:span 2;}
  .gcb-diferenciais{grid-template-columns:repeat(2,1fr);}
}

/* CRM EXTERNO */
.crm-stats-bar{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid var(--border);}
.crm-stat-cell{-webkit-box-flex:1;-ms-flex:1;flex:1;background:var(--dark2);padding:12px 8px;text-align:center;}
.gcb-btn-full{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.gcb-hero-label-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:16px;}
.gcb-hero-avatar-icon{font-size:2.5rem;background:var(--accent-glow);}
.gcb-hero-logo-wrap{position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto 24px;}

/* ═══════════════════════════════
   CARROSSEL DE VIDEOS
═══════════════════════════════ */
.gcb-videos-section{
  padding:56px 0;
}
.gcb-vid-carousel-wrap{
  position:relative;
  margin-top:28px;
}
.gcb-vid-carousel{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:4px 16px 12px;
}
.gcb-vid-carousel::-webkit-scrollbar{display:none;}

.gcb-vid-card{
  -ms-flex-negative:0;
  flex-shrink:0;
  width:280px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  scroll-snap-align:start;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.gcb-vid-card:active{
  transform:scale(.97);
}
@media(min-width:480px){
  .gcb-vid-card{width:300px;}
}

/* thumb */
.gcb-vid-thumb-wrap{
  position:relative;
  overflow:hidden;
  height:160px;
  background:var(--dark3);
}
.gcb-vid-thumb{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.gcb-vid-card:hover .gcb-vid-thumb{
  transform:scale(1.05);
}
.gcb-vid-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.35);
  transition:background .2s;
}
.gcb-vid-card:hover .gcb-vid-overlay{
  background:rgba(0,0,0,.5);
}

/* botao play */
.gcb-vid-play-btn{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:52px;height:52px;
  border-radius:50%;
  background:var(--accent);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  box-shadow:0 4px 20px rgba(232,124,30,.5);
  transition:transform .2s ease,background .2s;
  z-index:2;
}
.gcb-vid-card:hover .gcb-vid-play-btn{
  transform:translate(-50%,-50%) scale(1.1);
  background:var(--accent-lt);
}
.gcb-vid-play-btn svg{
  width:20px;height:20px;
  fill:#fff;
  margin-left:3px;
}

/* info */
.gcb-vid-info{
  padding:14px 16px 16px;
}
.gcb-vid-title{
  font-family:var(--ff-head);
  font-size:1rem;font-weight:700;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:var(--text);
  line-height:1.2;
  margin-bottom:5px;
}
.gcb-vid-desc{
  font-size:.78rem;
  color:var(--text-muted);
  line-height:1.5;
}

/* setas */
.gcb-vid-arrow{
  position:absolute;
  top:50%;transform:translateY(-60%);
  width:36px;height:36px;border-radius:50%;
  background:var(--surface);
  border:1px solid var(--border);
  color:var(--text);
  font-size:1.4rem;line-height:1;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  cursor:pointer;
  z-index:10;
  transition:background .15s,border-color .15s;
  -webkit-tap-highlight-color:transparent;
}
.gcb-vid-arrow:hover{
  background:var(--accent);
  border-color:var(--accent);
}
.gcb-vid-prev{left:4px;}
.gcb-vid-next{right:4px;}

/* dots */
.gcb-vid-dots{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  gap:6px;
  margin-top:14px;
  padding:0 16px;
}
.gcb-vid-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--border);
  cursor:pointer;
  transition:background .2s,transform .2s;
  border:none;padding:0;
}
.gcb-vid-dot.active{
  background:var(--accent);
  transform:scale(1.35);
}

/* modal do player */
.gcb-vid-modal-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  z-index:999999;
  background:rgba(0,0,0,.92);
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  padding:16px;
  opacity:0;visibility:hidden;pointer-events:none;
  -webkit-transition:opacity .3s ease,visibility .3s ease;
  transition:opacity .3s ease,visibility .3s ease;
}
.gcb-vid-modal-overlay.open{
  opacity:1;visibility:visible;pointer-events:all;
}
.gcb-vid-modal{
  width:100%;max-width:640px;
  background:var(--dark2);
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  -webkit-transform:translateY(20px);
  transform:translateY(20px);
  -webkit-transition:transform .3s ease;
  transition:transform .3s ease;
}
.gcb-vid-modal-overlay.open .gcb-vid-modal{
  -webkit-transform:translateY(0);
  transform:translateY(0);
}
.gcb-vid-modal-close{
  position:absolute;top:10px;right:10px;
  z-index:10;
  width:32px;height:32px;border-radius:50%;
  background:rgba(0,0,0,.7);
  color:#fff;font-size:.9rem;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  cursor:pointer;border:none;
  transition:background .15s;
}
.gcb-vid-modal-close:hover{background:var(--accent);}
.gcb-vid-modal-title{
  padding:14px 48px 14px 16px;
  font-family:var(--ff-head);font-size:.95rem;font-weight:700;
  text-transform:uppercase;color:var(--text);
  border-bottom:1px solid var(--border);
}
.gcb-vid-iframe-wrap{
  position:relative;
  padding-top:56.25%; /* 16:9 */
  background:#000;
}
.gcb-vid-iframe-wrap iframe{
  position:absolute;top:0;left:0;
  width:100%;height:100%;
  border:none;
}
