/* Linbis Chrome v1 — Header D + Footer 1. All classes lbc- prefixed. */

/* ---- suppress the old chrome (v1: hidden, not unhooked) ------------------ */
[data-elementor-type="header"], [data-elementor-type="footer"],
.elementor-location-header, .elementor-location-footer,
.site-header, .site-footer { display: none !important; }

/* ---- tokens -------------------------------------------------------------- */
.lbc-hd, .lbc-drawer, .lbc-ft {
  --lbc-ink: #152047; --lbc-ink2: #4A5470; --lbc-navy: #101A3C;
  --lbc-blue: #2D6BF2; --lbc-pink: #E91E77;
  --lbc-grad: linear-gradient(92deg, #2D6BF2 0%, #8B5CF6 55%, #E91E77 100%);
  --lbc-edge: #E7EAF2;
  font-family: "Segoe UI Variable Text", "Segoe UI", -apple-system, Arial, sans-serif;
  box-sizing: border-box;
}
.lbc-hd *, .lbc-drawer *, .lbc-ft * { box-sizing: border-box; }

/* The theme/builder styles <button> globally (green pills, circles). Chrome
   buttons opt out of ALL of it, then rebuild only what they need below. */
.lbc-hd button, .lbc-drawer button {
  all: unset; box-sizing: border-box; cursor: pointer;
}
.lbc-hd button:focus-visible, .lbc-drawer button:focus-visible {
  outline: 2px solid #2D6BF2; outline-offset: 2px; border-radius: 8px;
}

/* ---- header -------------------------------------------------------------- */
.lbc-hd {
  position: sticky; top: 0; z-index: 99990;
  display: flex; align-items: center; gap: 30px;
  height: 70px; padding: 0 28px;
  background: #fff; border-bottom: 1px solid var(--lbc-edge);
}
.lbc-hd.lbc-scrolled { box-shadow: 0 6px 24px rgba(21, 32, 71, .1); }
body.admin-bar .lbc-hd { top: 32px; }
@media (max-width: 782px) { body.admin-bar .lbc-hd { top: 46px; } }

.lbc-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; white-space: nowrap; }
.lbc-nm {
  font-family: "Segoe UI Variable Display", "Segoe UI", "Arial Rounded MT Bold", Arial, sans-serif;
  font-weight: 800; font-size: 19px; color: var(--lbc-ink); line-height: 1.05; display: block; letter-spacing: .01em;
}
.lbc-tg { display: block; font-weight: 700; font-size: 6.8px; letter-spacing: .26em; }
.lbc-tga { color: var(--lbc-blue); } .lbc-tgb { color: var(--lbc-pink); }

.lbc-nav { display: flex; align-items: center; gap: 4px; }
.lbc-hd .lbc-top, .lbc-drawer .lbc-top {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 11px; border: 0; background: none; cursor: pointer;
  font: 600 14.5px/1 inherit; font-family: inherit; color: var(--lbc-ink);
  text-decoration: none; border-radius: 8px;
}
.lbc-hd .lbc-top:hover, .lbc-hd .lbc-ddbtn:hover { background: #F2F4FA !important; color: #152047 !important; }
.lbc-dd.lbc-open .lbc-ddbtn { background: #F2F4FA; }
.lbc-car { font-size: 10px; opacity: .55; }

.lbc-dd { position: relative; }
.lbc-panel {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px;
  /* the 8px visual gap must not be a hover DEAD ZONE: crossing it closed the
     menu before the pointer reached the links (Carlos hit this on day one) */
  background: #fff; border: 1px solid var(--lbc-edge); border-radius: 12px;
  box-shadow: 0 18px 44px rgba(21, 32, 71, .14);
  padding: 10px; display: none; z-index: 99991;
}
.lbc-panel::before {
  content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px;
}
.lbc-dd:focus-within .lbc-panel, .lbc-dd.lbc-open .lbc-panel { display: block; }
.lbc-panel a {
  display: block; padding: 9px 12px; border-radius: 8px;
  color: var(--lbc-ink); text-decoration: none; font-size: 14px; font-weight: 500;
}
.lbc-panel a:hover { background: #F2F4FA; color: var(--lbc-blue); }

.lbc-right { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.lbc-lang { font-size: 12px; color: var(--lbc-ink2); border: 1px solid #C9CFDD; border-radius: 14px; padding: 3px 10px; white-space: nowrap; }
.lbc-lang a { color: inherit; text-decoration: none; opacity: .75; }
.lbc-lang b { color: var(--lbc-ink); }
.lbc-sep { margin: 0 4px; opacity: .5; }
.lbc-login { font-weight: 600; font-size: 14.5px; color: var(--lbc-ink); text-decoration: none; opacity: .85; white-space: nowrap; }
.lbc-login:hover { opacity: 1; }
.lbc-demolink { font-weight: 600; font-size: 14.5px; color: #2D6BF2; text-decoration: none; white-space: nowrap; }
.lbc-demolink:hover { text-decoration: underline; }
.lbc-demo {
  background: var(--lbc-grad); color: #fff !important; font-weight: 700; font-size: 14.5px;
  padding: 10px 20px; border-radius: 10px; text-decoration: none; white-space: nowrap;
  box-shadow: 0 4px 14px rgba(139, 92, 246, .35);
}
.lbc-demo:hover { filter: brightness(1.06); }

.lbc-hd .lbc-burger { display: none; border: 0; background: none; cursor: pointer; padding: 8px; }
.lbc-burger span { display: block; width: 22px; height: 2.5px; background: var(--lbc-ink); margin: 4.5px 0; border-radius: 2px; }

/* ---- mobile -------------------------------------------------------------- */
@media (max-width: 960px) {
  .lbc-nav, .lbc-login, .lbc-hd .lbc-lang, .lbc-hd .lbc-demo, .lbc-hd .lbc-demolink { display: none; }
  .lbc-hd .lbc-burger { display: block; }
  .lbc-hd { gap: 14px; padding: 0 18px; height: 62px; }
}
.lbc-drawer {
  position: fixed; inset: 62px 0 0 0; z-index: 99989;
  background: rgba(16, 26, 60, .45); overflow-y: auto;
}
body.admin-bar .lbc-drawer { top: 108px; }
.lbc-drawin { background: #fff; padding: 18px 22px 30px; border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; }
.lbc-dgroup { font: 700 11px/1 inherit; font-family: inherit; letter-spacing: .12em; text-transform: uppercase; color: #8891A6; margin: 18px 0 6px; }
.lbc-dtop, .lbc-dlink { display: block; padding: 10px 2px; color: var(--lbc-ink); text-decoration: none; font-weight: 600; font-size: 15.5px; border-bottom: 1px solid #F1F3F8; }
.lbc-dlink { font-weight: 500; font-size: 14.5px; }
.lbc-dact { margin-top: 20px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

/* ---- footer -------------------------------------------------------------- */
.lbc-ft { background: var(--lbc-navy); color: #B9C2DC; font-size: 14px; }
.lbc-ftin { max-width: 1080px; margin: 0 auto; padding: 46px 24px 0; }
.lbc-cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; }
.lbc-ft h4 { color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; }
.lbc-ft a { display: block; color: inherit; text-decoration: none; margin: 7px 0; opacity: .9; }
.lbc-ft a:hover { opacity: 1; color: #fff; }
.lbc-contact b { color: #fff; font-size: 16px; display: block; margin: 10px 0 6px; }
.lbc-contact span { display: block; margin: 3px 0; }
.lbc-brand-ft .lbc-nm { color: #fff; }
.lbc-trust {
  border-top: 1px solid #1E2A55; margin-top: 34px; padding: 16px 0;
  display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; font-size: 12.5px;
}
.lbc-tagline {
  background: var(--lbc-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
  font-weight: 700; letter-spacing: .12em; font-size: 11.5px;
}
.lbc-ft .lbc-lang { border-color: #2A3560; display: inline-flex; align-items: center; }
.lbc-ft .lbc-lang a { display: inline; margin: 0; }
.lbc-ft .lbc-lang b { color: #fff; }
.lbc-brand-ft { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 6px; }
@media (max-width: 840px) { .lbc-cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .lbc-cols { grid-template-columns: 1fr; } }
