/* ============================================================
   CONTACTO — shared shell, adapts accent via toggle
   ============================================================ */
body.contacto{ background:var(--bb-navy); color:var(--bb-pale); }
.contacto .bb-nav{ color:var(--bb-pale); }
.contacto .bb-nav.is-scrolled{ background:rgba(20,25,50,.72); }
.contacto .bb-nav__cta{ color:var(--bb-pale); }
.contacto .bb-nav__cta:hover{ background:var(--bb-pale); color:var(--bb-navy); }

.ct-hero{
  padding:160px var(--gutter) 60px;
  background:radial-gradient(ellipse 80% 60% at 20% 0%, rgba(87,79,244,.32), transparent 60%), var(--bb-navy);
}
.ct-hero .eyebrow{ color:var(--bb-lilac); margin-bottom:22px; }
.ct-hero h1{ font-size:clamp(36px,6.4vw,72px); color:#fff; max-width:800px; }
.ct-hero p{ margin-top:22px; max-width:560px; color:rgba(223,224,252,.75); font-size:17px; line-height:1.6; }

.ct-body{
  padding:0 var(--gutter) 140px;
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px;
  max-width:var(--container); margin:0 auto;
}
@media (max-width:900px){ .ct-body{ grid-template-columns:1fr; } }

/* Type toggle */
.ct-toggle{ display:flex; gap:12px; margin-bottom:36px; }
.ct-toggle input{ display:none; }
.ct-toggle label{
  flex:1; text-align:center; padding:16px; border-radius:var(--radius-m);
  border:1.5px solid rgba(223,224,252,.25); font-family:var(--font-display);
  font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.04em;
  cursor:pointer; transition:.3s;
}
.ct-toggle input:checked + label{ background:var(--bb-purple-2); border-color:var(--bb-purple-2); color:#fff; }
.ct-toggle input#typeLive:checked + label{ background:var(--live-lime); border-color:var(--live-lime); color:var(--bb-navy); }

.ct-form{ display:grid; gap:18px; }
.field{ display:grid; gap:8px; }
.field label{ font-size:13px; font-family:var(--font-display); font-weight:700; letter-spacing:.03em; opacity:.75; }
.field input, .field textarea{
  background:rgba(255,255,255,.06); border:1.5px solid rgba(223,224,252,.18);
  border-radius:var(--radius-s); padding:14px 16px; color:#fff; font-family:var(--font-body);
  font-size:15px; transition:border-color .3s, background .3s;
}
.field input:focus, .field textarea:focus{
  outline:none; border-color:var(--bb-lilac); background:rgba(255,255,255,.09);
}
.field textarea{ min-height:130px; resize:vertical; }
.ct-form .btn{ justify-self:start; margin-top:6px; }

.ct-info{
  background:rgba(255,255,255,.04); border:1px solid rgba(223,224,252,.12);
  border-radius:var(--radius-l); padding:36px; height:fit-content;
}
.ct-info h3{ font-size:20px; color:#fff; }
.ct-info__item{ margin-top:26px; }
.ct-info__item .lbl{ font-family:var(--font-display); font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.5; }
.ct-info__item a, .ct-info__item p{ display:block; margin-top:6px; font-size:15.5px; }
.ct-info__socials{ display:flex; gap:14px; margin-top:26px; }
.ct-info__socials a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(223,224,252,.25);
  display:flex; align-items:center; justify-content:center; font-size:13px;
  transition:.3s;
}
.ct-info__socials a:hover{ background:var(--bb-lilac); color:var(--bb-navy); }
